Developer(s) | Oleg A. Paraschenko |
---|---|
Stable release | December 2010
|
Written in | Python |
Operating system | Cross-platform |
Type | Typesetting |
License | MIT/X Consortium license |
Website | http://www.getfo.org/ |
TeXML [tɛχːml] 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.
TeXML is a further development of a specification originally defined by Douglas Lovell at IBM, where Structure and Transformation have to be distinguished.
at the 1999 annual meeting of the TeX Users Group.[1]
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.
The Document Type Definition (DTD) of the TeXML structure consists of the XML elements:
An example of an XML document, which has already been transformed into the TeXML structure:
<TeXML>
<TeXML escape="0">
\documentclass[a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
</TeXML>
<env name="document">
Misinterpretation of special characters as being functional characters is called "Escaping", thus: $, ^, >
</env>
</TeXML>
The TeXML process transforms XML data which are described in the auxiliary intermediate TeXML structure to TeX:
\documentclass[a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\begin{document}
Misinterpretation of special characters as being functional characters is called "Escaping", thus: \textdollar{}, \^{},
\textgreater{}
\end{document}
Works on the "Data Collection Level" (XML) and on the "Publication Level" (TeX) are supported by different tools, for example: