TeX

llenguatge de programació

TeX (o TEX, habitualment pronunciat "tej" o "tek") és un sistema de tipografia desenvolupat per Donald E. Knuth, el qual és molt popular en l'ambient acadèmic, especialment entre les comunitats de matemàtics, físics i informàtics. Ha aconseguit substituir amb escreix troff, un altre programa de tipografia habitual a Unix.[1]

TeX
Modifica el valor a Wikidata

Tipusprogramari de composició tipogràfica, llenguatge de marques, format de fitxer, programari de codi obert i llenguatge de programació Modifica el valor a Wikidata
Versió inicial1978 Modifica el valor a Wikidata
Versió estable
3.141592653 (gener 2021) Modifica el valor a Wikidata
EpònimTechné Modifica el valor a Wikidata
Característiques tècniques
Sistema operatiumultiplataforma Modifica el valor a Wikidata
Escrit enWEB, Pascal i SAIL Modifica el valor a Wikidata
Format de fitxer de lectura
Equip
Creador/sDonald Knuth Modifica el valor a Wikidata
Desenvolupador(s)Donald Knuth Modifica el valor a Wikidata
ProgramadorDonald Knuth Modifica el valor a Wikidata
Premis
Més informació
Lloc webtug.org (anglès) Modifica el valor a Wikidata

TeX és considerat generalment com la millor forma de compondre complexes fórmules matemàtiques, però, especialment en la forma de LaTeX i altres paquets de macros, es pot usar per a moltíssimes tasques de composició de documents. En particular, es pot usar per compondre expressions matemàtiques a les pàgines de la Viquipèdia.

Història

modifica

Donald Knuth, de la Universitat Stanford, va començar a escriure TeX el 1977 perquè se sentia molest amb la decreixent qualitat de la tipografia de la seva obra The Art of Computer Programming. En acte típic de furoner, va voler resoldre els problemes ell mateix i d'una vegada per totes i va començar a dissenyar el seu propi llenguatge de tipografia. Va pensar que podia acabar-lo durant el seu any sabàtic, 1978, una subestimació flagrant, ja que li van caldre vuit anys. El llenguatge es va finalitzar i «congelar» (no es van fer més modificacions) al voltant de l'any 1985. Al prefaci del seu llibre The TeXbook, Knuth escriu: «TeX és un nou sistema d'escriptura de documents dissenyat per a la creació de llibres bonics, i especialment per a llibres que contenen moltes matemàtiques». L'èxit del sistema fou immediat, fins al punt que Gordon Bell va escriure el 1979: «[TeX] és potencialment la invenció més significativa en tipografia d'aquest segle [...] en termes d'importància es podria situar a la vora de la impremta de Gutenberg».[2]

La primera versió de TeX es va escriure usant el llenguatge de programació SAIL que s'executava en una PDP-10 en el sistema operatiu WAITS de la Universitat Stanford. Per a posteriors versions, Knuth va inventar el concepte de programació literària, una forma de produir codi font compilable i documentació amb referències d'alta qualitat (evidentment, escrit en TeX) partint del mateix fitxer original. El llenguatge usat es diu WEB i produeix programes en Pascal.

TeX té un sistema de numeració de versions peculiar. Des de la versió 3, les actualitzacions s'indiquen afegint un número extra al final del decimal, per la qual cosa el número de versió s'aproxima asimptòticament a π. La versió actual és la 3.141592. Això és un reflex del fet que TeX és ara mateix molt estable i només es preveuen petites actualitzacions. Knuth ha indicat que l'«últim canvi final (fet després de la meva mort)» serà canviar el número de versió a π, i que en aquell moment tots els errors que quedin seran considerats característiques.

El sistema tipogràfic

modifica

Les ordres de TeX comencen amb una barra invertida ("\") i els seus arguments s'indiquen mitjançant claus ("{}"). No obstant això, quasi totes les propietats sintàctiques poden canviar-se sobre la marxa, amb el que l'entrada de TeX és una mica difícil d'analitzar llevat del mateix TeX. És un llenguatge basat en ordres bàsiques i macros: moltes ordres, incloses la majoria de les quals defineixen els usuaris, se substitueixen sobre la marxa fins que solament queden ordres bàsiques, que llavors s'executen. La substitució en si mateixa està lliure d'efectes secundaris. La recursió de macros no consumeix memòria i així mateix es disposa de construccions if-then-else (si-llavors-si no). Tot això en fa un llenguatge Turing complet fins i tot al nivell de substitució.

El sistema TeX té un coneixement precís de les grandàries dels caràcters i símbols, i usant aquesta informació calcula l'alineament òptim de lletres per línia i de línies en cada pàgina. Posteriorment produeix un arxiu DVI (de les sigles en anglès device independent, independent del dispositiu) que conté la posició final de tots els caràcters. L'arxiu DVI es pot imprimir directament amb un controlador d'impressora adequat, o pot convertir-se a altres formats. Actualment, pdfTeX s'usa per a generar arxius PDF sense generar un DVI.

La major part de la funcionalitat ve donada per diverses macros: les originals de Knuth englobades en el que es diu plainTeX, LaTeX (majoritari en les ciències tècniques) i ConTeXt (emprat principalment per a publicacions).

La referència principal de TeX són els dues primers volums de l'obra Computers and Typesetting de Knuth: The TeXbook i TeX: The Program (aquest inclou el codi font de TeX complet i documentat). L'organització dels directoris en una instal·lació de TeX està normalitzada en un arbre dit texmf.

Derivats

modifica
 
Tipus de text matemàtic que utilitza TeX i la font AMS Euler.

A partir de TeX s'han creat sistemes de preparació de documents. El més utilitzat i famós és LaTeX, que facilita extraordinàriament la composició de documents amb TeX i s'ha convertit en estàndard en diverses editorials científiques.

Programa d'exemple

modifica

Aquest programa escriu "Hola món" al dispositiu de sortida per defecte,

Hola m\'on!
\bye

Comunitat

modifica

En català hi ha Tirant lo Tex[3] i en castellà CervanTex.[4] Altres entitats destacades de la comunitat TeX són el grup nord-americà TeX Users Group (TUG), que publica TUGboat i The PracTeX Journal, que es fa ressò d'una àmplia gamma de temes en tipografia digital per a TeX. El Deutschsprachige Anwendervereinigung TeX (DANTE) és un gran grup d'usuaris a Alemanya. El TeX Users Group va ser fundat el 1980 amb finalitats educatives i científiques, proporciona una organització per a aquells que tenen interès en la tipografia i el disseny de tipus de lletra, que són usuaris del sistema de tipografia TeX inventat per Knuth. El TeX Users Group representa els interessos dels usuaris de TeX a tot el món. El TeX Users Group publica la revista TUGboat[5] tres vegades l'any; DANTE publica Die TeXnische Komödie quatre vegades l'any. TUG manté una llista completa de la comunitat TEX.[6]

Referències

modifica
  1. «Per Bothner (assistant of Knuth) discusses authorship» (en anglès).
  2. Gaudeul, Alexia. Do Open Source Developers Respond to Competition?: The (La)TeX Case Study (en anglès), 27 març 2006. 
  3. «Tirant lo TeX». [Consulta: 7 octubre 2020].
  4. «CervanTeX | - Grupo de Usuarios de TeX Hispanohablantes». [Consulta: 7 octubre 2020].
  5. «TUGboat - Communications of the TeX Users Group». [Consulta: 7 octubre 2020].
  6. «All TeX User Groups». [Consulta: 7 octubre 2020].

Bibliografia

modifica
  • Norman Walsh. Making TeX Work (en anglès). O'Reilly & Associates, Inc., 1994. ISBN 156592-051-1.  (Republicat sota llicència GFDL)
  • Donald E. Knuth, The TeXbook (Volumen A de la col·lecció Computers and Typesetting), Addison-Wesley, 1984. ISBN 0-201-13448-9. El codi font Arxivat 2007-09-27 a Wayback Machine. del llibre fet en TeX està disponible en el CTAN. Només s'exposa com a exemple i no està permès el seu ús per preparar-hi un altre llibre similar.