TeXML ist – als Prozess – eine auf TeX basierende Alternative zu XSL-FO.
TeXML wurde als Open-Source-Projekt mit dem Ziel entwickelt, XML-Daten automatisch und in anspruchsvollem Layout als PDF darzustellen.
Mit Hilfe einer zusätzlichen Strukturdefinition überbrückt TeXML die Syntax-Unterschiede zwischen TeX und XML.
Technisch werden die Markup-Elemente von TeX im XML-Syntax dargestellt. Entwicklung
TeXML ist eine Weiterentwicklung der ursprünglich von IBM erstellten Spezifikation, wobei zwischen Struktur und Transformation unterschieden werden muss.
Struktur
Die XML-Definition der TeXML-Struktur gilt seit 1999 als abgeschlossen (TeXML.dtd).
Sie ist das Markup-Bindeglied zwischen TeX und XML.
Transformation
Die Transformationsprozesse arbeiten seit Ende 2010 stabil, so dass ein produktiver Einsatz der Technologie möglich ist.
Der ursprünglich versuchte Ansatz einer Java-Anwendung wurde von IBM aufgegeben und nicht weiter verfolgt.
Anwendung
Zur Anwendung kommt TeXML zum Erstellen von Technischer Dokumentation aus XML-Daten.
Nach der Transformation TeXML → TeX steht die durch LaTeX definierte Sammlung von TeX-Makros zur Verfügung.
Mit Hilfe der TeX-Makros ist es möglich für die Publikation von XML-Daten ein beliebig konfigurierbares Layout zu definieren.
Besonderheiten TeXML erlaubt die automatische Publikation von XML-Daten mit Hilfe eines Textsatzprogramms, das für den manuellen Schriftsatz entworfen wurde.
Im Gegensatz zur Publikation mit der XSL-FO Technik kann das Layout der zu publizierenden XML-Daten subtil mit Ausnahmeregeln im Zwischencode beeinflusst werden.
Ausnahmeregeln sind vom Publikations-Prozess erlernbar, das Layout wird also mit jedem Generierungslauf verbessert.
Hohe Geschwindigkeit des Publikations-Prozesses, besonders bei umfangreichen Dokumenten bis 100-fache Geschwindigkeit im Vergleich zu XSL-FO basierten Prozessen.
TeXML-Struktur
mini|link=File:TeXML structure.svg
Die Dokumenttypdefinition der TeXML-Struktur besteht aus den XML-Elementen: Root element: TeXML Encoding commands: cmd Encoding environments: env Encoding groups: group Encoding math groups: math und dmath Encoding control symbols: ctrl Encoding special symbols: spec PDF literals: pdf
Aufbau eines TeXML-Dokuments
Ein Beispiel für ein XML-Dokument, das bereits in die TeXML-Struktur transformiert wurde:
<TeXML> <TeXML escape="0"> \documentclass[a4paper]{article} \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} </TeXML> <env name="document"> Die Fehlinterpretation von Sonderzeichen als Steuerzeichen nennt man "Escaping", also: $, ^, > </env> </TeXML>
TeXML-Prozess
Der TeXML-Prozess transformiert die im Zwischenformat TeXML vorliegenden XML-Daten nach TeX:
\documentclass[a4paper]{article} \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} \begin{document} Die Fehlinterpretation von Sonderzeichen als Steuerzeichen nennt man "Escaping", also: \textdollar{}, \^{}, \textgreater{} \end{document}
Unterstützung der Prozesse
Die Arbeiten auf der Erfassungsebene (XML) und der Publikationsebene (TeX) werden durch verschiedene Werkzeuge unterstützt, beispielsweise:
Erfassungsebene: XML-Editoren – Eclipse (IDE), quelloffen – andere freie XML-Editoren
Publikationsebene: Synchronisation zwischen dem Code und ausgegebenem PDF mit Hilfe von pdfSync:
– Windows PC: Editor MiKTeX – Mac OS X: Editor TeXShop
Literatur
Frank Mittelbach The LaTeX Companion – Tools and techniques for computer typesetting Michel Goossens The XeTeX Companion (PDF; 3,1 MB) – TeX meets OpenType and Unicode
Weblinks SGML/XML and (La)TeX – Lösungsansätze XML als TeX darzustellen TeXML: an XML syntax for TeX – TeXML-Projekt (Download) How to embed pdfsync into pdftex – Synchronisation zwischen Code und PDF TeXML: Typesetting XML with TEX (PDF; 182 kB) – Ursprüngliche Konzeption des TeXML Projekts TeXML: A three-part solution that provides a path from XML into the TeX formatting language – Kurzdarstellung des Projekts von IBM Research (Archiv)
Kategorie:XML-basierte Sprache Kategorie:TeX