> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/fr/articles-approfondis/49-the-tex-family-tree-latex-pdftex-xetex-luatex-and-context.md).

# L’arbre généalogique de la famille TeX : LaTeX, pdfTeX, XeTeX, LuaTeX et ConTeXt

L’histoire de LaTeX remonte jusqu’en 1977, lorsque Donald Knuth a compris pour la première fois la nécessité d’un programme de composition typographique de haute qualité. C’est un témoignage remarquable de la qualité de LaTeX que le système qu’il avait conçu à l’époque reste encore aujourd’hui le meilleur outil pour cette tâche, même si de nombreux ajouts utiles ont été faits au fil des décennies. En fait, LaTeX est l’un de ces ajouts au système d’origine développé par Donald Knuth, qui s’appelait [TeX](http://www.tug.org/).

Pour conserver votre crédibilité dans le monde de LaTeX, il faut l’écrire avec un T et un X majuscules, et le prononcer « Lay-Tech ». En effet, le X de TeX est en réalité un Chi majuscule (χ) grec. Latex, avec une capitalisation et une prononciation normales, est un type de caoutchouc !

## Le TeX original

Il existe une grande famille d’outils dérivés de TeX, et leur liste peut, à première vue, ressembler à un ensemble de mots absurdes : LaTeX, pdfTeX, XeLaTeX, LuaTeX, ConTeXt, et ainsi de suite. L’ancêtre de tous ces outils est bien sûr le programme TeX original de Knuth. Il prend un document en texte brut et le transforme en un document magnifiquement composé. Knuth accordait une grande importance à la typographie, et le souci du détail de TeX est évident. Un exemple de document TeX pourrait ressembler à ceci :

```latex
\TeX{} est bon pour composer des mots comme `fjord', `efficiency',
et `fiasco'. Il est également bon pour composer des formules mathématiques comme,
$a^2 + b^2 = c^2$.
\bye
```

Le résultat après passage dans le programme TeX est :

![Texsample.png](/files/ced36df71804c413e5d350177588eff03b99af06)

Remarquez comment les combinaisons de lettres 'fi', 'fj' et 'ff' dans les mots d’exemple se lient harmonieusement, et comment les symboles mathématiques sont bien espacés. À plus grande échelle, TeX fait un très bon travail en coupant les lignes aux bons endroits pour créer un texte bien justifié, avec des césures lorsque nécessaire.

Non seulement il compose le texte de façon élégante, mais il dispose aussi d’un ensemble de commandes, comme `\bye` et `\TeX` dans l’exemple ci-dessus. Celles-ci peuvent faire des choses simples comme modifier la taille de la police, ou changer la mise en page du texte, ainsi que des choses beaucoup plus puissantes comme maintenir un décompte des sections pour faire des renvois croisés dans vos pages, ou générer automatiquement une table des matières. Le programme TeX comporte environ 300 commandes intégrées, mais d’autres commandes peuvent y être définies. Donald Knuth a écrit quelque 600 autres commandes utiles à partir de TeX, dans un paquet appelé Plain TeX qui facilite certaines tâches courantes de composition.

## LaTeX

Les commandes de TeX et de Plain TeX restent assez basiques et il n’est pas facile de réaliser des choses compliquées avec elles. Pour faciliter cela, Leslie Lamport a créé [LaTeX](http://www.latex-project.org/) au début des années 1980 afin de fournir un langage de plus haut niveau que TeX pour travailler. LaTeX est un ensemble de commandes définies en fonction des commandes TeX sous-jacentes, souvent à de très nombreux niveaux d’abstraction. Toutes les commandes que vous utilisez dans un document LaTeX ne sont en réalité que des ensembles compliqués de commandes TeX en dessous, sauf bien sûr si vous utilisez directement une commande TeX ! Des concepts comme les paquets (`\usepackage{...}`), les environnements (`\begin{environment} ... \end{environment}`), et les classes de documents (`\documentclass{...}`) ont tous été introduits par Leslie Lamport dans LaTeX.

En créant un système standardisé de paquets pour LaTeX, Leslie Lamport a permis à la communauté de devenir immense. Il existe désormais des milliers et des milliers de paquets LaTeX disponibles pour vous permettre de composer absolument tout, des sous-figures aux motifs de tricot. Il existe aussi de nombreuses classes de documents pour différents types de documents, que vous rédigiez un livre, un compte rendu de laboratoire ou un CV. De nombreux éditeurs et revues ont leurs propres classes de documents personnalisées qui mettent en forme leurs documents comme ils le souhaitent.

## pdfTeX

Le programme TeX est remarquablement stable pour un logiciel de plus de 20 ans ; Knuth a déclaré qu’il était complet en termes de fonctionnalités en 1989, et seules des corrections de bogues ont été apportées depuis. Bien sûr, cela n’a pas empêché le développement important et continu de LaTeX, puisque celui-ci est écrit en TeX lui-même. En fait, la stabilité de TeX a permis à des paquets comme LaTeX, construits par-dessus, de prospérer.

Cela ne veut pas dire que le programme TeX sous-jacent n’ait connu aucune avancée au cours des 20 dernières années. Loin de là, en fait ; c’est simplement que des améliorations ont été apportées à côté de TeX, tandis que le TeX original est resté stable. L’amélioration la plus importante des années 1990 a été la création de [pdfTeX](http://www.tug.org/applications/pdftex/) par Hàn Thế Thành pour sa thèse de doctorat. Le programme TeX original produit le document composé dans un format personnalisé appelé DVI (format DeVice Independent), qui peut ensuite être transformé en fichier PostScript pour l’impression. Cependant, le format PDF est apparu en 1993 et nous pouvons aujourd’hui voir qu’il a clairement gagné en tant que meilleur format face à PostScript. Il existe de nombreuses fonctionnalités qui rendent le PDF meilleur, comme les liens hypertexte entre les sections, une section de métadonnées qui vous permet d’afficher une table des matières sur le côté gauche de votre visionneuse PDF, et la prise en charge d’une gamme plus large et plus moderne de formats d’image. pdfTeX est une modification de TeX qui lui permet de produire directement du PDF et de tirer parti de ces fonctionnalités supplémentaires.

Lorsque vous installez aujourd’hui une distribution LaTeX sur votre système, elle est en réalité livrée avec deux programmes différents : `dossier tex.`et `pdftex`. Elle est également fournie avec deux autres programmes en plus de ceux-ci : `latex` et `pdflatex`, mais ce ne sont en réalité que des wrappers autour de `dossier tex.` et `pdftex` respectivement. Les premiers chargent d’abord les paquets LaTeX avant de traiter votre document, mais restent du TeX en dessous. Si vous exécutez `latex` ou `dossier tex.` alors vous obtiendrez un fichier DVI que vous pourrez convertir en fichier PostScript ou en PDF, mais si vous exécutez `pdflatex` vous obtiendrez directement un PDF.

Dans l’ensemble, `pdftex` et `pdflatex` sont des améliorations par rapport à `dossier tex.` et `latex`, mais il y a un inconvénient. Le TeX original et le format DVI prennent en charge les fichiers Encapsulated PostScript (`.eps`) car ils peuvent facilement être inclus dans des fichiers PostScript (produits en convertissant `.dvi` les fichiers en PostScript via [`Dvips`](https://www.tug.org/texinfohtml/dvips.html)). Cependant, `pdftex` ne peut pas inclure de fichiers EPS, et vous devriez plutôt utiliser des PDF (qui peuvent être produits à partir de fichiers EPS avec la commande `epstopdf` qui est généralement fournie avec les distributions LaTeX). En contrepartie de cet inconvénient, pdfTeX ajoute la prise en charge des `.png`, `.jpg` et `.pdf` images, alors que le TeX original ne prend en charge que les .eps (via [`Dvips`](https://www.tug.org/texinfohtml/dvips.html)).

## XeLaTeX et LuaTeX

Jusqu’ici, nous avons vu que TeX a évolué de deux façons différentes depuis ses débuts : par l’ajout de commandes plus faciles à utiliser au-dessus du système d’origine (LaTeX), et par des mises à jour du programme sous-jacent pour prendre en charge la sortie PDF (pdfTeX). Cependant, l’histoire ne s’arrête pas là et des efforts continus ont été menés pour moderniser TeX. En 2004 Jonathon Kew a créé [XeTeX](http://tug.org/xetex/), qui est une autre modification du moteur TeX sous-jacent, cette fois pour prendre en charge une gamme plus large de caractères au-delà des simples chiffres et lettres anglais, et pour inclure la prise en charge des formats de police modernes. Cela rend l’écriture dans des langues étrangères beaucoup plus facile, et vous permet aussi d’utiliser dans LaTeX des polices qui n’étaient traditionnellement disponibles que dans votre traitement de texte.

[LuaTeX](http://www.luatex.org/) est une tentative d’étendre le programme TeX original avec un langage de programmation plus sensé. Alors qu’en principe on peut faire absolument n’importe quoi depuis TeX, dans la pratique c’est un langage de programmation très maladroit à utiliser, si tant est qu’on puisse même l’appeler un langage de programmation. Une grande partie des mécanismes internes de LaTeX est compliquée et difficile à comprendre pour les personnes extérieures du fait de devoir travailler uniquement en TeX. LuaTeX est enrichi du langage de script éponyme, Lua, qui est un langage simple et stable, idéal pour écrire des macros complexes. En 2012, il est encore en développement actif et son API est susceptible de changer, mais il reste très utilisable.

## ConTeXt

Nous avons mentionné LaTeX comme une extension des commandes disponibles dans TeX, mais ce n’est pas le seul paquet à avoir étendu TeX de manière significative. [ConTeXt](http://wiki.contextgarden.net/What_is_ConTeXt) est un autre système créé en 1990 par Hans Hagen. LaTeX vise à éviter à l’utilisateur d’avoir à prendre des décisions concernant la typographie et la mise en page (vous tapez `\section` et `\emph` mais vous ne vous souciez pas de ce qu’elles font — cela est laissé à la classe de document ou à la mise en page). En revanche, ConTeXt vise à offrir une interface simple à des fonctionnalités de typographie avancées. Malheureusement, je ne connais pas ConTeXt aussi bien que je le voudrais, donc je ne peux pas vraiment entrer davantage dans les détails, mais si jamais je prends le temps de l’expérimenter davantage, je ne manquerai pas de publier mes conclusions.

Pour terminer sur une note historique, je devrais mentionner [AMSTeX](http://en.wikipedia.org/wiki/AMS-LaTeX) qui était une extension des macros Plain TeX et a été utilisé par l’American Mathematical Society (AMS) de 1982 à 1985. Son héritage survit dans les paquets AMS-LaTeX, qui sont un incontournable de nombreux documents LaTeX : `\usepackage{amsmath}`.

## L’avenir

Que réserve l’avenir à TeX et à LaTeX ? Je ne le sais pas encore, mais comme Alan Kay l’a dit un jour :

> La meilleure façon de prédire l’avenir est de l’inventer.

Avec ShareLaTeX, nous espérons améliorer TeX et LaTeX dans une troisième direction, en apportant des améliorations significatives au flux de travail LaTeX. Malgré ses plus de 20 ans, LaTeX reste largement un programme en ligne de commande qu’il faut utiliser dans un cycle laborieux d’écriture, de compilation et de vérification du résultat. Les méthodes de collaboration ont tendance à passer par des échanges d’e-mails peu pratiques plutôt que par les processus fluides disponibles pour le traitement de texte, comme dans Google Documents.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/fr/articles-approfondis/49-the-tex-family-tree-latex-pdftex-xetex-luatex-and-context.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
