Typtx.pl

Présentation

Typtx.pl est un script Perl qui permet d'utiliser le système de mise en page LaTeX pour générer un document pdf irréprochablement composé, à partir d'un texte brut, sur Mac OS X et Linux. Typtx.pl prend en entrée un fichier de texte simple et génère un fichier pdf, en prenant en charge toutes les tâches intermédiaires. Les mises en forme voulues sont simplement indiquées dans le texte par des balises entre accolades: les mots qui doivent être en italique sont entourés par {i}, les titres de chapitres par {ch}, les passages de texte justifiés à gauche par {gauche}, etc.

A partir d'un texte brut comme celui-ci :

texte

Le script produit un fichier pdf composé par LaTeX:

pdf

Utilisation du script

Une distribution LaTeX doit être déjà installée pour que le script fonctionne. Sur Mac, la distribution consacrée est celle du TeX Users Group (l'installation par défaut est entièrement automatique).

Typtx.pl peut être lancé dans un terminal en tapant la commande avec ses arguments; on peut aussi le lancer, sur Mac, en cliquant sur un raccourci qui ouvrira une fenêtre du Terminal. Dans ce dernier cas il suffit ensuite de faire un glisser-déposer du fichier texte dans la fenêtre. C'est la méthode la plus simple (voir le guide pour Mac ).

Options

Typtx.pl est lancé avec des options de mise en page qui seront appliquées à l'ensemble du document (type de caractère, taille de référence, espacement des lignes, etc.). On peut les spécifier par la ligne de commande, ou dans un fichier de préférences, qui est un fichier texte comportant une option par ligne. (voir le petit-manuel pour la liste des options et l'emplacement du fichier de préférences). Si aucune option n'est donnée, ce sont les options par défaut qui sont appliquées. L'installation de typtx.pl pour Mac comporte un script permettant de créer le fichier de préférences et d'en placer un raccourci sur le bureau de l'utilisateur (car l'utilisateur est paresseux).

Mise en forme du texte

Le fichier à partir duquel typtx.pl produit un pdf est un fichier de texte brut. Les paragraphes doivent être séparés par une ligne vide; les modifications de format ou de taille, de justification, les notes, et les sauts de ligne ou de page y sont indiqués par des balises entre accolades. Le petit-manuel donne la liste complète des balises disponibles. Des détails sur leur utilisation sont donnés plus bas.

A propos de l'encodage

LaTeX a besoin de connaître l'encodage du fichier qu'il va compiler, pour pouvoir reconnaître les caractères; on doit donc donner cet encodage en option au script. Typtx.pl peut prendre en option trois encodages: applemac, l'encodage par défaut des éditeurs de texte sur Mac (aussi nommé MacOS Roman), latin1, qui correspond à ISO-8859-1, la norme internationale d'encodage pour les alphabets d'Europe Occidentale, et utf8x; (l'UTF-8 permet, en principe, de coder tous les alphabets, mais ça ne signifie pas qu'ils seront reconnus par LaTeX). L'encodage par défaut est applemac.

Mais comment fonctionne typtx.pl ?

Pour générer un fichier pdf, le script effectue les opérations suivantes:

  • Lecture et validation des options.
  • Ecriture des entêtes du fichier source LaTeX (fichier .tex).
  • Lecture du fichier de texte et conversion en code LaTeX.
  • Ecriture de la fin du fichier .tex; vérification des erreurs les plus courantes qui pourraient empêcher la compilation.
  • Lancement de la compilation du fichier .tex par pdflatex.
  • Suppression des fichiers intermédiaires générés par LaTeX et du fichier .tex (sauf si l'option tex a été activée).
  • Ouverture du document pdf (uniquement sur Mac).

Téléchargement

Typtx.pl a été testé sur Mac (il fonctionne avec les distributions gwTeX et MacTeX), et sur Debian Sarge (distribution teTeX). Pour Mac, un programme d'installation est disponible dans cette image disque:

-> typtx.dmg

Ce programme d'installation copie dans le dossier /Applications/Typtx/ le script, la documentation et deux fichiers: typtx.command pour lancer le script et install_prefs.command pour créer un fichier de préférences et un raccourci de ce fichier sur le bureau.
Le script et la documentation sont aussi disponibles dans un fichier zip:

-> typtx.zip


Détails sur l'utilisation, les options et les balises

Lancement du script

Si on lance le script par le raccourci ou sans argument, il réclame le chemin d'accès du fichier de texte à convertir; on peut alors faire un glisser-déposer du fichier ou écrire son chemin d'accès - ce seront alors les options du fichier de préférences qui seront appliquées. Si on tape la commande avec ses arguments, le premier argument doit être le chemin d'accès du fichier de texte, et les suivants les options (leur ordre est indifférent). Les options données par la ligne de commande supplantent celles du fichier de préférences.

Familles et types de fontes

LaTeX n'utilise pas les polices de caractère du système, mais ses propres fichiers. Les fontes disponibles par défaut dans une distribution LaTeX sont donc limitées. Le script peut prendre en option quinze familles de fontes, déclinées en trois types: rmfamily, fontes roman ou avec empattements; sffamily, sans serif ou sans empattements; et ttfamily, fontes typewriter à chasse fixe. Comme on peut le voir dans cette page d'exemples, certaines familles sont apparentées (txfonts et times, pxfonts et palatino) et le nombre total des polices sans serif et typewriter est moins élevé que le nombre de polices avec empattements.

Types de document

La principale différence entre les deux types de documents possibles, article et report, concerne les titres des chapitres: les chapitres du type report peuvent être numérotés (avec l'option chapitre) et sont écrits avec une taille plus grande, tandis que ceux du type article sont écrits en petites majuscules. Pour cette raison, la balise {-ch} (chapitre non numéroté) n'est possible qu'avec le type report. La suppression des numéros de page (option pagenum) ne fonctionne qu'avec le type article.

Erreurs et dysfonctionnements

Avant de lancer la production du pdf, le script vérifie le texte; il s'interrompt s'il trouve des erreurs qui risquent d'empêcher la compilation, et affiche un message décrivant l'erreur rencontrée. Mais il ne peut pas prévoir toutes les erreurs possibles: si le fichier .tex généré par le script est défectueux, la compilation peut s'interrompre ou se bloquer; si elle se bloque, il faut l'interrompre en tapant ctrl-z ou en fermant la fenêtre du terminal, et trouver d'où vient l'erreur. Une solution est de produire seulement le fichier source LaTeX (grâce à l'option tex) et de le compiler dans un terminal pour pouvoir lire le message d'erreur.
Le grec ancien peut éventuellement être traité grâce à la balise {gr} et à l'option utf8x, (le fichier de texte doit être encodé en UTF-8) mais le résultat dépendra des fontes grecques présentes dans la distribution LaTeX.

Chemin d'accès de pdflatex

Le script cherche pdflatex, le programme qui compile le document source LaTeX, dans plusieurs répertoires (qui correspondent aux distributions gwTeX et MacTeX sur Mac et teTeX sur Debian), et s'il ne le trouve pas, le cherche dans le PATH courant. Dans le cas où il serait encore introuvable, on peut le donner en option sous la forme pdflatex:/chemin/d'accès/pdflatex


Le 20 mars 2007
Contact: jean at lotophages point org