Introduction à TEX et LATEX |
||||||
Introduction
CaractèresMathsFontesTablesStructureParagraphesEspaces |
Ces pages ont quelque peu tendance à devenir "culturelles" depuis l'introduction de LyX. Cependant, même dissimulée dans un si bel écrin, la puissance de TEX ne se laisse pas si facilement domestiquer. Certains cas complexes échappent encore à l'interface graphique et demandent à l'utilisateur d'écrire du TEX -- ne serait-ce qu'une ligne.Vouloir comprendre ce qui se passe "sous le capot" est un souhait bien légitime, et qui peut rendre service en plus d'une occasion. Qu'est-ce que TEX ? et LATEX ?TEX est un programme écrit à partir de 1977 par le célèbre informaticien Donald E. Knuth. Alors qu'il était en train de publier le second tome de ses volumes de référence The Art of Computer Programming, il fut horrifié de la mauvaise qualité de la photocomposition. Il décida d'écrire un logiciel qui prendrait en charge les tâches anciennement dévolues aux imprimeurs : juxtaposition des caractères, gestion des blancs et de la mise en page, etc. Le but était d'offrir (le logiciel est du domaine public) au monde notamment scientifique le moyen de réaliser la meilleure qualité de composition possible. Pas la meilleure à une époque donnée, ou pour quelques années. La meilleure possible. TEX (prononcer "tech" -- il s'agit des lettres grecques τ, ε et χ -- τεχνε = art) s'occupe donc de la typographie : production des caractères et des symboles arbitrairement compliqués (exposants multiples, symboles opératoires enchaînes ou imbriqués, "décorations"...). Sous sa forme de base, TEX serait très fruste. Des extensions le rendent plus agréable à utiliser. Parmi celles-ci, LATEX est une des plus répandues. Il procure à TEX un ensemble de macro-commandes permettant la gestion efficace de la présentation globale d'un document, même complexe. LATEX est un "langage à balises" comme HTML, et des convertisseurs très efficaces existent. Possibilités et avantages de TEXTEX procure la plus haute qualité de composition possible. Pour faire ses calculs de mise en page, TEX utilise une unité de longueur qui lui est propre, et vaut environ 1/100e de la longueur d'onde de la lumière visible ! ... Le résultat obtenu est indépendant du système utilisé : TEX génère ses propres fontes (grâce au programme METAFONT) pour garantir une sortie identique quelle que soit la machine. TEX est un standard d'échange de documents : chaque texte réalisé avec TEX peut être transmis au quatre coins du monde sans souci de compatibilité. LATEX est construit sur la base de TEX. Il permet de se concentrer sur l'aspect logique des documents, sans se soucier de leur présentation finale. Le style d'un document ainsi crée peut être facilement modifié par la suite, par exemple pour l'adapter aux exigences d'un éditeur. En deux mots, TEX s'occupe de la composition de la page au niveau des caractères, tandis que LATEX prend en charge la structure et l'aspect global du document. TEX se joue des formules complexes. Il adore cela : il est fait pour ! Par exemple, lorsqu'un caractère est mis en exposant, TEX emploiera une fonte légèrement différente (un peu aplatie) de celle de base, afin d'obtenir le meilleur rendu possible. Ceci est bien sûr automatique. Des programmes satellites de TEX permettent de créer des fichiers PDF, HTML ou PostScript. Et tout ceci est gratuit ! Défauts de TEXIls sont la rançon de sa portabilité. TEX ne connaît que les caractères ASCII purs et durs (d'indice £ 127). Il ignore donc superbement les caractères accentués, et de manière générale tout ce qui est propre à un langage donné. Il faut donc en passer par des codages rébarbatifs tels que \'e, \`a pour obtenir é, à, ... [1] Cela nécessite bien sûr d'employer, par exemple, un correcteur orthographique spécifique. En contrepartie, on accède ainsi à tous les accents : ú, ò, ... et aux majuscules accentuées : à nous les langues forestières ! TEX utilise des fontes
particulières, qu'il
crée lui-même si nécessaire. La famille de caractères de base est le
Computer Modern Roman (cmr) dessiné par Knuth. De nombreuses tailles et
variations (penché, italique, gras, sans serif...) existent. Mais TEX
ne permet pas (directement, du moins [2])
l'utilisation de polices de caractères
exotiques. TEX n'est pas interactif. Aucun espoir de centrer au pifomètre un titre, ou de régler les marges à la souris. Il faut se concentrer sur la conception logique du texte et faire confiance à la composition rigoureuse TEX [3]. Fonctionnement de TEXUne fois installé sur une machine, TEX propose un programme (genre latex.exe [4]) dit compilateur. Celui-ci digère (plus ou moins bien) le fichier source (fichier .tex) de l'utilisateur et le transforme en un fichier .dvi (DeVice Independant) qui est transmis au programme de prévisualisation ("previewer"). Le fichier affiché alors reflète exactement ce qu'il sera à l'impression, quelle que soit l'imprimante (pourvu que TEX soit bien installé). Le schéma est donc le suivant :
Concrètement, voici ce qui va se passer. Imaginons que l'on veuille coder le texte suivant :
Le code TEX correspondant sera le suivant :
La séquence \it{pierres} indique à TEX d'écrire le mot "pierres" en italique. Si le texte précédent est enregistré dans un fichier nommé, disons, test.tex et qu'après avoir lancé le programme latex.exe [5] on tape \input test.tex on obtiendra typiquement un fichier test.dvi qui pourra être affiché par le "previewer" et rendra sensiblement le résultat suivant : On note que TEX a décidé lui-même de l'endroit où couper les lignes, et même les mots. De plus, le texte est justifié (aligné à droite et à gauche), ce qui est le style de composition par défaut de TEX. Où se procurer TEX ?Le choix est vaste. Il faut savoir que TEX n'est jamais proposé seul, mais toujours accompagné d'un ensemble de programmes (une "distribution") qui en rendent l'utilisation plus agréable. Il y a toujours LATEX, qui est incontournable. D'autres programmes permettent p. ex. de fabriquer des fichiers PDF ou HTML, de produire des schémas techniques... Sous LinuxUne distribution a le vent en poupe actuellement, et s'impose tout naturellement aux utilisateurs de Linux. Il s'agit de TeXLive. Si vous vous contentez de (souhaitez ?) faire du TEX "pur et dur" (tel que décrit dans ces pages), TeXLive est fait pour vous. Même si vous passez ensuite (dès le début ?) à LyX [6], ce dernier pourra réutiliser votre installation TeXLive existante. TeXLive n'est peut-être pas installé par défaut sur votre système. Il se compose d'une multitude de paquets ; tous ne sont pas indispensables. Recherchez "texlive" dans votre gestionnaire de paquets (ici Synaptic) : Le paquet texlive-base est un méta-paquet contenant tout le nécessaire à l'installation d'un système TEX de base. Donc avec un simple sudo apt-get install texlive-base ... vous êtes bien parti ! Sous WindowsTeXLive existe pour Windows grâce à l'association GUTenberg [7]. Elle contient un système complet tenant sur un CD-ROM. Vous n'êtes pas sous Linux ; vous avez LARGEMENT le temps d'aller prendre un café pendant l'installation... Mais si vous comptez utiliser LyX (qui lui aussi existe sous Windows), vous devez savoir que contrairement à son homologue Linux, il repose sur une autre distribution que TeXLIive. Il s'agit de la distribution MiKTEX, qui est très recommandable aux utilisateurs de Windows. De plus, elle possède l'intéressante particularité suivante : on peut télécharger seulement un ensemble réduit (24 Mo quand même) appelé "small-MiKTEX", et les extensions ultérieures seront récupérées "à la volée", quand elles deviendront nécessaires. On peut télécharger la version complète MiKTEX ; elle "pèse" 250 Mo. MiKTEX est en Anglais (mais contient des outils adaptés au Français). Liens utiles
BibliographieUne liste très succincte d'ouvrages de prise en main de TEX / LATEX. Selon que vous êtes anglophone, ou pas...
Notes[1] Ceci
n'est vrai qu'en TEX
"pur et dur". En fait, TEX
digèrera vos caractères accentués pour peu que vous ayez pris soin de placer dans le préambule de votre
fichier [2] On peut contraindre TEX à utiliser n'importe quelle fonte "type 1", mais ce n'est pas simple à réaliser. [3] En fait, tout est possible en TEX, mais il s'efforcera de vous empêcher de "cochonner" votre mise en page. [4] Le nom exact, toujours à base de "(la)tex", peut varier selon la distribution. [5] On peut aussi taper directement latex test.tex. [6] Un système remarquable que nous détaillons dans ces pages. [7] GUT = Groupe des Utilisateurs de TEX. |