Bébert.  Accueil Quoi de neuf sur le site ConTeXt LaTeX 1 er rapport MetaFun/TikZ Bibliographie Divers Téléchargement

TeX, LaTeX & ConTeXt
qu'est-ce ? & comment ça marche ?

Fleuron

Donald Knuth est un mathématicien et informaticien américain, professeur émérite à l'université Stanford. Il est l'auteur d'une bible de la programmation intitulée The Art of Computer Programming (TAOCP). Cet ouvrage de plusieurs volumes et de plusieurs millier de pages est toujours en rédaction, le dernier volume le n°4a est paru en 2011. Donald Knuth a prévu 7 volumes, une véritable somme.

De premier volume paru en 1965, a été publié à l'ancienne avec des caractères en plomb. Quand en 1976 Donald Knuth décide de publier la seconde édition du volume 2 de TAOCP, les caractères en plomb ont été abandonné au profit de la photocomposition. Donald Knuth trouve la qualité d'impression de ces machines, médiocre (notamment pour l'écriture des formules mathématiques) et décide de créer deux logiciels pour pouvoir produire ses publications avec une qualité typographique professionnelle. Le premier TeX sert à la composition de documents, le second METAFONT à produire des polices vectorielles. Donald Knuth va mettre plusieurs années avant de sortir en 1983 la version définitive de Tex qui utilise la police Computer Modern qu'il a créé à l'aide de METAFONT. En effet Donald Knuth s'était fixé comme but d’arriver à un produit qui devrait être parfait et qui devrait le rester au cours du temps. C'est cette version qui est toujours utilisée et qui fonctionne depuis 30 ans. Donald Knuth est quand même intervenu sur TeX à plusieurs reprise, notamment en 1989 pour l'adapter aux caractères nécessaires pour la composition de texte avec d'autres langues que l'anglais (version 2.991). La version actuel de TeX est la 3.141592653 (janvier 2021).
L'autre trait de génie de Donald Knuth est de confier TeX à l'American Mathematical Society et d'en faire un logiciel libre. À partir de là d'autres informaticiens vont s'emparer de TeX pour l'adapter (sortie de document au format pdf, utilisation de format d'image inconnue en 1983, adaptation à d'autres langues que l'anglais, ...) et l'enrichir (module permettant la création de formule chimique, de partition musicale, de diagrammes électrique ou physique,...).

TeX, mais qu'est-ce donc ?

TeX est un système de composition de documents. C'est à la foi un langage informatique et un logiciel. Dans un premier temps tu écris ton texte dans lequel tu insères des commandes TeX (qui commencent par un antislash \) qui indiquent des actions typographiques (mettre en gras, sauter une ligne, commencer un nouveau chapitre, … ). Une foi ceci fait il faut à l'aide du logiciel TeX, compiler ton document, c'est à dire exécuter toutes les commandes pour fabriquer ton texte comme souhaité et obtenir le document à imprimer. Les algorithmes utilisé par TeX sont complexe car contrairement à un traitement de texte Wysiwyg, TeX va parcourir tout le texte, pour savoir comment couper les mots et les phrases, où insérer les images, … et il va appliquer des règles typographiques très strictes, afin de fabriquer un document le plus parfait sur la forme. Pour le fond malheureusement TeX est impuissant et il te faudra te débrouiller tout seul.

TeX contient environ 300 commandes de base, dites primitives. Voici comment s'écrit, à l'aide de primitives, le logo de TeX avec le E décalé vers le bas :

T\kern -.1667em\lower .5ex\hbox {E}\kern -.125emX
Comme tu peux le voir ces primitives ne sont pas faciles à utiliser. Donald Knuth les a donc complétées avec environ 600 macros. Une macro est un terme informatique qui désigne un regroupement d'instruction afin d'obtenir une action. Le langage ainsi obtenu constitue ce qu'on appelle un format, et se nomme Plain TeX. La macro Plain TeX pour écrire TeX est \TeX, tout simplement, elle remplace les commandes ci-dessus.

Et LATeX fût.

En 1982 Leslie Lamport un chercheur en informatique américain écrit LATeX (Lamport TeX) un nouveau jeu de macros beaucoup plus simple à utiliser que Plain TeX. C'est un succès et pratiquement plus personne n'utilise Plain TeX. L'apparition des packages qui permettent facilement d'augmenter les fonctionalités ont rendu LATeX incontournable. La version actuelle de LaTeX est la LATeX2ε qui date de 1994, elle est maintenue par le LATeX3 Project team qui nous prépare la version 3 de LATeX depuis 20 ans !

À la fin des année 90, Hàn Thế Thành crée le moteur pdftex qui permet de sortir les documents au format pdf plus convivial que le format d'origine de TeX le dvi. La dernière version la 1.40.17 date de 2016, pdftex n'est plus développé seuls des corrections de bug y sont apporté.

En 2008 création du moteur XeTeX qui permet d'utiliser les polices installées sur l'ordinateur et de ne pas ce limiter à celles de TeX.

Création du moteur luaTeX qui complète XeTeX et l'ouvre au langage de programation Lua ce qui permet d'étendre les possibilités de TeX, notament d'intégrer dans les macros des morceaux de code Lua. LuaTeX est développé par Taco Hoekwater, Hartmut Henkel, Hans Hagen. ConTeXt créé par Hans Hagen est un ensemble de macros (comme Plain TeX ou LaTeX) qui utilise le moteur LuaTeX.