TeXML

logiciel informatique
TeXML
Description de l'image TeXML.svg.
Description de l'image TeXML structure.jpg.
Informations
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/

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

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

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

  • 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

 

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

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

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

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

Liens Internet modifier