TeXML

(TeXML)

TeXML-Logo
Basisdaten

Entwickler Oleg A. Paraschenko
Aktuelle Version Dezember 2010
Betriebssystem viele
Kategorie Schriftsatz
Lizenz MIT
http://www.getfo.org/

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

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

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.