TeX

Page d'aide sur l'homonymie Pour les articles homonymes, voir Tex.
TeX
Logo

DéveloppeurDonald KnuthVoir et modifier les données sur Wikidata
Première versionVoir et modifier les données sur Wikidata
Dernière version3.14159265 ()[1]Voir et modifier les données sur Wikidata
Dépôtwww.tug.org/svn/texlive/trunkVoir et modifier les données sur Wikidata
Écrit enWEB et PascalVoir et modifier les données sur Wikidata
Environnementmultiplate-forme
TypeLogiciel de composition (d)
Langage de programmation
Langage de balisageVoir et modifier les données sur Wikidata
LicenceLicence publique générale GNU et licence libre permissiveVoir et modifier les données sur Wikidata
Site webhttp://www.tug.org/

TeX est un système logiciel libre de composition de documents, indépendant du matériel utilisé pour la visualisation ou l'impression. Il fut créé à partir de 1977 par le mathématicien et informaticien Donald Knuth, excédé par la piètre qualité de la typographie des logiciels d'édition de l'époque. Il est principalement conçu pour l'édition de documents techniques et est largement utilisé par les scientifiques, particulièrement en mathématiques, physique, bio-informatique, astronomie et informatique. Il est également extensible et permet notamment l'édition de documents plus complexes (affiches, plaquettes publicitaires, partitions musicales...). TeX vient de τεχ, début du mot τέχνη (« art, science », en grec ancien), et se prononce /tɛx/[2] ou /tɛk/, au choix. On écrit parfois TEX au lieu de TeX, le logiciel permettant les mises en forme correspondant au logo.

Origine et historique

Origines du programme

Lorsque le premier volume de The Art of Computer Programming fut publié en 1968, le premier livre de Donald Knuth, celui-ci fut d'abord imprimé par composition par métal chaud, une technique datant du XIXe siècle qui donnait un caractère « ancien » apprécié par Knuth. Cependant lors de la seconde édition du second volume en 1976, le livre entier a dû être réimprimé parce que les éditeurs utilisaient une nouvelle technique appelée photocomposition qui ne fonctionnait plus avec les anciennes polices. En effet, Les anciennes imprimeries avaient été remplacées par des imprimeries à impression photographique. Lorsque Knuth reçut les premiers essais de son deuxième livre, il les trouva horribles[3]. Tant et si bien qu'il décida de résoudre le problème et de réaliser lui-même son outil d'édition typographique qui ne serait d'aucun ressort photographique mais bien informatique[4].

Knuth prévoyait initialement de le terminer en six mois pour la fin de son année sabbatique. Il prendra finalement presque 10 ans, soit de 1977 à 1989. Bien qu'il fût seul à le développer, il reçut cependant de l'aide de nombreux collaborateurs dont Hermann Zapf, Chuck Bigelow, Kris Holmes, Matthew Carter ou encore Richard Southall[5].

Décidant d'aller travailler dans les locaux de Stanford au lieu des laboratoires Xerox de Palo Alto[6], Knuth se mit au travail sur TeX lors du printemps 1977. En tenant comme référence un grand nombre de livres de typographie, notamment ceux de l'ancienne collection Aldine[7], il se mit en tête de retranscrire les anciens caractères dans son programme en utilisant des formules mathématiques. Il tentait alors de comprendre la logique derrière les lettres. C'est ainsi qu'il se mit à travailler sur son propre logiciel de polices de caractères Metafont.

Le premier prototype de TeX fut implémenté pendant l'été 1977 par 2 étudiants de Knuth, MIchael F. Plass et Frank M. Liang, d'après les spécifications qu'il leur avait donné. Il ne contenait initialement que quelques définitions de macro et d'opérations élémentaires sur les boites[8].

Première version

La première version de TeX fut achevée en 1978 par Knuth sur base du prototype. Il était alors implémenté en langage SAIL, un langage de compilation semblable à Algol. Il écrivit le premier manuel utilisateur de 'TeX pendant l'été 78.

Au début de 1979, Trabb Pardo et Knuth commencèrent à planifier une conversion du SAIL au WEB. Cela se traduira par une conversion complète entre 1979 et 1980 faite par Ignacio A. Zabala[Qui ?]. Parallèlement, Knuth sortit la première version de Metafont en 1979.

Deuxième version

En 1982 est publiée une nouvelle version nommée TeX82, pratiquement réécrite de A à Z. Cette version inclut notamment des idées de l'implémentation de 1979 en MESA écrite par Leonidas Guibas, Robert Sedgewick et Douglas Wyatt du centre de recherche Xerox de Palo Alto. L' algorithme de césure (en) original fut remplacé par un nouvel algorithme écrit par Frank Liang en 1983. TeX82 utilisa une représentation à virgule fixe à la place de virgule flottante afin de renforcer la portabilité sur plusieurs hardwares[9]. Knuth inclut également un véritable langage de programmation certifié Turing-complet sous la pression de programmeurs notamment Guy Steele[10].

En août 1989, Donald Knuth entame de nouvelles modifications dans le code de TeX et Metafont. En effet jusque-là, les caractères étaient codés sur 7 bits, ce qui est suffisant pour afficher 128 lettres, soit l'alphabet anglais plus quelques caractères spéciaux, mais nettement insuffisant pour des alphabets étrangers (notamment en Europe et en Asie). Il dut donc réadapter entièrement TeX et Metafont pour fonctionner en 8 bits, soit 256 caractères différents, ce qui le rendit utilisable pour une bonne partie des langues d'Europe occidentale[11]. Il introduisit également dans TeX la capacité à faire la césure dans d'autres langages que l'anglais, basée sur plusieurs idées de Michael J. Ferguson. TeX passa alors dans sa version stable 3.0.

Troisième version

À partir de la version 3, TeX utilisa un système idiosyncratique de numérotation de version, les mises à jour étant indiquées en ajoutant un chiffre supplémentaire après le point décimal, le numéro de version approchant ainsi asymptotiquement le nombre [12]. La version actuelle de TeX est la 3.14159265, la dernière mise à jour datant du 12 janvier 2014[13]. Les caractéristiques essentielles de TeX ont été figées après la version 3.0, et toutes les versions suivantes ne contiennent que des corrections de bugs. Donald Knuth, bien qu'ayant signalé des améliorations possibles, a insisté sur le fait qu'avoir un système fixe qui produira toujours la même sortie est plus important que d'introduire des caractéristiques nouvelles.

Other Languages
العربية: تخ (برمجية)
беларуская: TeX
български: TeX
বাংলা: টেক্স
bosanski: TeX
català: TeX
čeština: TeX
dansk: TeX
Deutsch: TeX
English: TeX
Esperanto: TeX
español: TeX
eesti: TeX
euskara: TeX
suomi: TeX
Gaeilge: TeX
galego: TeX
magyar: TeX
Հայերեն: TeX
Bahasa Indonesia: TeX
italiano: TeX
日本語: TeX
한국어: TeX
lietuvių: TeX
മലയാളം: ടെക്ക്
Nederlands: TeX
norsk: TeX
occitan: TeX
polski: TeX
português: TeX
română: TeX
русский: TeX
srpskohrvatski / српскохрватски: TeX
slovenčina: TeX
slovenščina: TeX
српски / srpski: TeX
svenska: Tex
українська: TeX
اردو: ٹیک
vèneto: TeX
Tiếng Việt: TeX
中文: TeX