TeXML
TeXML is – as a process – a TeX-based alternative to XSL-FO.
TeXML has been developed as an open-source project with the aim to automatically present XML data as PDF with sophisticated layout properties.
By means of an auxiliary structure definition, TeXML overcomes the syntax-based differences between TeX and XML.
Technically, the markup elements of TeX are described by using the XML syntax.
History
TeXML is a further development of a specification originally defined by Douglas Lovell at IBM, where Structure and Transformation have to be distinguished.- Structure
- Transformation
Application
TeXML is used to generate Technical Documentation from XML data.After the transformation TeXML → TeX, the entire LaTeX-defined range of TeX macros is available.
By means of using TeX macros, it is possible to publish XML data having configurable layout options.
Specials
- TeXML allows automatic publication of XML data by means of a typesetting engine, which was originally designed for manual typesetting.
- In contrast to publication using the XSL-FO technique layout properties of XML data can be manipulated by using exception rules in the intermediate code.
- Exception rules are learned by the publication process, the layout properties are thus enhanced with each generation cycle.
- High-speed publishing processes, an increase in speed of up to 100 times compared to XSL-FO based processes, especially in the case of large documents.
TeXML structure
The Document Type Definition of the TeXML structure consists of the XML elements:- Root element: TeXML
- Encoding commands: cmd
- Encoding environments: env
- Encoding groups: group
- Encoding math groups: math and dmath
- Encoding control symbols: ctrl
- Encoding special symbols: spec
- PDF literals: pdf
Composition of a TeXML document
An example of an XML document, which has already been transformed into the TeXML structure:\documentclass
\usepackage
\usepackage
Misinterpretation of special characters as being functional characters is called "Escaping", thus: $, ^, >
TeXML process
The TeXML process transforms XML data which are described in the auxiliary intermediate TeXML structure to TeX:\documentclass
\usepackage
\usepackage
\begin
Misinterpretation of special characters as being functional characters is called "Escaping", thus: \textdollar, \^,
\textgreater
\end
Supporting processes
Works on the "Data Collection Level" and on the "Publication Level" are supported by different tools, for example:- Data Collection Level: XML editors
- Publication Level: synchronization between code and generated PDF by means of pdfSync:
Literature
- Frank Mittelbach – Tools and techniques for computer typesetting
- Michel Goossens – TeX meets OpenType and Unicode