Résumé
La traduction de LATEX vers d'autres formats de fichiers texte correspond à un véritable besoin pour ceux qui écrivent des articles et souhaitent les diffuser le plus largement possible. HEVEA est un logiciel qui réalise ces traductions. Il a été programmé par M. Luc Maranget, et traduit vers l'HTML.
Mon stage a consisté à améliorer et compléter HEVEA, essentiellement en rajoutant d'autres formats de sortie. J'ai ainsi traité les formats texte, info et mathML.
HEVEA travaille en une seule passe sur le fichier LATEX, et produit le résultat avec un minimum de retard par rapport à la lecture du fichier. Ceci le rend très performant en terme de vitesse par rapport à ses concurrents, mais introduit des contraintes de programmation supplémentaires.
Pour commencer, il a fallu mettre au point une interface commune pour les modules de sortie, à partir du programme originel qui traitait uniquement l'HTML et était très dépendant de ce format.
Le traitement des autres formats de fichiers vient ensuite. Le format texte permet d'avoir une sortie en texte formaté. Il faut ici traiter toutes les informations de formatage et les réaliser immédiatement, de la gestion des paragraphes au mode mathématiques qui s'appuie sur la production de tableaux.
La production de fichiers au format info permet de réaliser des manuels. On s'appuie alors sur le mode texte pour le formatage et on rajoute des liens et références.
Puis j'ai produit du MathML. Ce nouveau standard issu de XML permettra de mettre plus facilement des formules à disposition, en gardant la structure logique et avec un rendu optimal.