
Informaticien de renommée mondiale, Donald knuth entreprend dans le courant des années 70 la rédaction de sa « bible » de la programmation :
The Art of Computer Programming
Les premiers tomes sont composés et imprimés avec les techniques traditionnelles (caractères en plomb) puis arrivent les premières photocomposeuses. Là, il doit se rendre à l'évidence, les derniers tomes n'auront pas l'aspect riche (et précieux) des premiers. Il décide alors de concevoir un système complet d'édition de textes scientifiques qui pourra lui garantir une qualité constante dans le temps (après tout c'est son métier !).
D'emblée il vise un sytème définitif (parfait ?) et conçois deux langages : TeX et Metafont. Son principe est le suivant (j'interpète en partie) : les caractères et les textes seront « gelés » en utilisant un langage (Metafont pour les caractères et TeX pour le texte) dont la syntaxe et le lexique de base n'évolueront pas au cours du temps et ils seront « dégelés » à l'aide de moyens qui pourront évoluer et s'adapter aux besoins.
Ainsi il s'assure :
- la qualité
- la portabilité
- la pérennité
Le code source de Tex et celui de Metafont
ont été remis à l'American Mathematical Society.
Donald Knuth en corrige les bugs (peu nombreux) et pour marquer chaque révision
il ajoute une décimale au numéro de version (actuellement 3.14159 pour
TeX et 2.7182 pour Metafont !). Par ailleurs il représente ces deux langages
par les logos « plaisants » :
|
|
|
Pour permettre l'écriture des formules mathématiques il « pense » les documents finaux (ceux que l'on a dégélés) comme des mosaïques de boîtes enfilées horizontalement ou empilées verticalement, boîtes qui contiennent des caractères ou ... d'autres boîtes. Il faut donc que la syntaxe utilisée dans les documents sources (ceux qui sont gelés) où tout est linéaire (c'est du texte, rien que du texte!) rende compte de cette organisation, pour cela il s'appuie sur la structure logique des expressions mathématiques (en particulier). Voici un exemple :
![]() |
Décomposez l'expression de gauche (dans le final) en boîtes et voyez comment la syntaxe dans l'espression de droite (le source) la restitue.
Le langage TeX étant défini, on peut
bien sûr écrire autre chose que des mathématiques... Pour Metafont,
nous verrons plus tard !
Un livre en français est excellent (il est même traduit en anglais...) pour se familiariser avec la philosophie de TeX :
Le petit Livre de TeX
Raymond Séroul
InterEditions - 1989
Une page du LORIA (INRIA de Lorraine) est consacrée à Knuth,
on y découvre les différents aspects de sa personalité.