AccueilretourCaractères

Introduction à TEX et LATEX

Le lion à lunettes, symbole de TeX


Introduction

Qu'est-ce ?

Avantages

Défauts

Fonctionnement

Où l'obtenir ?

Liens

Bibliographie

Caractères

Maths

Fontes

Tables

Structure

Paragraphes

Espaces

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.

haut de page


Possibilités et avantages de TEX

TEX 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 !

haut de page


Défauts de TEX

Ils 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.
Pour faire un tract de MJC avec des lettres qui dansent aux couleurs fluo, passez votre chemin. TEX ne sert pas à cela.
(En contrepartie, TEX ne dépend pas de l'installation sur une machine donnée de telle ou telle police.)

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].

haut de page


Fonctionnement de TEX

Une 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 :

fichier source (.tex)

+ commandes TEX

compilation

(latex.exe)

fichier de sortie

(.dvi) prévisualisé

Concrètement, voici ce qui va se passer. Imaginons que l'on veuille coder le texte suivant :

Le go se joue sur un plateau portant un quadrillage de 19x19 soit 361 intersections sur lesquelles sont placées les pièces habituellement appelées pierres. La photographie ci-dessous montre un plateau de bois, mais beaucoup d'autres matériaux sont employés pour la surface de jeu : papier, plateaux de bois épais sur pieds, etc.

Le code TEX correspondant sera le suivant :

Le go se joue sur un plateau portant un quadrillage de 19x19 soit 361 intersections sur lesquelles sont plac\'ees les pi\`eces habituellement appel\'ees \it{pierres}. La photographie ci-dessous montre un plateau de bois, mais beaucoup d'autres mat\'eriaux sont employ\'es pour la surface de jeu : papier, plateaux de bois \'epais sur pieds, etc.

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.

haut de page


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 Linux

Une 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 Windows

TeXLive 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). 

haut de page


Liens utiles

haut de page


Bibliographie

Une liste très succincte d'ouvrages de prise en main de TEX / LATEX. Selon que vous êtes anglophone, ou pas...

  • The TEXBook, D. E. Knuth, Addison-Wesley 1984.
    L'ouvrage de référence par l'auteur du système TEX, qui a la particularité d'être lisible avec profit par les débutants comme par les utilisateurs confirmés.
  • LATEX, a document preparation system, L. Lamport, Addison-Wesley 1994.
    Une introduction concise à l'utilisation de LATEX par l'auteur même de ce système.
  • The LATEX companion, M. Goossens, F. Mittlebach, A. Samarin, Addison-Wesley 1994.
    En quelque sorte, un manuel de référence des principaux packages de LATEX. Très utile.
  • Le petit livre de TEX, R. Seroul, InterEditions 1989.
    Une excellente introduction à TEX en Français. Deux défauts : ne couvre pas LATEX, et l'ouvrage est devenu difficile à trouver malgré une réédition chez Masson en 1997.
  • LATEX guide pratique, C. Rolland, Addison-Wesley 1995.
    À peu près l'équivalent en Français de l'ouvrage de Lamport. Très recommandable.
  • Tout ce que vous avez toujours voulu savoir sur LATEX sans jamais oser le demander, V. Lozano, Framabook 2008.
    Une introduction concise, moderne et qui ne se prend pas au sérieux. Très bon marché... et même gratuite en ligne (ouvrage Libre) !

haut de page


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

\usepackage[T1]{fontenc}

mais il faut savoir que si vous faites parvenir un tel document à un correspondant étranger, celui-ci ne disposera peut-être pas du package fontenc. Il serait courtois de le prévenir que votre fichier l'utilise.

[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.

haut de page