Articulo de referencia

Texas

{{cite web|url=https://ctan.org/tex-archive/systems/knuth/dist/tex |title=CTAN |access-date=December 23, 2025}} "},"latest_release_date":{"wt":"{{start date and age|df=yes|2021|...

TeX ( / t ɛ x / ), estilizado como Te X , es un programa de composición tipográfica de software libre y de código abierto diseñado y escrito por el científico informático y profesor de la Universidad de Stanford, Donald Knuth [ 2 ] , y lanzado por primera vez en 1978. El término ahora se refiere al sistema de extensiones —que incluye programas de software llamados motores TeX, conjuntos de macros TeX y paquetes que proporcionan funcionalidades adicionales de composición tipográfica— construidos en torno al lenguaje TeX original. TeX es un medio popular para componer fórmulas matemáticas complejas ; se ha destacado como uno de los sistemas tipográficos digitales más sofisticados . [ 3 ]

TeX se utiliza ampliamente en el ámbito académico, especialmente en matemáticas , informática , economía , ciencias políticas , ingeniería , lingüística , física , estadística y psicología cuantitativa . Hace tiempo que ha desplazado a Unix troff (el sistema de formato preferido anteriormente) en la mayoría de las instalaciones de Unix (aunque troff sigue siendo el formateador predeterminado de la documentación de UNIX). También se utiliza para muchas otras tareas de composición tipográfica, sobre todo como base para LaTeX , ConTeXt y otros paquetes de macros .

TeX fue diseñado con dos objetivos principales: permitir que cualquier persona produjera libros de alta calidad con un mínimo esfuerzo y proporcionar un sistema que ofreciera exactamente los mismos resultados en todos los ordenadores, en cualquier momento (junto con el lenguaje Metafont para la descripción de fuentes y la familia tipográfica Computer Modern ). [ 4 ] TeX es software libre , lo que lo hizo accesible a una amplia gama de usuarios.

Historia

Cuando se publicó el primer volumen impreso de *El arte de la programación informática* de Knuth en 1968, [ 5 ] se compuso mediante composición tipográfica con tipos móviles en una máquina Monotype . Este método, que data del siglo XIX, produjo un «estilo clásico» apreciado por Knuth. [ 6 ] Cuando se publicó la segunda edición, en 1976, hubo que volver a componer todo el libro porque la tecnología Monotype había sido reemplazada en gran medida por la fotocomposición , y las fuentes originales ya no estaban disponibles. Cuando Knuth recibió las pruebas de imprenta del nuevo libro el 30 de marzo de 1977, las encontró de calidad inferior. Decepcionado, Knuth se propuso diseñar su propio sistema de composición tipográfica.

Knuth vio por primera vez el resultado de un sistema de composición tipográfica digital de alta calidad y se interesó por la tipografía digital. El 13 de mayo de 1977, escribió un memorándum para sí mismo describiendo las características básicas de TeX. [ 7 ] Planeaba terminarlo durante su año sabático en 1978 (aunque finalmente la sintaxis del lenguaje no se congeló hasta 1989 ). Guy Steele se encontraba en Stanford durante el verano de 1978, cuando Knuth estaba desarrollando su primera versión de TeX. Cuando Steele regresó al Instituto Tecnológico de Massachusetts ese otoño, reescribió la entrada/salida ( E/S ) de TeX para que funcionara bajo el sistema operativo Incompatible Timesharing System (ITS). La primera versión de TeX, llamada TeX78, se escribió en el lenguaje de programación SAIL para ejecutarse en un PDP-10 bajo el sistema operativo WAITS de Stanford . [ 8 ]

Para versiones posteriores de TeX, Knuth inventó el concepto de programación literaria , una forma de producir código fuente compilable y documentación con enlaces cruzados, todo ello escrito en TeX a partir del mismo archivo original. El lenguaje utilizado se llama WEB y produce programas en DEC PDP-10 Pascal .

TeX82 , una nueva versión de TeX reescrita desde cero, se publicó en 1982. Entre otros cambios, el algoritmo de división de palabras original fue reemplazado por un nuevo algoritmo escrito por Frank Liang . TeX82 también utiliza aritmética de punto fijo en lugar de punto flotante , para garantizar la reproducibilidad de los resultados en diferentes hardware de computadora, [ 9 ] e incluye un lenguaje de programación real, Turing-completo , tras una intensa labor de cabildeo por parte de Guy Steele. [ 10 ] En 1989, Donald Knuth lanzó nuevas versiones de TeX y Metafont . [ 11 ] A pesar de su deseo de mantener el programa estable, Knuth se dio cuenta de que 128 caracteres diferentes para la entrada de texto no eran suficientes para acomodar idiomas extranjeros; el principal cambio en la versión 3.0 de TeX es, por lo tanto, la capacidad de trabajar con entradas de 8 bits , lo que permite 256 caracteres diferentes en la entrada de texto. TeX3.0 se lanzó el 15 de marzo de 1990. [ 12 ]

Numeración de versiones

Desde la versión 3, TeX ha utilizado un sistema de numeración de versiones peculiar , donde las actualizaciones se han indicado añadiendo un dígito extra al final del decimal, de modo que el número de versión se aproxima asintóticamente a π . Esto refleja el hecho de que TeX es ahora muy estable y solo se anticipan actualizaciones menores. La versión actual de TeX es 3.141592653; se actualizó por última vez en 2021. [ 13 ] El diseño se congeló después de la versión 3.0, y no se añadirá ninguna característica nueva ni cambio fundamental, por lo que todas las versiones más recientes contendrán solo correcciones de errores . [ 14 ] Aunque el propio Donald Knuth ha sugerido algunas áreas en las que TeX podría haberse mejorado, indicó que cree firmemente que tener un sistema sin cambios que produzca la misma salida ahora y en el futuro es más importante que introducir nuevas características. Por esta razón, ha declarado que el "cambio absolutamente final (que se realizará después de mi muerte)" será cambiar el número de versión a π , momento en el que todos los "errores" restantes se convertirán en "características". [ 15 ] Asimismo, las versiones de Metafont posteriores a la 2.0 se aproximan asintóticamente a e (actualmente en 2.7182818), y se aplicará un cambio similar después de la muerte de Knuth. [ 14 ]

Pronunciación y ortografía

El nombre TeX, según su desarrollador, se pronuncia / t ɛ x / , con la consonante final de loch. [ 16 ] Las letras del nombre representan las letras griegas mayúsculas tau , epsilon y chi , ya que TeX es una abreviatura de τέχνη ( ΤΕΧΝΗ technē ), que en griego significa tanto «arte» como «artesanía», y que también es la raíz de la palabra «técnico» . Los angloparlantes suelen pronunciarlo / t ɛ k / , como la primera sílaba de «técnico» . Knuth indica que se escriba con la «E» debajo de la línea base y con un espaciado reducido entre las letras. Esto se hace, como menciona Knuth en su TeXbook , para distinguir TeX de otros nombres de sistemas como TEX, el procesador Text EXecutive (desarrollado por Honeywell Information Systems). [ 17 ]

Sintaxis

Los comandos de TeX suelen empezar con una barra invertida y se agrupan con llaves . Casi todas las propiedades sintácticas de TeX se pueden cambiar sobre la marcha, lo que hace que la entrada de TeX sea difícil de analizar por cualquier cosa que no sea el propio TeX. TeX es un lenguaje basado en macros y tokens : muchos comandos, incluidos la mayoría de los definidos por el usuario, se expanden sobre la marcha hasta que solo quedan tokens no expandibles, que luego se ejecutan. La expansión en sí misma está prácticamente libre de efectos secundarios. La recursión de cola de las macros no consume memoria y las construcciones if-then-else están disponibles. Esto hace de TeX un lenguaje Turing-completo incluso en el nivel de expansión. [ 18 ] El sistema se puede dividir en cuatro niveles: en el primero, los caracteres se leen del archivo de entrada y se les asigna un código de categoría (a veces llamado "catcode", para abreviar). Las combinaciones de una barra invertida (en realidad, cualquier carácter de categoría cero) seguida de letras (caracteres de categoría 11) o un solo otro carácter se reemplazan por un token de secuencia de control. En este sentido, esta etapa es como un análisis léxico, aunque no forma números a partir de dígitos. En la siguiente etapa, las secuencias de control expandibles (como condicionales o macros definidas) se reemplazan por su texto de reemplazo. La entrada para la tercera etapa es entonces una secuencia de caracteres (incluidos los que tienen un significado especial) y secuencias de control no expandibles (normalmente asignaciones y comandos visuales). Aquí, los caracteres se ensamblan en un párrafo, y el algoritmo de salto de párrafo de TeX funciona optimizando los puntos de ruptura en todo el párrafo. La cuarta etapa divide la lista vertical de líneas y otro material en páginas.

El sistema TeX tiene un conocimiento preciso de los tamaños de todos los caracteres y símbolos, y utilizando esta información, calcula la disposición óptima de letras por línea y líneas por página. Luego produce un archivo DVI ("DeVice Independent") que contiene las ubicaciones finales de todos los caracteres. Este archivo DVI se puede imprimir directamente con un controlador de impresora adecuado, o se puede convertir a otros formatos. Hoy en día, se suele usar pdfTeX , que omite por completo la generación de DVI. [ 19 ] El sistema TeX base entiende unos 300 comandos, llamados primitivas . [ 20 ] Estos comandos de bajo nivel rara vez son utilizados directamente por los usuarios, y la mayor parte de la funcionalidad la proporcionan los archivos de formato (imágenes de memoria prevolcadas de TeX después de que se hayan cargado grandes colecciones de macros). El formato predeterminado original de Knuth, que añade unos 600 comandos, esPlain TeX . [ 21 ] El formato más utilizado es LaTeX , desarrollado originalmente por Leslie Lamport , que incorpora estilos de documentos para libros, cartas, diapositivas, etc., y añade soporte para referencias y numeración automática de secciones y ecuaciones. Otro formato ampliamente utilizado, AMS-TeX , es producido por la American Mathematical Society y proporciona muchos más comandos fáciles de usar, que pueden ser alterados por las revistas para que se ajusten a su estilo interno. La mayoría de las características de AMS-TeX se pueden usar en LaTeX usando los "paquetes AMS" (por ejemplo,amsmath,amssymb) y las "clases de documentos AMS" (por ejemplo,amsart,amsbook). Esto se denomina entonces AMS-LaTeX . [ 22 ] Otros formatos incluyen ConTeXt , utilizado principalmente para la autoedición y escrito en su mayoría por Hans Hagen en Pragma .

Diseño

El software TeX incorpora varias características que no estaban disponibles, o eran de menor calidad, en otros programas de composición tipográfica en el momento de su lanzamiento. Algunas de las innovaciones se basan en algoritmos interesantes y han dado lugar a varias tesis de los estudiantes de Knuth. Si bien algunos de estos descubrimientos se han incorporado a otros programas de composición tipográfica, otros, como las reglas de espaciado matemático, siguen siendo únicos.

espaciado matemático

Texto matemático compuesto tipográficamente usando TeX y la fuente AMS Euler.

Dado que el objetivo principal del lenguaje TeX es la composición tipográfica de alta calidad para editores de libros, Knuth prestó mucha atención a las reglas de espaciado para fórmulas matemáticas. [ 23 ] [ 24 ] Tomó tres conjuntos de trabajos que consideró estándares de excelencia para la tipografía matemática: los libros compuestos tipográficamente por la editorial Addison-Wesley (la editorial de The Art of Computer Programming ) bajo la supervisión de Hans Wolf; ediciones de la revista matemática Acta Mathematica de alrededor de 1910; y una copia de Indagationes Mathematicae , una revista matemática holandesa . Knuth examinó detenidamente estos documentos impresos para determinar un conjunto de reglas de espaciado. [ 25 ] [ 26 ] Si bien TeX proporciona algunas reglas básicas y las herramientas necesarias para especificar el espaciado adecuado, los parámetros exactos dependen de la fuente utilizada para componer la fórmula. Por ejemplo, el espaciado para las fuentes Computer Modern de Knuth se ha ajustado con precisión a lo largo de los años y ahora está establecido; pero cuando Knuth utilizó por primera vez otras fuentes, como AMS Euler , fue necesario definir nuevos parámetros de espaciado. [ 27 ]

La composición tipográfica de fórmulas matemáticas en TeX no está exenta de críticas, especialmente en lo que respecta a los detalles técnicos de las métricas de la fuente, diseñadas en una época en la que se prestaba mucha atención a los requisitos de almacenamiento. Esto dio lugar a algunas soluciones improvisadas que sobrecargaban ciertos campos, lo que a su vez requería otras soluciones improvisadas. A nivel estético, también se ha criticado la representación de radicales. [ 28 ] La especificación de la fuente matemática OpenType se basa en gran medida en TeX, pero incorpora algunas características y mejoras nuevas. [ 29 ] [ 30 ] [ 31 ]

La división de palabras y su justificación

En comparación con la composición tipográfica manual, el problema de la justificación es fácil de resolver con un sistema digital como TeX, que, siempre que se hayan definido buenos puntos de ruptura de línea, puede distribuir automáticamente los espacios entre palabras para llenar la línea. El problema, por lo tanto, es encontrar el conjunto de puntos de ruptura que dará el resultado visualmente más agradable. Muchos algoritmos de ruptura de línea utilizan un algoritmo voraz , donde los puntos de ruptura para cada línea se determinan uno tras otro, y ningún punto de ruptura se cambia después de haber sido elegido. [ 32 ] Dicho sistema no puede definir un punto de ruptura dependiendo del efecto que tendrá en las líneas siguientes. En comparación, TeX utiliza un algoritmo de ruptura de línea de optimización global desarrollado por Donald Knuth y Michael Plass [ 33 ] que considera todos los posibles puntos de ruptura en un párrafo.

Formalmente, el algoritmo define un valor llamado "mala calidad" asociado a cada posible salto de línea; la mala calidad aumenta si los espacios en la línea deben estirarse o encogerse demasiado para que la línea tenga el ancho correcto. Se añaden penalizaciones si un punto de ruptura es particularmente indeseable: por ejemplo, si una palabra debe dividirse con guion , si dos líneas seguidas se dividen con guion o si una línea muy suelta va seguida inmediatamente de una línea muy estrecha. El algoritmo encontrará entonces los puntos de ruptura que minimicen la suma de los cuadrados de la mala calidad (incluidas las penalizaciones) de las líneas resultantes. Si el párrafo contienenorte{\displaystyle n}posibles puntos de ruptura, el número de situaciones que deben evaluarse ingenuamente es2norte{\displaystyle 2^{n}}Sin embargo, al utilizar el método de programación dinámica , la complejidad del algoritmo se puede reducir aO(norte2){\displaystyle O(n^{2})}(véase la notación Big O ). Simplificaciones adicionales (por ejemplo, no probar puntos de ruptura extremadamente improbables como una división de palabras en la primera palabra de un párrafo o líneas muy llenas) conducen a un algoritmo eficiente cuyo tiempo de ejecución esO(nortew){\displaystyle O(nw)}, dóndew{\displaystyle w}es el ancho de una línea. Se utiliza un algoritmo similar para determinar la mejor manera de dividir párrafos en dos páginas, con el fin de evitar líneas viudas o huérfanas (líneas que aparecen solas en una página mientras el resto del párrafo está en la página siguiente o anterior). Sin embargo, en general, una tesis de Michael Plass muestra cómo el problema de la división de páginas puede ser NP-completo debido a la complicación adicional de colocar figuras. [ 34 ] El algoritmo de división de líneas de TeX ha sido adoptado por varios otros programas, como Adobe InDesign (una aplicación de autoedición ) [ 35 ] y la utilidad de línea de comandos GNU fmt de Unix . [ 36 ]

Si no se puede encontrar un salto de línea adecuado para una línea, el sistema intentará dividir una palabra con guiones. La versión original de TeX utilizaba un algoritmo de división de palabras basado en un conjunto de reglas para la eliminación de prefijos y sufijos de palabras, y para decidir si debía insertar un salto entre las dos consonantes en un patrón de la forma vocalconsonanteconsonantevocal (lo cual es posible la mayoría de las veces). [ 37 ] TeX82 introdujo un nuevo algoritmo de división de palabras, diseñado por Frank Liang en 1983, para asignar prioridades a los puntos de ruptura en grupos de letras. Primero se genera automáticamente una lista de patrones de división de palabras a partir de un corpus de palabras con guiones (una lista de 50 000 palabras). Si TeX debe encontrar las posiciones de división de palabras aceptables en la palabra encyclopedia , por ejemplo, considerará todas las subpalabras de la palabra extendida .encyclopedia. , donde . es un marcador especial para indicar el principio o el final de la palabra. La lista de subpalabras incluye todas las subpalabras de longitud 1 ( . , e , n , c , y , etc.), de longitud 2 ( .e , en , nc , etc.), etc., hasta la subpalabra de longitud 14, que es la palabra misma, incluyendo los marcadores. TeX buscará entonces en su lista de patrones de división silábica y encontrará subpalabras para las que ha calculado la conveniencia de la división silábica en cada posición. En el caso de nuestra palabra, se pueden encontrar 11 patrones de este tipo, a saber: 1 c 4 l 4 , 1 cy, 1 d 4 i 3 a, 4 edi, e 3 dia, 2 i 1 a, ope 5 d, 2 p 2 ed, 3 pedi, pedia 4 , y 1 c. Para cada posición en la palabra, TeX calculará el valor máximo obtenido entre todos los patrones coincidentes, dando como resultado en 1 cy 1 c 4 l 4 o 3 p 4 e 5 d 4 i 3 a 4 . Finalmente, las posiciones aceptables son aquellas indicadas por un número impar , dando como resultado las divisiones silábicas aceptables en-cy-clo-pe-di-a . Este sistema basado en subpalabras permite la definición de patrones muy generales (como2i1a), with low indicative numbers (either odd or even), which can then be superseded by more specific patterns (such as 1d4i3a) if necessary. These patterns find about 90% of the hyphens in the original dictionary; more importantly, they do not insert any spurious hyphen. In addition, a list of exceptions (words for which the patterns do not predict the correct hyphenation) are included with the Plain TeX format; additional ones can be specified by the user.[38][39]

Metafont

Metafont, not strictly part of TeX, is a font description system which allows the designer to describe characters algorithmically. It uses Bézier curves in a fairly standard way to generate the actual characters to be displayed, but Knuth devotes substantial attention to the rasterizing problem on bitmapped displays. Another thesis, by John Hobby, further explores this problem of digitizing "brush trajectories". This term derives from the fact that Metafont describes characters as having been drawn by abstract brushes (and erasers). It is commonly believed that TeX is based on bitmap fonts but, in fact, these programs "know" nothing about the fonts that they are using other than their dimensions. It is the responsibility of the device driver to appropriately handle fonts of other types, including PostScript Type 1 and TrueType. Computer Modern (commonly known as "the TeX font") is freely available in Type 1 format, as are the AMS math fonts. Users of TeX systems that output directly to PDF, such as pdfTeX, XeTeX, or LuaTeX, generally never use Metafont output at all.

Macro language

TeX documents are written and programmed using an unusual macro language. Broadly speaking, the running of this macro language involves expansion and execution stages which do not interact directly. Expansion includes both literal expansion of macro definitions as well as conditional branching, and execution involves such tasks as setting variables/registers and the actual typesetting process of adding glyphs to boxes.

The definition of a macro not only includes a list of commands but also the syntax of the call. It differs with most widely used lexical preprocessors like M4, in that the body of a macro gets tokenized at definition time.

The TeX macro language has been used to write larger document production systems, most notably including LaTeX and ConTeXt.

Operation

A sample page produced using TeX with the LaTeX macros

A sample Hello world program in plain TeX is:

Hello, World \bye% marks the end of the file; not shown in the final output

Esto podría estar en un archivo llamado myfile.tex , ya que .tex es una extensión de archivo común para archivos TeX simples. Por defecto, todo lo que sigue a un signo de porcentaje en una línea es un comentario, ignorado por TeX. Ejecutar TeX en este archivo (por ejemplo, escribiendo en un intérprete de línea de comandos o llamándolo desde una interfaz gráfica de usuario ) creará un archivo de salida llamado myfile.dvi , que representa el contenido de la página en un formato independiente del dispositivo ( DVI ). Un archivo DVI podría luego ser visto en pantalla o convertido a un formato adecuado para cualquiera de las diversas impresoras para las que existía un controlador de dispositivo (el soporte de impresora generalmente no era una característica del sistema operativo en el momento en que se creó TeX). Knuth ha dicho que no hay nada inherente en TeX que requiera DVI como formato de salida, y las versiones posteriores de TeX, en particular pdfTeX, XeTeX y LuaTeX, admiten la salida directamente a PDF .tex myfile.tex

TeX proporciona una sintaxis de texto diferente específicamente para fórmulas matemáticas. Por ejemplo, la fórmula cuadrática (que es la solución de la ecuación cuadrática ) aparece como:

La fórmula se imprime como si se escribiera a mano o se compusiera tipográficamente. En un documento, para entrar en el modo matemático se empieza con el símbolo $, se introduce una fórmula en sintaxis TeX y se cierra con otro símbolo igual. Knuth explicó en broma que eligió el signo de dólar para indicar el principio y el final del modo matemático en TeX estándar porque tradicionalmente se suponía que la composición tipográfica de fórmulas matemáticas era costosa. [ 40 ] Las fórmulas matemáticas de visualización (presentadas centradas en una nueva línea) son similares, pero utilizan $$ en lugar de un solo símbolo $. Por ejemplo, lo anterior con la fórmula cuadrática en formato de fórmulas matemáticas de visualización:

Usos

En varios campos técnicos como la informática, las matemáticas, la ingeniería y la física, TeX se ha convertido en un estándar de facto . Se han publicado miles de libros utilizando TeX, incluidos libros publicados por Addison-Wesley , Cambridge University Press , Elsevier , Oxford University Press y Springer . Numerosas revistas en estos campos se producen utilizando TeX o LaTeX, lo que permite a los autores enviar su manuscrito original escrito en TeX. [ 41 ] Si bien muchas publicaciones en otros campos, incluidos diccionarios y publicaciones jurídicas, se han producido utilizando TeX, no ha tenido tanto éxito como en los campos más técnicos, ya que TeX fue diseñado principalmente para la composición tipográfica de matemáticas.

Cuando diseñó TeX, Donald Knuth no creía que un único sistema de composición tipográfica pudiera satisfacer las necesidades de todos; en cambio, diseñó numerosos ganchos dentro del programa para que fuera posible escribir extensiones y publicó el código fuente, con la esperanza de que los editores diseñaran versiones adaptadas a sus propias necesidades. Si bien se han creado tales extensiones (incluidas algunas por el propio Knuth), [ 42 ] la mayoría de las personas han extendido TeX únicamente mediante macros y ha permanecido como un sistema asociado a la composición tipográfica técnica. [ 43 ] [ 44 ] [ 26 ]

Notación química

Paquetes como mhchem , XyMTeX , chemfig y chemmacros para la composición tipográfica de ecuaciones químicas , estructuras y reacciones en LaTeX. [ 45 ]

publicación XML

Es posible utilizar TeX para la generación automática de diseños sofisticados para datos XML. Las diferencias de sintaxis entre los dos lenguajes de descripción se pueden superar con la ayuda de TeXML . En el contexto de la publicación XML, TeX puede considerarse una alternativa a XSL-FO . TeX permitió reducir los artículos científicos en disciplinas matemáticas a archivos relativamente pequeños que podían renderizarse del lado del cliente, lo que permitió el intercambio de artículos científicos completamente maquetados a través de los inicios de Internet y la incipiente World Wide Web, incluso cuando el envío de archivos grandes era difícil. Esto allanó el camino para la creación de repositorios de artículos científicos como arXiv , a través de los cuales los artículos podían "publicarse" sin un editor intermediario. [ 46 ]

Desarrollo

El código fuente original del software TeX actual está escrito en WEB , una mezcla de documentación escrita en TeX y un subconjunto de Pascal para garantizar la legibilidad y la portabilidad. Por ejemplo, TeX realiza toda su asignación dinámica a partir de matrices de tamaño fijo y utiliza únicamente aritmética de punto fijo para sus cálculos internos. Como resultado, TeX se ha portado a casi todos los sistemas operativos , generalmente utilizando el programa web2c para convertir el código fuente a C en lugar de compilar directamente el código Pascal. Knuth ha mantenido un registro muy detallado de todos los errores que ha corregido y los cambios que ha realizado en el programa desde 1982; a fecha de 2025La lista contiene 440 entradas, sin incluir la modificación de versión que debería hacerse después de su muerte como el cambio final en TeX. [ 47 ] [ 48 ] Knuth ofrece recompensas monetarias a las personas que encuentran y reportan un error en TeX. La recompensa por error comenzó en US$2.56 (un "dólar hexadecimal" [ 49 ] ) y se duplicó cada año hasta que se congeló en su valor actual de $327.68. Knuth ha perdido relativamente poco dinero ya que se han reportado muy pocos errores. Además, se sabe que los beneficiarios han enmarcado su cheque como prueba de que encontraron un error en TeX en lugar de cobrarlo. [ 50 ] [ 51 ]

Debido a que los estafadores encontraron copias escaneadas de sus cheques en internet y las usaron para intentar vaciar su cuenta bancaria, Knuth ya no envía cheques reales, pero quienes envíen informes de errores pueden obtener crédito en el Banco de San Serriffe . [ 52 ]

Distribuciones y extensiones

TeX se suele proporcionar como un paquete fácil de instalar que incluye TeX, Metafont y todas las fuentes, formatos de documento y utilidades necesarias para usar el sistema de composición tipográfica. En sistemas compatibles con UNIX, como Linux y macOS , TeX se distribuye como parte de la distribución TeX Live . (Antes de TeX Live, la distribución teTeX era el estándar de facto en sistemas compatibles con UNIX). En Microsoft Windows , existe la distribución MiKTeX (mejorada por proTeXt) y la versión de TeX Live para Microsoft Windows.

Varios sistemas de procesamiento de documentos se basan en TeX, en particular jadeTeX , que utiliza TeX como motor de impresión para el motor DSSSL de James Clark , el sistema de publicación Arbortext y Texinfo , el sistema de procesamiento de documentación de GNU. TeX ha sido el paquete de composición tipográfica oficial del sistema operativo GNU desde 1984.

Existen numerosas extensiones y programas complementarios para TeX, entre ellos BibTeX para bibliografías (distribuido con LaTeX); pdfTeX, un motor compatible con TeX que puede generar directamente archivos PDF (además de seguir siendo compatible con la salida DVI original); XeTeX , un motor compatible con TeX que admite Unicode y OpenType ; y LuaTeX , una extensión de TeX compatible con Unicode que incluye un entorno de ejecución de Lua con amplias funciones de integración con las rutinas y algoritmos subyacentes de TeX. La mayoría de las extensiones de TeX están disponibles gratuitamente en CTAN , la Red Integral de Archivos de TeX.

Licencia

Donald Knuth ha indicado varias veces [ 53 ] [ 54 ] [ 55 ] [ 26 ] que el código fuente de TeX se ha puesto en el " dominio público " y anima encarecidamente a realizar modificaciones o experimentos con este código fuente. Sin embargo, dado que Knuth valora mucho la reproducibilidad de la salida de todas las versiones de TeX, cualquier versión modificada no debe llamarse TeX, ni nada que pueda generar confusión. Para hacer cumplir esta regla, cualquier implementación del sistema debe pasar un conjunto de pruebas llamado prueba TRIP [ 56 ] antes de que se le permita llamarse TeX. La cuestión de la licencia se ve algo confusa por las declaraciones incluidas al principio del código fuente de TeX, [ 57 ] que indican que "todos los derechos están reservados. La copia de este archivo está autorizada solo si  ... no realiza absolutamente ningún cambio en su copia". Esta restricción debe interpretarse como una prohibición de cambiar el código fuente mientras el archivo se llame tex.web . La nota de copyright al principio de tex.web (y mf.web) se cambió en 2021 para indicar esto explícitamente. Esta interpretación se confirma más adelante en el código fuente cuando se menciona la prueba TRIP ("Si se cambia este programa, el sistema resultante no debería llamarse 'TeX ' " ). [ 58 ] La Sociedad Matemática Estadounidense intentó a principios de la década de 1980 reclamar una marca comercial para TeX. Esto fue rechazado porque en ese momento "TEX" (en mayúsculas) estaba registrado por Honeywell para el sistema de procesamiento de texto "Text EXecutive".

Dado que el código fuente de TeX es esencialmente de dominio público, otros programadores pueden (e incluso se les anima explícitamente) a mejorar el sistema, pero deben usar otro nombre para distribuir la versión modificada de TeX, lo que significa que el código fuente aún puede evolucionar. Por ejemplo, el proyecto Omega se desarrolló después de 1991, principalmente para mejorar las capacidades de composición tipográfica multilingüe de TeX. [ 59 ] Knuth creó versiones modificadas "no oficiales", como TeX-XeT , que permite al usuario mezclar textos escritos en sistemas de escritura de izquierda a derecha y de derecha a izquierda en el mismo documento. [ 42 ]

Comunidad

Logotipo del Grupo de Usuarios de TeX

Entre las entidades destacadas de la comunidad TeX se encuentra el Grupo de Usuarios de TeX (TUG), que actualmente publica TUGboat y anteriormente publicaba The PracTeX Journal , cubriendo una amplia gama de temas en tipografía digital relevantes para TeX. La Asociación de Usuarios de TeX en Lengua Alemana (DANTE) es un gran grupo de usuarios en Alemania. El Grupo de Usuarios de TeX fue fundado en 1980 con fines educativos y científicos, y proporciona una organización para aquellos que tienen interés en la tipografía y el diseño de fuentes, y son usuarios del sistema de composición tipográfica TeX inventado por Knuth. El Grupo de Usuarios de TeX representa los intereses de los usuarios de TeX en todo el mundo. El Grupo de Usuarios de TeX publica la revista TUGboat tres veces al año; [ 60 ] DANTE publica Die TeXnische Komödie cuatro veces al año. Otros grupos de usuarios incluyen DK-TUG en Dinamarca , GUTenberg en Francia , GuIT en Italia , NTG en los Países Bajos y UK-TUG en el Reino Unido ; los grupos de usuarios mantienen conjuntamente una lista completa. [ 61 ]

Editores

Hay una variedad de editores diseñados para trabajar con TeX :

  • El editor de texto TeXmacs es un editor de texto científico WYSIWYG - WYSIWYM , inspirado en TeX y Emacs . Utiliza las fuentes de Knuth y puede generar salida TeX.
  • Overleaf es un editor en línea parcialmente WYSIWYG que proporciona una solución basada en la nube para TeX, junto con funciones adicionales para la edición colaborativa en tiempo real.
  • LyX es un procesador de documentos WYSIWYM que se ejecuta en una variedad de plataformas, entre las que se incluyen:
    • Linux ,
    • Microsoft Windows (las versiones más recientes requieren Windows 2000 o posterior)
    • macOS de Apple (utilizando una interfaz Qt no nativa ).
  • TeXShop (para macOS), TeXworks (para Linux, macOS y Windows) y WinShell (para Windows) son herramientas similares que proporcionan un entorno de desarrollo integrado (IDE) para trabajar con LaTeX o TeX. Para KDE /Qt, Kile ofrece un IDE de este tipo.
  • Texmaker es el equivalente de Kile escrito en Qt puro, con una interfaz de usuario prácticamente idéntica a la de Kile.
  • TeXstudio es una bifurcación de código abierto (2009) de Texmaker que ofrece un enfoque diferente en cuanto a configuración y funcionalidades. Se proporcionan binarios gratuitos para descargar para Windows, Linux, macOS, OS/2 y FreeBSD.
  • GNU Emacs cuenta con varios paquetes integrados y de terceros que ofrecen soporte para TeX, siendo AUCTeX el principal .
  • Visual Studio Code . Una extensión destacada es LaTeX Workshop.
  • Para Vim , los complementos posibles incluyen Vim-LaTeX Suite, [ 62 ] Automatic TeX, [ 63 ] y TeX-9. [ 64 ]
  • Para Apache OpenOffice y LibreOffice , las extensiones iMath y TexMaths pueden proporcionar composición tipográfica matemática en TeX. [ 65 ] [ 66 ]
  • Para MediaWiki , la extensión Math proporciona composición tipográfica matemática TeX, pero el código debe estar rodeado por <math>la etiqueta.

Extensiones

Véase también

Notas

  1. "CTAN" . Consultado el 23 de diciembre de 2025 .
  2. "Per Bothner (asistente a las reuniones del Proyecto TeX) habla sobre la autoría" . Knuth sin duda escribió la mayor parte del código él mismo, al menos para la reescritura de Metafont, de la cual tengo conocimiento personal. Sin embargo, algunos de sus estudiantes (como Michael Plass y John Hobby) trabajaron en los algoritmos utilizados en TeX y Metafont.
  3. Yannis Haralambous. Fuentes y codificaciones (traducido por P. Scott Horne) . Pekín; Sebastopol, California: O'Reilly Media, 2007, págs. 235.
  4. Gaudeul, Alexia (2006). "¿Responden los desarrolladores de código abierto a la competencia?: El estudio de caso de (La)TeX" . Revista electrónica SSRN . doi : 10.2139/ssrn.908946 . ISSN 1556-5068 . 
  5. Knuth, Donald E. "Biografía menos breve" . Página principal de Don Knuth . Archivado del original el 5 de diciembre de 2016. Consultado el 9 de enero de 2017 .
  6. Knuth, Donald E. "Conferencia conmemorativa del Premio Kioto, 1996" (PDF) . Premio Kioto . Archivado del original (PDF) el 27 de enero de 2018. Consultado el 18 de agosto de 2018 .
  7. Knuth, Donald Ervin, TEXDR.AFT , archivado del original el 12 de enero de 2015
  8. Este artículo se basa en material tomado de TeX en el Free On-line Dictionary of Computing antes del 1 de noviembre de 2008 e incorporado bajo los términos de "relicencia" de la GFDL , versión 1.3 o posterior.
  9. Knuth y Plass 1981 , pág. 144.
  10. Knuth, Donald E. Knuth se reúne con miembros de NTG , NTG: MAPS. 16 (1996), 38–49. Reimpreso como Preguntas y respuestas, III , capítulo 33 de Tipografía digital , pág. 648.
  11. Knuth, Donald E. Las nuevas versiones de TeX y METAFONT , TUGboat 10 (1989), 325–328; 11 (1990), 12. Reimpreso como capítulo 29 de Tipografía digital .
  12. Hoenig, Alan (1998). TeX Unbound: LaTeX & TeX Strategies for Fonts, Graphics, & More . Oxford University Press. ISBN 978-0-19-509686-6.
  13. "Lanzamiento de TeX 21" . Consultado el 5 de enero de 2022 .
  14. 1 2 "¿Cuál es el futuro de TeX?" . Preguntas frecuentes de TeX . 27 de mayo de 2018. Archivado del original el 28 de abril de 2019 . Consultado el 21 de julio de 2019 .
  15. Knuth, Donald E. El futuro de TeX y METAFONT , revista NTG MAPS (1990), 489. Reimpreso como capítulo 30 de Tipografía digital , pág. 571.
  16. Knuth, Donald E. The TeXbook , Cap. 1: El nombre del juego, pág. 1.
  17. Knuth, Donald E. El logotipo TeX en varias fuentes , TUGboat 7 (1986), 101. Reimpreso como capítulo 6 de Tipografía digital .
  18. Jeffrey, Alan (1990), "Lists in TeX's Mouth" (PDF) , TUGboat , 11 ( 2): 237–45
  19. "CTAN: Paquete pdftex" . ctan.org . Consultado el 21 de julio de 2019 .
  20. Knuth 1984 , pág. 9.
  21. Plain TeX (código fuente), CTAN, archivado del original el 9 de mayo de 2021
  22. "¿Qué son los paquetes AMS (amsmath, etc.)?" . Preguntas frecuentes de TeX . 27 de mayo de 2018. Archivado del original el 28 de abril de 2019 . Consultado el 21 de julio de 2019 .
  23. ^ Slater, Robert (1989), Retratos en silicio , MIT Press, p. 349, ISBN  9780262691314
  24. Syropoulos, Apóstolos; Tsolomitis, Antonis; Sofroniou, Nick (2003), Tipografía digital utilizando LaTeX , Springer, p. 93, ISBN  9780387952178
  25. Knuth, Donald E (1996). "Preguntas y respuestas II". TUGboat . 17 : 355–367 .
  26. 1 2 3 Knuth, Donald E. (1999). Tipografía digital . Stanford, California: Centro para el Estudio del Lenguaje y las Publicaciones de Información. ISBN 978-1-57586-010-7.
  27. Knuth, Donald E. Typesetting Concrete Mathematics , TUGboat 10 (1989), pp. 31–36, 342. Reimpreso como capítulo 18 de Digital Typography , pp. 367–378.
  28. Vieth, Ulrik. "Composición tipográfica matemática en TEX: lo bueno, lo malo y lo feo" (PDF) . Archivado del original (PDF) el 20 de enero de 2022.
  29. "Edición y visualización de alta calidad de texto matemático en Office 2007" .
  30. "Servicios de línea" .
  31. "Mapa" (PDF) . ntg.nl .
  32. Barnett, Michael P (1965), Computer Typesetting: Experiments and Prospects , Cambridge , MA : MIT Press
  33. url= http://svn.tug.org/interviews/plass.html
  34. Knuth y Plass 1981 .
  35. ^ "Donald E. Knuth" , TUGboat (entrevista), 21 , Advogato : 103–10 , 2000, archivado desde el original el 22 de enero de 2009 , consultado el 26 de diciembre de 2005
  36. "4.1 fmt: Reformatear texto de párrafo" , Manual de utilidades básicas de GNU (GNU coreutils) , Proyecto GNU, 2016, archivado del original el 12 de octubre de 2025 , consultado el 4 de abril de 2016.
  37. ^ Liang 1983 , pág. 3.
  38. Liang 1983 .
  39. "Appendix H: Hyphenation", The TeXbook, pp. 449–55
  40. Knuth 1984, p. 127, Ch. 16: Typing Math Formulas.
  41. Beebe 2004, p. 10.
  42. 12Knuth, Donald E; MacKay, Pierre (1987), "Mixing Right-to-Left Texts with Left-to-Right Texts"(PDF), TUGboat, 8: 14–25.
  43. Knuth, Donald E (1996), "Questions and Answers I", TUGboat, 17: 7–22.
  44. Knuth, Donald E (1996), "Questions and Answers II", TUGboat, 17: 355–367.
  45. "Helpful LaTeX Packages for Chemistry | Computational Chemistry Resources".
  46. O'Connell, Heath (2002). "Physicists Thriving with Paperless Publishing". Hep Lib.web. 6: 3. arXiv:physics/0007040.
  47. Knuth, Donald E. List of updates to the TeX82 listing published in September 1982, available on CTAN.
  48. Knuth, Donald E. Appendix to the Errors of TeX paper, available on CTAN, last modified in January 2003.
  49. Knuth, Donald E. "Knuth: Frequently Asked Questions". Stanford Computer Science. Archived from the original on 6 March 2008. Retrieved 28 November 2019.
  50. Kara Platoni (May–June 2006). "Love at First Byte". Stanford Magazine. Archived from the original on 4 June 2006.
  51. "History of TeX". TeX Users Group. Retrieved 28 November 2019.
  52. Knuth, Donald E (2008). "Knuth: Recent News – Financial Fiasco". Stanford Computer Science. Archived from the original on 29 November 2019. Retrieved 29 November 2019.
  53. Knuth, Donald E. (1986). "Remarks to Celebrate the Publication of Computers & Typesetting"(PDF). TUGboat. 7 (2): 95–98. Retrieved 6 December 2024.
  54. Knuth, Donald E. (1990). "El futuro de TeX y METAFONT" (PDF) . TUGboat . 11 (4): 489. Recuperado el 6 de diciembre de 2024 .
  55. Knuth, Donald Ervin (1 de noviembre de 1997). "Tipografía digital: Conferencia del Premio Kioto de 1996" (PDF) . Premio Kioto . Fundación Inamori . Consultado el 6 de diciembre de 2024 .
  56. "Trip", CTAN (código fuente), archivado del original (TeX) el 12 de junio de 2021
  57. Knuth, Donald E (1986), TeX: El programa , Computers and Typesetting, vol. B, Reading, MA: Addison-Wesley, ISBN  0-201-13437-3
  58. Código abierto: tecnología y política por Fadi P. Deek, James AM McHugh "Dominio público", página 227 (2008)
  59. "Desarrollo del motor TeX" . Preguntas frecuentes de TeX . 24 de mayo de 2018. Archivado del original el 28 de abril de 2019. Consultado el 21 de julio de 2019 .
  60. "Las comunicaciones del Grupo de Usuarios de TeX" . tug.org . Grupo de Usuarios de TeX . Consultado el 15 de marzo de 2019 .
  61. "Todos los grupos de usuarios de TeX" . tug.org . Grupo de usuarios de TeX . Consultado el 17 de noviembre de 2019 .
  62. Vim-LaTex , SourceForge, archivado del original el 8 de marzo de 2024
  63. Complemento TeX automático , plataforma de lanzamiento
  64. TeX-9 , Vim.org
  65. Página principal de TexMaths , free.fr
  66. iMath , SourceForge

Referencias

  • Beebe, Nelson HF ( 2004), "25 años de TeX y METAFONT: una mirada al pasado y al futuro" (PDF) , TUGboat , 25 : 7–30.
  • Knuth, Donald Ervin (1984), The TeXbook , Computers and Typesetting , vol.  A, Reading, MA : Addison-Wesley, ISBN 0-201-13448-9. El código fuente del libro en TeX (y un conjunto necesario de macros)) está disponible en línea en CTAN . Se proporciona únicamente como ejemplo y no está permitido su uso para preparar un libro como The TeXbook.
  • (1986), TeX: El programa , Computers and Typesetting, vol.  B, Reading, MA : Addison-Wesley, ISBN 0-201-13437-3El código fuente completo de TeX también está disponible en CTAN . Al estar escrito utilizando programación literaria , contiene abundante documentación legible para humanos.
  • (1999), Tipografía digital , Apuntes de clase, Centro para el Estudio del Lenguaje y la Información, ISBN 1-57586-010-4.
  • ; Plass, Michael F (1981). "Dividir párrafos en líneas". Software: Practice and Experience . 11 (11): 1119– 84. doi : 10.1002/spe.4380111102 . S2CID 206508107 . .
  • , TeX (código fuente), archivado del original ( WEB ) el 27 de septiembre de 2011Contiene documentación exhaustiva sobre los algoritmos utilizados en TeX.
  • Lamport, Leslie (1994), LaTeX : Un sistema de preparación de documentos (2.ª  ed.), Reading, MA : Addison-Wesley, ISBN 0-201-52983-1.
  • Liang, Franklin Mark (agosto de 1983), Word Hy-phen-a-tion by Comp-put-er ( tesis doctoral ), Departamento de Ciencias de la Computación, Universidad de Stanford.
  • Salomon, David (1995), The Advanced TeXbook , Springer, Bibcode : 1995adte.book.....S , ISBN 0-387-94556-3.
  • Spivak, MD (1990), The Joy of TeX (referencia) (2.ª  ed.), American Mathematical Society, ISBN 0-8218-2997-1en AMS-TeX.
  • Vulis, Michael (1992), Modern TeX and Its Applications , CRC Press, ISBN 0-8493-4431-X.
  • Grupo de Usuarios de TeX
  • TeX (preguntas y respuestas), StackExchange.
  • Eijkhout, Victor. TeX por tema. Archivado el 25 de febrero de 2021 en Wayback Machine.
  • TeX para impacientes
  • Donald Knuth habla sobre el desarrollo del software para TEX en Xerox PARC el 21/2/1980 https://archive.org/details/xerox-parc-tapes-v49