TeXML
![Page d’aide sur l’homonymie](http://upload.wikimedia.org/wikipedia/commons/thumb/a/a9/Logo_disambig.svg/20px-Logo_disambig.svg.png)
Pour les articles homonymes, voir TeXML (homonymie).
![Description de l'image TeXML.svg.](http://upload.wikimedia.org/wikipedia/commons/thumb/d/db/TeXML.svg/langfr-120px-TeXML.svg.png)
![Description de l'image TeXML structure.jpg.](http://upload.wikimedia.org/wikipedia/commons/thumb/0/02/TeXML_structure.jpg/220px-TeXML_structure.jpg)
Développé par | Oleg A. Paraschenko |
---|---|
Dernière version | décembre 2010 |
Environnement | multiplate-forme |
Type | mise en page |
Licence | Licence MIT |
Site web | http://www.getfo.org/ |
modifier - modifier le code - voir Wikidata (aide)
TeXML [tɛχːml] est – en tant que procédé – une solution alternative à la technique XSL-FO, basée sur TeX.
TeXML a été mis au point en tant que projet OpenSource avec pour objectif de représenter automatiquement les données XML avec une mise en page de haut niveau sous forme PDF.
À l'aide d'une définition de structure supplémentaire, TeXML permet de surmonter les différences de syntaxe entre TeX et XML.
Sur le plan technique, les éléments de balisage TeX sont représentés en syntaxe XML.
Développement
TeXML est un perfectionnement de la spécification élaborée à l'origine par IBM, qui fait la différence entre Structure et Transformation.
- Structure
- La définition XML de la structure TeXML est considérée comme définitive depuis 1999 (via
TeXML.dtd
). - Elle constitue le maillon de balisage reliant TeX et XML.
- La définition XML de la structure TeXML est considérée comme définitive depuis 1999 (via
- Transformation
- Les procédés de transformation fonctionnent de manière stable depuis la fin de l'année 2010, afin de rendre possible une utilisation productive de la technologie.
- La tentative d'une application Java effectuée à l'origine par IBM a été abandonnée et n'a pas été poursuivie.
Application
TeXML est utilisé pour réaliser de la documentation technique à partir de données XML.
Après la transformation TeXML → TeX, toute la gamme de macros TeX définie via LaTeX est disponible.
À l'aide de macros TeX, il est possible pour la publication de données XML de définir n'importe quelle mise en page configurable.
Particularités
- TeXML permet la publication automatique de données XML à l'aide d'un logiciel de mise en page conçu pour la mise en page manuelle.
- Contrairement à la publication utilisant la technique XSL-FO, la mise en page des données XML à publier peut être finement modulée avec des règles d'exception dans le code intermédiaire.
- Les règles d'exception peuvent être apprises par le procédé de publication, la mise en page est améliorée avec chaque cycle de génération.
- Les procédés de publication haute vitesse, particulièrement en cas de documents volumineux, peuvent multiplier la vitesse jusqu'à 100 fois par rapport aux procédés basés sur XSL-FO.
Structure TeXML
![](http://upload.wikimedia.org/wikipedia/commons/0/02/TeXML_structure.jpg)
La DTD de la structure TeXML se compose des éléments XML suivants :
- Élément racine : TeXML
- Commandes d'encodage : cmd
- Environnements d'encodage : env
- Groupes d'encodage : group
- Groupes d'encodage mathématiques : math et dmath
- Symboles de commande d'encodage : ctrl
- Symboles spéciaux d'encodage : spec
- Littéraux PDF : pdf
Structure d'un document TeXML
Exemple d'un document XML qui a déjà été transformé en structure TeXML :
<TeXML> <TeXML escape="0"> \documentclass[a4paper]{article} \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} </TeXML> <env name="document"> L'interprétation erronée de caractères spéciaux en tant que caractères de commande d'appel est appelé « échappement ». Par exemple : $, ^, > </env> </TeXML>
Procédé TeXML
Le procédé TeXML transforme en TeX les données XML disponibles en format intermédiaire TeXML :
\documentclass[a4paper]{article} \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} \begin{document} L'interprétation erronée de caractères spéciaux en tant que caractères de commande d'appel est appelé « échappement ». Par exemple : \textdollar{}, \^{}, \textgreater{} \end{document}
Prise en charge des procédés
Les tâches de saisie (XML) et de publication (TeX) sont prises en charge par différents outils, par exemple :
- Au niveau de la saisie : éditeurs XML
- – Eclipse (logiciel), open source
- – autres éditeurs XML gratuits
- Au niveau de la publication : synchronisation entre le code et le PDF généré à l'aide de pdfSync :
- – PC Windows : éditeur MiKTeX
- – MAC OSX : éditeur TeXShop
Littérature
- Frank Mittelbach The LaTeX Companion – Tools and techniques for computer typesetting
- Michel Goossens The XeTeX Companion – TeX meets OpenType and Unicode
Liens Internet
- SGML/XML and (La)TeX – Esquisses de solutions pour la représentation de XML sous TeX
- TeXML : an XML syntax for TeX – Projet TeXML (Download)
- How to embed pdfsync into pdftex – Synchronisation entre code et PDF
- TeXML : Typesetting XML with TEX – Conception d'origine du projet TeXML
- TeXML : A three-part solution that provides a path from XML into the TeX formatting language – Brève présentation du projet de IBM Research (archive)
Portail des logiciels libres