TeX

Keywords: TeX, 1978, 1985, 2003, Asíntota, Chi, Comunidad, DVI (TeX), Donald E. Knuth

TEΧ, escrito como TeX cuando se escribe en texto sin formato, es un sistema de tipografía escrito por Donald E. Knuth, el cual es muy popular en el ambiente académico, especialmente entre las comunidades de matemáticos, físicos e informáticos. Ha conseguido sustituir con creces a troff, otro programa de tipografía habitual en Unix.

TeX es generalmente considerado como la mejor forma de componer complejas fórmulas matemáticas, pero, especialmente en la forma de LaTeX y otros paquetes de macros, se puede usar para otras tareas de composición. Se puede usar para componer expresiones matemáticas en las páginas de la Wikipedia: mira Wikipedia:Usando_TeX

Tabla de contenidos

Historia

Knuth empezó a escribir TeX porque se sentía molesto con la decreciente calidad de la tipografía en los volúmenes I-III de su obra El arte de programar ordenadores. En una manifestación del típico impulso hacker de resolver los problemas por si mismo y de una vez por todas, empezó a diseñar su propio lenguaje de tipografía. Pensó que podía acabarlo en su año sabático, 1978; se equivocó por sólo ocho años. El lenguaje se finalizó y congeló (no se hicieron más modificaciones) alrededor de 1985.

Guy Steele coincidió en Stanford en el verano de 1978, cuando Knuth estaba desarrollando su primera versión de TeX. Cuando volvió al MIT a finales de año, reescribió la entrada/salida de TeX para que se ejecutase en el ITS


La primera versión de TeX se escribió usando el lenguaje de programación SAIL que se ejecutaba en una PDP-10 en el sistema operativo WAITS de la Universidad de Stanford. Para posteriores versiones de TeX, Knuth inventó el concepto de programación literaria, una forma de producir codigo fuente compilable y documentación con referencias de alta calidad (por supuesto, escrito en TeX) partiendo del mismo fichero original. El lenguaje usado se llama WEB y produce programas en Pascal.


TeX tiene un sistema de numeración de versiones peculiar. Desde la versión 3, las actualizaciones se indican añadiendo un número extra al final del decimal, por lo que el número de versión se aproxima asintóticamente a π. La versión actual es la 3.14159. Esto es un reflejo del hecho que TeX es ahora mismo muy estable y sólo se preven pequeñas actualizaciones. Knuth ha indicado que el "último cambio final (hecho después de mi muerte)" será cambiar el número de versión a π, y que en ese momento todos los errores que queden serán considerados características.

El sistema tipográfico

Los comandos de TeX empiezan con una barra invertida ("\") y sus argumentos se indican mediante llaves ("{}"). Sin embargo, casi todas las propiedades sintácticas de TeX pueden cambiarse sobre la marcha lo que hace que la entrada de TeX sea algo difícil de analizar por algo que no sea el propio TeX. TeX es un lenguaje basado en comandos básicos y macros: muchos comandos, incluyendo a la mayoría de los que definen los usuarios, se sustituyen sobre la marcha hasta que solo quedan comandos básicos que entonces se ejecutan. La sustitución en sí misma está libre de efectos secundarios. La recursión de macros no consume memoria y las construcciones if-then-else también están disponibles. Esto hace de TeX un lenguaje Turing-completo incluso al nivel de sustitución.


El sistema TeX tiene un conocimiento preciso de los tamaños de los caracteres y símbolos y usando esta información calcula el alineamiento óptimo de letras por línea y de líneas en cada página. Posteriormente produce un fichero DVI (DVI viene de las siglas en inglés device indenpendent, independiente de dispositivo) que contiene la localización final de todos los caracteres. El fichero dvi se puede imprimir directamente con un controlador de impresora adecuado, o puede convertirse a otros formatos. Actualmente, pdfTeX se usa para generar ficheros PDF saltándose la generación del DVI.


La mayor parte de la funcionalidad viene dada por diversas macros: las originales de Knuth englobadas en lo que se llama plainTeX, LaTeX (mayoritario en las ciencias técnicas), y ConTeXt (usado principalmente para publicaciones).


La referencia principal de TeX son los dos primeros volúmenes de la obra Computers and Typesetting de Knuth: The TeXbook y TeX: The Program (éste incluye el código fuente documentado completo de TeX).


La organización de los directorios en una instalación de TeX está estandarizado en un árbol llamado texmf.

Licencia

La licencia permite la libre distribución y modificación pero exige que cualquier versión modificada no se llame TEX, TeX o algo similar fácil de confundir y da derechos similares a aquellos de una marca registrada.

Calidad

Aunque está bien escrito, TeX es tan grande (y tan lleno de técnica avanzada) que se dice haber descubierto al menos un error en cada sistema Pascal en el que se ha compilado ya que TeX se ejecuta en la mayoría de los sistemas operativos.


Knuth ofrece recompensas monetarias para la gente que encuentre e informe de un error en el programa. El premio por error empezó con un centavo y se doblaba cada año hasta que quedó congelado en su valor actual de 327.68 dólares. Esto, sin embargo, no ha hecho pobre a Knuth, porque se han encontrado muy pocos errores y en cualquier caso el cheque probando que el propietario encontró un error en TeX normalmente se enmarca en vez de cobrarlo.

El nombre

El nombre TeX en español se tiene que pronunciar como "tej". El símbolo X es la letra χ del idioma griego. TeX es la abreviatura de τεχνη (techni), del idioma griego "arte" y que también es el origen de la palabra "técnico".

Cuando se está escribiendo un fichero en TeX y se quiere hacer referencia al nombre se dispone del comando \TeX definido como

\hbox{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125ex X} 
 

y fue creado por Knuth para demostrar lo que se podía hacer con TeX. La letra "E" queda por debajo de la línea base y más unida a la T; en los otros sistemas se escribe usando la aproximación "TeX".

Trabajos derivados

Varios sistemas de procesamiento de documentos están basados en TeX entre los que destacan:

Otras extensiones de TeX son por ejemplo: BibTeX para el manejo de bibliografías (distribuido con LaTeX), pdfTeX, que se salta la creación de DVI y genera archivos en PDF, y Omega, que permite a TeX usar el conjunto de caracteres Unicode. Todas las extensiones están disponibles en el CTAN, (Comprehensive TeX Archive Network).

Herramientas compatibles

En sistemas compatibles Unix, TeX se distribuye bajo la forma de la distribución teTeX. En sistemas Windows existe MiKTeX y fpTeX.

El editor de texto TeXmacs es un editor de textos científicos WYSIWYG que pretende ser compatible con TeX. Usa las tipografías de Knuth y puede generar un fichero TeX. Otra herramienta similar es LyX.

TeX y MediaWiki

Desde el 2003, el programa wiki Mediawiki (el usado por Wikipedia) implementa las marcas TeX usando las etiquetas <math>...</math> que encierran bloques de TeX. Esta capacidad es posible gracias a Texvc que básicamente es un guión interpretado que envía las marcas al programa TeX produciéndose un dvi, que con dvips genera un fichero PostScript el cual servirá de base para que Ghostscript cree la imagen PNG. Debido a la naturaleza de la web, esto se lleva a cabo con la seguridad y la eficiencia en mente: permitir que terceras personas pasen texto sin control al sistema TeX es una mala idea si valoras tus datos.

Ejemplos

Un ejemplo simple en TeX - Crea un fichero llamado miprimer.tex que contenga lo siguiente:

hola
 \bye
 


Abre un intérprete de comandos y escribe

tex miprimer.tex
 


TeX creará un fichero llamado miprimer.dvi. Usa un programa adecuado para visualizarlo. MiKTeX por ejemplo contiene el visor yap

yap miprimer.dvi
 


El visor muestra hola en una página. \bye es el comando Tex que marca el final de un fichero y no se muestra en la salida final.


El fichero dvi puede ser impreso directamente desde el visor o convertido a un formato más común tal como PostScript usand el programa dvips.


Los ficheros PDF se pueden crear directamente usando pdfTeX:

 pdftex miprimer.tex
 


pdfTeX fue creado originalmente porque al convertir los PostScript generados en PDF se obtenía una visualización de las tipografías de baja calidad, aunque la impresión era buena. La causa es que TeX usa de forma nativa tipografías Tipo 3 de mapas de bits, que no se visualizan tan bien como las tipografías Tipo 1 escalables.


Es posible actualmente hacer que dvips use las tipografías escalables con un poco de configuración (versiones recientes de Ghostscript lo permiten), pero una conversión directa a PDF tiene otros beneficios: es un proceso en un solo paso, no dos, y pdfTeX incluye cosas tales como marcadores e hipervínculos que no lo tiene PostScript.

Ejemplos matemáticos

Para ver a TeX en acción, prueba a escribir la conocida fórmula de la ecuación cuadrática:

La fórmula cuadrática es ${-b\pm\sqrt{b^2-4ac} \over {2a}}$
 \bye
 

Con el texto de arriba deberías obtener algo que se viese como esto

La fórmula cuadrática es {-b\pm\sqrt{b^2-4ac} \over {2a}}


En un documento, para entrar en el modo matemático se escribe un signo $, a continuación la fórmula de manera que la entienda TeX y se cierra con otro signo $. Otro modo de presentación, que deja la fórmula centrada en una nueva línea, se consigue usando $$. Por ejemplo, la fórmula anterior se escribiría

La fórmula cuadrática es $${-b\pm\sqrt{b^2-4ac} \over {2a}}$$
 \bye
 

y se vería como

La fórmula cuadrática es
{-b\pm\sqrt{b^2-4ac} \over {2a}}

Ver también

Programas relacionados con TeX

Referencias

FOLDOC

Enlaces externos

Fuentes

Keywords: TeX, 1978, 1985, 2003, Asíntota, Chi, Comunidad, DVI (TeX), Donald E. Knuth