TeX

TeX, estilizado como , es un sistema de tipografía escrito por Donald E. Knuth, muy popular en el entorno 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 se considera generalmente la mejor forma de componer fórmulas matemáticas complejas pero, especialmente en la forma de LaTeX y otros paquetes de macros, se puede usar para otras tareas de composición.

Historia 
Knuth empezó a escribir TeX porque se sentía molesto con la calidad cada vez menor de la tipografía en los volúmenes I a III de su obra El arte de programar ordenadores. Empezó por ello a diseñar su propio lenguaje de tipografía. Pensó que podría acabarlo en su año sabático, 1978; se equivocó por tan solo 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 las versiones posteriores de TeX, Knuth inventó el concepto de programación literaria, una forma de producir código fuente compilable y documentación con referencias de alta calidad (por supuesto, escrito en TeX) partiendo del mismo archivo 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 una cifra decimal extra al final, de modo que el número de versión se aproxime asintóticamente a π. La versión más reciente es la 3,14159265 y por ser muy estable solo se prevén 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 

Las órdenes 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, con lo que la entrada de TeX es
algo difícil de analizar salvo por el propio TeX. TeX es un lenguaje
basado en órdenes básicas y macros: muchas órdenes, incluidas la
mayoría de las que definen los usuarios, se sustituyen sobre la marcha hasta
que solo quedan órdenes básicas, que entonces se ejecutan. La sustitución en sí
misma está libre de efectos secundarios. La recursión de macros no consume
memoria y asimismo se dispone de construcciones if-then-else. Todo ello 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 archivo DVI (de las siglas en inglés device independent, independiente del dispositivo) que contiene la posición final de todos los caracteres. El archivo dvi se puede imprimir directamente usando un controlador
de impresora adecuado, o puede convertirse a otros formatos. Actualmente,
pdfTeX se usa para generar archivos 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 de TeX completo y documentado).

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

 Licencia 

La licencia de TeX permite la distribución y modificación libres, pero exige que cualquier versión modificada no se llame TEX, TeX o algo similar, que pueda ser confundido con la versión original. La licencia 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 arruinado a Knuth, porque se han encontrado muy pocos errores y
en cualquier caso el cheque que prueba que el propietario encontró un error en TeX se suele enmarcar en vez de cobrarlo.

 Acerca del nombre 

Donald Knuth explica en su obra The TeXbook que la palabra technology ("tecnología") tiene raíz griega y esta comienza por las letras τεχ. Por tanto, el nombre TeX en español se tiene que pronunciar [tej], y no [teks]. Ello se debe a que TeX no quiere decir TEX sino τεχ, acabado en la letra griega χ [ji]. La misma palabra griega τέχνη (ΤΕΧΝΗ – technē) significa "arte", una referencia a que la técnica no está reñida con el arte ni con la presentación elegante.

Cuando se está escribiendo un archivo en TeX y se quiere hacer referencia al
nombre se dispone de la orden \TeX, definida así:
 \hbox{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125ex X} 
O así en :
 \TeX
y que fue creada por Knuth para demostrar lo que es posible 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; destacan entre ellos:

 LaTeX (su nombre viene de Leslie Lamport, su creador), que incorpora estilos de documento para libros, cartas, transparencias, etc., y añade características de referencias cruzadas y numeración automática de secciones y ecuaciones.
 ConTeXt, creado en su mayoría por Hans Hagen en Pragma, es una herramienta de diseño de documentos profesional basada en TeX. Es más reciente que LaTeX y por ello quizás menos popular.
 AMS-TeX, producido por la Sociedad Matemática Americana, tiene muchas órdenes más cómodas para el usuario, que pueden ser modificadas por las revistas para acomodarse al estilo editorial. La mayoría de las características de AMS-TeX se pueden usar en LaTeX usando los distintos "paquetes" de AMS y se hace referencia a AMS-LaTeX. El manual principal de AMS-TeX se titula The Joy of TeX.
 jadeTeX que usa TeX como base para imprimir desde el sistema DSSSL de James Clark.
 Texinfo, el sistema de preparación de documentación del proyecto GNU.

Todos estos sistemas están escritos en el lenguaje de programación TeX (algunos con complementos en otros lenguajes de programación). Además, hay programas que extienden el lenguaje de programación con nuevas órdenes y capacidades:
 pdfTeX permite crear archivos PDF y añade nuevas funciones tipográficas, como puntuación marginal.
 Omega permite usar Unicode y la escritura en varios sentidos (de derecha a izquierda o de arriba abajo).
 NTS reimplementa TeX en Java y permite extenderlo con nuevas clases.
 LuaTeX combina pdfTeX, Omega y el lenguaje de programación Lua.

Además, hay programas asociados como BibTeX para el manejo de
bibliografías, MakeIndex y xindy para los índices alfabéticos
y Metafont para gráficos.

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 teTeX. En sistemas Windows existen MiKTeX y fpTeX. En sistemas Mac OS X existe MacTeX con utilidades como TeXShop'''.

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 archivo TeX. Otra herramienta similar es LyX.

 Ejemplos 
Un ejemplo simple en TeX: 
crea un archivo llamado miprimer.tex que contenga lo siguiente:
 hola
 \bye
Abre un intérprete de órdenes y escribe
 tex miprimer.tex

TeX creará un archivo llamado miprimer.dvi. Usa un programa adecuado para visualizarlo. Por ejemplo, MiKTeX incluye el visor yap
 yap miprimer.dvi

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

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

Es posible crear directamente archivos PDF usando pdfTeX:
  pdftex miprimer.tex

pdfTeX se creó 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, en lugar de dos, y pdfTeX incluye cosas tales como marcadores e hipervínculos, ausentes en 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\'ormula cuadr\'atica es $x_{1,2}={-b\pm\sqrt{b^2-4\times a\times c} \over {2 \times a}}$
 \bye
Con el texto de arriba deberías obtener algo que se viese como esto
La fórmula cuadrática es 

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\'ormula cuadr\'atica es $$x_{1,2}={-b\pm\sqrt{b^2-4\times a\times c} \over {2\times a}}$$
 \bye

y se vería como
La fórmula cuadrática es

 Ejemplos para raíces, derivadas y límites 
 Ecuación algebraica de primer grado 
:<math>\sqrt[3]{x+5+2x} = \sqrt[3]{3x+7x+12}</math>
:<math>x+5+2x = 3x+7x+12</math>

 Derivada de un cociente 
:<math>\left ( {x^2 \over x^3 +1} \right ) ^\prime = { \left ( x^3 +1 \right ) 
\left ( x^2 \right )^\prime - \left ( x^2 \right ) \left ( x^3 +1 \right ) ^\prime
 \over \left ( x^3 +1 \right )^2 }  </math>
Aplicación de Fórmula del cociente

Aplicación de Fórmula del cociente

 Límites 
:<math>\lim_{x \to 1^+} {1 \over x - 1}  = ? </math>
: Solución
:<math> = {1 \over 1,001 - 1} </math>
:<math> = {1 \over 0,001} </math>
:<math>\lim_{x \to 1^+} {1 \over x - 1}  = +\infty \ \Rightarrow \ </math>  Esto significa que tiende a <math>+\infty</math>

 Solución

 Esto significa que tiende a 

 Referencias 
 FOLDOC (2002-03-11) TeX .

 Véase también 

 Ayuda de Wikipedia: Uso de TeX
 BibTeX, base de datos para referencias bibliográficas.
 CervanTeX, comunidad TeX/LaTeX de habla hispana.
 LaTeX
 LyX, editor gráfico para Tex y LaTeX, multiplataforma.
 Matemáticas
 Metafont y MetaPost
 MiKTeX, distribución libre de Tex/LaTeX para Windows.
 TeX Live, distribución libre de Tex/LaTeX multiplataforma.
 TUG
 WinShell y TeXnicCenter, entornos integrados para Tex/LaTeX, en Windows.

 Bibliografía 

   (Republicado bajo licencia GFDL)
 Donald E. Knuth, The TeXbook (Volumen A de la colección Computers and Typesetting''), Addison-Wesley, 1984. ISBN 0-201-13448-9. El código fuente del libro hecho en TeX está disponible en el CTAN. Solo se expone como ejemplo y no está permitido su uso para preparar otro libro similar.
  (Bajo licencia GFDL)

Enlaces externos 
 CervanTeX: Grupo de Usuarios de TeX Hispanohablantes
 TUG: Grupo de Usuarios de TeX
 Comprehensive TeX Archive Network: Repositorio del código fuente de TeX y centenares de estilos y paquetes. 
 Getting started with LaTeX
 La distribución TeXLive es un inicio fácil para los principiantes. Incluye un DVD multiplataforma que contiene todo el CTAN. Para los usuarios de Windows incluye fpTeX.
 MiKTeX  es una implementación de TeX y programas relacionados para Windows.
 fpTeX es una adaptación de teTeX para Windows.
 Las preguntas frecuentes (FAQ) del Grupo de Usuarios de TeX de UK 
 El proyecto LaTeX
 ConTeXt: El wiki de ConTeXt y la página principal de Pragma
 Omega, la versión preparada para Unicode de TeX.

 
Lenguajes de marcado
Programas de publicación de escritorio
Tipografía
Aplicaciones TeX libres
Lenguajes informáticos