TeX

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
TeΧ
TeX logo.svg
Desarrollador
Donald Knuth
http://www.tug.org/
Información general
Última versión estable 3,14159265
Enero de 2014
Género tipografía
Sistema operativo Multiplataforma
Licencia Licencia de software libre con permisos
En español No No
[editar datos en Wikidata ]

\mathbf{T\!_{\displaystyle E} \! X}, escrito como TeX en texto plano, 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[editar]

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 sólo 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[editar]

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[editar]

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[editar]

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[editar]

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 \mathbf{L\!\!^{{}_{\scriptstyle A}} \!\!\!\!\!\;\; T\!_{\displaystyle E} \! X}:

 \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[editar]

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 lenguage 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[editar]

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[editar]

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[editar]

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\cdot a\cdot c} \over {2 \cdot a}}$
 \bye

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

La fórmula cuadrática es  x_{1,2}={-b\pm\sqrt{b^2-4\cdot a\cdot c} \over {2\cdot a}}

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\cdot a\cdot c} \over {2\cdot a}}$$
 \bye

y se vería como

La fórmula cuadrática es
x_{1,2}={-b\pm\sqrt{b^2-4\cdot a\cdot c} \over {2\cdot a}} \,\!

Ejemplos para raíces, derivadas y límites[editar]

Ecuación algebraica de primer grado[editar]

:<math>\sqrt[3]{x+5+2x} = \sqrt[3]{3x+7x+12}</math>
:<math>x+5+2x = 3x+7x+12</math>
\sqrt[3]{x+5+2x} = \sqrt[3]{3x+7x+12}\,
x+5+2x = 3x+7x+12\,

Derivada de un cociente[editar]

:<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
\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 }

Aplicación de Fórmula del cociente

Límites[editar]

:<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}  = 1000 \ \Rightarrow \ </math>  Esto significa que tiende a <math>+\infty</math>
\lim_{x \to 1^+} {1 \over x - 1}  = ?
Solución
 = {1 \over 1,001 - 1}
 = {1 \over 0,001}
\lim_{x \to 1^+} {1 \over x - 1}  = 1000 \ \Rightarrow \ Esto significa que tiende a +\infty

Referencias[editar]

Véase también[editar]

Bibliografía[editar]

Enlaces externos[editar]