TeXML

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir TeXML (homonymie).
TeXML
Image illustrative de l'article TeXML
Logo

Développeur 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/

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[modifier | modifier le code]

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.
  • 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[modifier | modifier le code]

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[modifier | modifier le code]

  • 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[modifier | modifier le code]

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[modifier | modifier le code]

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[modifier | modifier le code]

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[modifier | modifier le code]

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[modifier | modifier le code]

Liens Internet[modifier | modifier le code]