home
/
latex
/
TeX: Más que un Software, una Filosofía (Parte I)

TeX: Más que un Software, una Filosofía (Parte I)

13 minutos
TeX\TeX es un sistema de composición tipográfica creado por Donald Knuth en la década de 1970 para producir documentos de alta calidad, previo a la existencia del PDF, el internet, el HTML y la impresión digital moderna.

Contenido

EL surgimiento de TeX: Una respuesta a la crisis tipográfica

Para entender TeX, primero debemos viajar a finales de la década de 1960. Todo empieza con el profesor de Stanford Donald Knuth y su ambiciosa obra The Art of Computer Programming. El primer volumen se publicó en 1978 y el segundo cinco años después.
Se puede decir que TeX\TeX nació en el Stanford Artificial Intelligence Laboratory (SAIL), lugar de trabajo de Knuth, como respuesta a la crisis tipográfica que enfrentaba la impresión de libros científicos y matemáticos en esa época, un problema que Knuth se tomó muy personal. Crisis que Donald Knuth y su sana obsesión por la calidad tipográfica no podían tolerar.
Era una obra monumental, repleta de fórmulas matemáticas complejas y diagramas intrincados. Knuth, un perfeccionista obsesionado con la calidad tipográfica, estaba encantado con la impresión del libro.
Hasta aquellos años la creación de documentos matemáticos de alta calidad dependía de una tecnología que había alcanzado su cúspide a finales del siglo XIX: la composición con metal caliente usando dos tipos de máquinas. La máquina de composición Monotype:[1] (Máquinas que fundían caracteres individuales, permitiendo una mayor flexibilidad para la notación matemática) era la que producía los textos matemáticos de mejor calidad hasta entonces.
Lamentablemente para Knuth y afortunadamente para TeX\TeX, en la década de 1970, esta tecnología se volvió obsoleta por razones económicas y fue reemplazada por la fotocomposición.
Esta caída de calidad visual (belleza según Knuth) fue lo que "horrorizó" a Knuth al ver las pruebas del volumen 2 de The Art of Computer Programming, impulsándolo a crear TeX para restaurar digitalmente la calidad de los antiguos maestros artesanos.
Lo anterior lo cuenta el mismo Knuth en un discurso llamado Digital Typography [2], al recibir el premio Kyoto en 1996.
La extensa obra de Knuth: "The Art of Computer Programming" que hizo posible TeX.

La extensa obra de Knuth: "The Art of Computer Programming" que hizo posible TeX.

Knuth, siendo un perfeccionista desde niño, decidió que no podía tolerar eso.

La obsesión con la calidad tipográfica y la composición

Una anécdota famosa de su juventud[3] es cuando ganó un concurso de la compañía de dulces Ziegler's Giant Bar. El reto consistía en formar tantas palabras como fuera posible con las letras de la frase "Ziegler's Giant Bar". Mientras los jueces esperaban unas pocas docenas, el joven Knuth de 13 años, fingiendo dolor de estómago para quedarse en casa y trabajar en ello, encontró metódicamente más de 4,700 palabras, demostrando su temprana obsesión por la combinatoria, las listas y el procesamiento sistemático de datos (incluso antes de tener una computadora).
Otra anécdota contada en el discurso del premio Kyoto [2] habla de su interés por las letras y la tipografía desde muy niño.
De hecho, no solo siempre me han encantado los libros, sino que también me fascinan las letras individuales. Aquí les dejo una página del primer libro del abecedario que tuve de pequeño. Curiosamente, marqué cada serifa con una pequeña x y las conté: la letra K tiene 7 serifas. La letra P tiene 4; la letra O no tiene ninguna.
Donald Knuth
Apuntes de la Conferencia del Premio Kyoto (1996)
Anotaciones de Knuth sobre sus libros infantiles, señalando las serifas de la tipografía. Apuntes de la Conferencia del Premio Kyoto de Donald Knuth (1996)

Anotaciones de Knuth sobre sus libros infantiles, señalando las serifas de la tipografía. Apuntes de la Conferencia del Premio Kyoto de Donald Knuth (1996)

Knuth decide resolver el problema (tipográfico) él mismo

Luego de la decepción al recibir las copias de su libro con las tipografías nuevas tecnologías de la época, empieza a buscar una solución editorial, encontrando en Polonia algunas personas que aún usan la tecnología tipográfica antigua, pero esto resulta casi imposible.
My whole book had been completely retypeset with a different technology. The new fonts looked terrible! The subscripts were in a different style from the large letters, for example, and the spacing was very bad. You can look at books printed in the early 70s and it turns out that if it wasn't simple -- well, almost everything looked atrocious in those days. I couldn't stand to see my books so ugly.
Donald Knuth
An Interview with Donald Knuth (2007)
En aquel entonces Knuth ya trabajaba en el Laboratorio de Inteligencia Artificial de Stanford (SAIL), liderado por nada menos que John McCarthy. Allí tenían una impresora Xerox XPG [4] que era capaz de imprimir con una densidad de 120 puntos por pulgada, mucho mejor que las impresoras de matriz de puntos comunes en esa época aunque no suficientes para producir las tipografías que quería Knuth. En medio de esta búsqueda, febrero de 1977, se topa con las pruebas de la primera edición del libro inteligencia artificial de Patrick Winston [5], que había sido compuesto con una impresora de matriz en la empresa Information International, Inc. (III), con una densidad de 1000 puntos por pulgada. Knuth quedó impresionado por la calidad de impresión, y sobre todo por la técnica. La forma de composición utilizada se basaba en pixeles, era totalmente digital, con puntos de tinta. En lugar de imágenes fotográficas, la impresora usaba algoritmos para calcular la posición exacta de cada punto de tinta en la página. Bits, según dice Knuth en: [6].
Ejemplo de una serie de instrucciones en LISP (izq). Esquema de funcionamiento de la base de datos (der).Páginas 300 y 374, Artificial Intelligence, Patrick H. Winston (1977)

Ejemplo de una serie de instrucciones en LISP (izq). Esquema de funcionamiento de la base de datos (der).Páginas 300 y 374, Artificial Intelligence, Patrick H. Winston (1977)

El problema de imprimir libros hermosos había pasado de ser un problema de metalurgia a un problema de óptica y luego a un problema de ciencias de la computación. Un problema de ceros y unos.
Donald Knuth
Conferencia del Premio Kyoto de Donald Knuth (1996)
Ejemplo de ecuaciones, gráficos y diagramas que sorprendieron a Knuth en 1977. Páginas 9 y 223, Artificial Intelligence, Patrick H. Winston (1977)

Ejemplo de ecuaciones, gráficos y diagramas que sorprendieron a Knuth en 1977. Páginas 9 y 223, Artificial Intelligence, Patrick H. Winston (1977)

En este momento Knuth abandona todo lo que estaba haciendo (iba por las primeras 100 páginas del cuarto volumen de The Art of Computer Programming) y decide resolver el problema él mismo.
Pensó que le tomaría unos meses escribir un programa para solucionar este problema, durante su año sabático de 1978 en Chile (donde también pretendía aprender español). Le tomó casi una década. El resultado fue TeX.
En este punto Knuth se da cuenta de varios problemas, primero que nadie más estaba trabajando en este problema, y segundo que una máquina tipográfica era algo costoso para el presupuesto universitario. Tercero, no se podía pensar en el sistema tipográfico de impresión sin tener las fuentes y símbolos tipográficos necesarios. Knuth tenía que diseñar las formulas matemáticas para describir la forma de las fuentes y caracteres. Trató de buscar ayuda en Xerox, pero la condición era que los derechos de uso de las fuentes que desarrollara fueran de Xerox. Knuth no estaba de acuerdo con esto pensando que una fórmula matemática no podía ser propiedad de nadie[6].
Intenta trabajar con las tecnologías disponibles en SAIL, pero no eran suficientes. Se trataba de capturar la imagen de las fuentes tipográficas con la mejor precisión posible utilizando cámaras de televisión. Esto para poder trazar las fuentes y caracteres con la mayor precisión posible. También lo intentó con la ayuda de su esposa,
fotografiando letras impresas con una cámara de alta resolución y proyectándolas en una pared para poder trazar las curvas a mano alzada, sin embargo no eran lo suficientemente claras. En este intento se da cuenta de algo sencillo: que las fuentes eran diseñadas por personas y se da cuenta que si las personas lo hacen, él podía hacer un programa de computadora que lo hiciera. Así nace METAFONT, el sistema para diseñar fuentes tipográficas mediante algoritmos matemáticos[7] buscando encontrar lo que Knuth llamó la curva más placentera, la cual encontró utilizando expresiones cúbicas.
En el diseño de fuentes tipográficas es importante mencionar a Hermann Zapf, un tipógrafo alemán que diseñó fuentes clásicas como Palatino, Optima y Zapfino, que colaboró en los 80s con Knuth en el diseño de la fuente Computer Modern, la fuente por defecto de TeX[8].
A mediados de 1977 trabajando en el prototipo de TeX, Knuth escribe una nota preliminar describiendo el sistema, donde explica el nombre y propósito de TeX. En mayo de 1977, Knuth diría lo siguiente:
TEX is for technical text. Insiders pronounce the X as a Greek Chi (cf. the Scottish `ch' sound in `Loch Ness') since the word `technical' stems from a Greek root meaning art as well as technology. I am preparing the system primarily for use in publishing my series --The Art of Computer Programming-- the initial system will be tuned for my books, but it will not be difficult to extend it for other purposes if anybody wants to do so.
Donald Knuth
Preliminary preliminary description of TEX (1977)
Hoy en día TeX\TeX es utilizado por importantes editoriales como Addison-Wesley (la de The Art of Computer Programming), Elsevier, Oxford o Springer[9]. Cientos de libros se han publicado usando este sistema y miles de artículos científicos en todo el mundo. Incluso universidades tienen sus tesis en este formato.

¿Pero cómo TeX puede imprimir?

Primero METAFONT definía ecuaciones para las curvas (curvas de Bézier cúbicas) y el grosor del trazo. Esto creaba una "letra ideal" que era independiente de la resolución; existía solo como pura matemática (coordenadas). Para poder imprimir, TeX usaba un proceso llamado "rasterización" que convertía estas definiciones matemáticas en una matriz de puntos (pixeles) que la impresora podía entender. La salida del proceso de compilación consistía de varios archivos, entre esos el archivo DVI (Device Independent) que contenía las instrucciones para colocar cada carácter en la página, y los archivos de fuentes generados por METAFONT.
Es por esto que TeX\TeX compone documentos de alta calidad aún sin la existencia del PDF. Fue concebido para la imprenta. También es importante mencionar que TeX fue diseñado para ser independiente del dispositivo de salida (impresora o pantalla), por lo que un documentos escrito en TeX en 1990, se puede imprimir hoy (o en cien años) sin problemas en una impresora moderna, manteniendo la misma calidad tipográfica.

Breve cronología de TeX y su ecosistema

TeX\TeX es uno de los sofwares más longevos que existen, y su desarrollo ha sido constante desde su creación en los años 70's. Fue inventado en 1978 y la versión "final" (1.0) se lanzó en 1982 conocida como TeX82\TeX 82.
Antecede a varias tecnologías importantes como PostScript (1984) y PDF (1993) así como a el protocolo HTTP, la World Wide Web y el HTML. Ha evolucionado para adaptarse a los nuevos tiempos, incluyendo soporte para Unicode y PDF nativo.

La última versión, los números π\pi y ee

En 1990, Knuth anunció que TeX y METAFONT no iban a cambiar más, sino que solo se les harían pequeñas correcciones de errores. De tal manera que sus versiones nuevas serían numeradas con los decimales de π\pi y ee respectivamente, hasta la fecha de su muerte. En este momento se congelarían las versiones y sería el fin de las actualizaciones del código fuente de TeX\TeX y METAFONT.
La versión actual de TeX es TeX3.14159265\TeX\, 3.14159265 y la de METAFONT es 2.71828182.7182818.
En la parte 2 de este post continuaremos hablando sobre las características de TeX, la particularidad de su nombre, su ecosistema actual y sus aplicaciones.

Referencias

  1. Conferencia del Premio Kyoto de Donald Knuth (1996), https://www.kyotoprize.org/en/lectures/the-1996-kyoto-prize/ (Volver arriba)
  2. Artificial Intelligence, Patrick H. Winston (1977), https://en.wikipedia.org/wiki/Artificial_Intelligence_(book) (Volver arriba)
  3. An Interview with Donald Knuth 1974 ACM Turing Award Recipient (2007), https://amturing.acm.org/pdf/KnuthTuringTranscript.pdf (Volver arriba)
  4. Mathematical Typography, D. E. Knuth, Bulletin of the American Mathematical Society, Volume 1, Number 2, 1979, pp. 337-372., https://projecteuclid.org/journalArticle/Download?urlId=bams%2F1183544082&isResultClick=False (Volver arriba)
  5. 25 Years of TeX and METAFONT: Looking Back and Looking Forward, Nelson Beebe (2003), https://www.tug.org/TUGboat/Articles/tb25-1/beebe-2003keynote.pdf (Volver arriba)