stringtranslate.com

Texas

TeX ( / t ɛ x / , ver más abajo), estilizado dentro del sistema como T e X , es un sistema de composición tipográfica diseñado y escrito por el científico informático y profesor de la Universidad de Stanford Donald Knuth [1] y lanzado por primera vez en 1978. un medio popular para componer fórmulas matemáticas complejas ; Se ha destacado como uno de los sistemas tipográficos digitales más sofisticados . [2]

TeX se utiliza ampliamente en el mundo 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 desplazó a Unix troff , [b] el sistema de formateo anteriormente preferido, en la mayoría de las instalaciones de Unix . También se utiliza para muchas otras tareas de composición tipográfica, especialmente en forma de LaTeX , ConTeXt y otros paquetes de macros .

TeX fue diseñado con dos objetivos principales en mente: permitir que cualquiera produzca libros de alta calidad con el mínimo esfuerzo y proporcionar un sistema que dé exactamente los mismos resultados en todas las computadoras, en cualquier momento (junto con el lenguaje Metafont ). para obtener una descripción de la fuente y la familia tipográfica Computer Modern ). [3] TeX es un software gratuito , lo que lo hizo accesible a una amplia gama de usuarios.

Historia

Cuando se publicó el primer volumen en papel de El arte de la programación informática de Knuth en 1968, [4] se compuso utilizando tipografía de metal caliente en una máquina Monotype . Este método, que data del siglo XIX, produjo un "estilo clásico" apreciado por Knuth. [5] Cuando se publicó la segunda edición, en 1976, todo el libro tuvo que ser tipografiado nuevamente 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 galeradas del nuevo libro el 30 de marzo de 1977, las encontró inferiores. Decepcionado, Knuth se propuso diseñar su propio sistema tipográfico.

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, se escribió un memorando describiendo las características básicas de TeX. [6] Planeaba terminarlo en su año sabático en 1978, pero resultó que el idioma no estuvo " congelado " (listo para usar) hasta 1989, más de diez años después. Guy Steele estaba en Stanford durante el verano de 1978, cuando Knuth estaba desarrollando su primera versión de TeX. Cuando Steele regresó al Instituto de Tecnología de Massachusetts ese otoño, reescribió la entrada/salida ( I/O ) de TeX para que se ejecutara bajo el sistema operativo Incompatible Timesharing System (ITS). La primera versión de TeX, llamada TeX78, fue escrita en el lenguaje de programación SAIL para ejecutarse en un PDP-10 bajo el sistema operativo WAITS de Stanford .

WEB y programación alfabetizada.

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

TeX82

TeX82, una nueva versión de TeX reescrita desde cero, se publicó en 1982. Entre otros cambios, el algoritmo de separació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, [7] e incluye un lenguaje de programación real, completo de Turing , luego de una intensa presión por parte de Guy Steele. [8] En 1989, Donald Knuth lanzó nuevas versiones de TeX y Metafont . [9] A pesar de su deseo de mantener estable el programa, Knuth se dio cuenta de que 128 caracteres diferentes para la entrada de texto no eran suficientes para dar cabida a idiomas extranjeros; El principal cambio en la versión 3.0 de TeX (también llamada TeX90) es, por tanto, la capacidad de trabajar con entradas de 8 bits , permitiendo 256 caracteres diferentes en la entrada de texto. TeX3.0 fue lanzado el 15 de marzo de 1990. [10]

Desde la versión 3, TeX ha utilizado un sistema de numeración de versiones idiosincrásico , donde las actualizaciones se han indicado agregando un dígito adicional al final del decimal, de modo que el número de versión se acerque asintóticamente a π . Esto es un reflejo del hecho de que TeX ahora es muy estable y sólo se anticipan actualizaciones menores. La versión actual de TeX es 3.141592653; se actualizó por última vez en 2021. [11] El diseño se congeló después de la versión 3.0 y no se agregará ninguna característica nueva ni cambio fundamental, por lo que todas las versiones más nuevas solo contendrán correcciones de errores . [12] 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 el mismo resultado 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 cual todos los errores restantes se convertirán en características. [13] Asimismo, las versiones de Metafont posteriores a la 2.0 se acercan asintóticamente a e (actualmente en 2.7182818), y se aplicará un cambio similar después de la muerte de Knuth. [12]

Dominio publico

Dado que el código fuente de TeX es esencialmente de dominio público (ver más abajo), a otros programadores se les permite (y se les anima explícitamente) a mejorar el sistema, pero se les exige que utilicen otro nombre para distribuir el TeX modificado, lo que significa que el código fuente puede todavía evoluciona. 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. [14] 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. [15]

Uso de TeX

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 en bruto escrito en TeX. [16] 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 componer matemáticas.

Cuando diseñó TeX, Donald Knuth no creía que un único sistema de composición pudiera satisfacer las necesidades de todos; en cambio, diseñó muchos 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 que se adaptaran a sus propias necesidades. Si bien se han creado tales extensiones (incluidas algunas por el propio Knuth), [15] la mayoría de las personas han extendido TeX solo usando macros y sigue siendo un sistema asociado con la composición tipográfica técnica. [17] [18]

Sistema de composición tipográfica

Los comandos TeX comúnmente comienzan 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 con cualquier otra 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í está prácticamente libre de efectos secundarios. La recursión de cola de macros no requiere memoria y hay construcciones if-then-else disponibles. Esto convierte a TeX en un lenguaje completo de Turing incluso en el nivel de expansión. [19] El sistema se puede dividir en cuatro niveles: en el primero, se leen los caracteres 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 carácter más se reemplazan por un token de secuencia de control. En este sentido, esta etapa es como el 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 un flujo de caracteres (incluidos los que tienen un significado especial) y secuencias de control no ampliables (normalmente asignaciones y comandos visuales). Aquí, los caracteres se ensamblan en un párrafo y el algoritmo de división de párrafos de TeX funciona optimizando los puntos de interrupción 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 utilizar pdfTeX , que evita por completo la generación de DVI. [20] El sistema TeX base comprende alrededor de 300 comandos, llamados primitivos . [21] Estos comandos de bajo nivel rara vez son utilizados directamente por los usuarios, y la mayor parte de la funcionalidad la proporcionan archivos de formato (imágenes de memoria precargadas de TeX después de que se han cargado grandes colecciones de macros). El formato predeterminado original de Knuth, que agrega alrededor de 600 comandos, es Plain TeX. [22] 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 las revistas pueden modificar para adaptarlos al estilo de su casa. La mayoría de las características de AMS-TeX se pueden usar en LaTeX usando los "paquetes AMS" (p. ej., amsmath, amssymb) y las "clases de documentos AMS" (p. ej., amsart, amsbook). Esto se denomina entonces AMS-LaTeX . [23] Otros formatos incluyen ConTeXt , utilizado principalmente para autoedición y escrito principalmente por Hans Hagen en Pragma.

como se ejecuta

Una página de muestra producida usando TeX con las macros de LaTeX

Un ejemplo del programa Hola Mundo en TeX simple es:

Hola, Mundo \bye  % marca el final del archivo; no se muestra en el resultado final

Esto podría estar en un archivo myfile.tex , ya que .tex es una extensión de archivo común para archivos TeX simples. De forma predeterminada, todo lo que sigue a un signo de porcentaje en una línea es un comentario, ignorado por TeX. Al ejecutar TeX en este archivo (por ejemplo, escribiendo tex myfile.texun intérprete de línea de comandos o llamándolo desde una interfaz gráfica de usuario ) se creará un archivo de salida llamado myfile.dvi , que representa el contenido de la página en un dispositivo . formato independiente (DVI). Luego, un archivo DVI podía verse en la pantalla o convertirse a un formato adecuado para cualquiera de las diversas impresoras para las que existía un controlador de dispositivo (la compatibilidad con la 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 .

ejemplo matemático

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 está impresa de una manera que una persona escribiría a mano o escribiría la ecuación. En un documento, ingresar al modo matemático se realiza comenzando con un símbolo $, luego ingresando una fórmula en sintaxis TeX y cerrando nuevamente con otra del mismo símbolo. Knuth explicó en broma que eligió el signo de dólar para indicar el principio y el final del modo matemático en TeX simple porque tradicionalmente se suponía que la composición tipográfica era costosa. [24] Mostrar matemáticas (matemáticas presentadas centradas en una nueva línea) es similar pero usa $$ en lugar de un solo símbolo $. Por ejemplo, lo anterior con la fórmula cuadrática en display math:

(Los ejemplos aquí en realidad no están renderizados con TeX; el espaciado, el tamaño de los caracteres y todo lo demás pueden diferir).

Aspectos

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

Espaciado matemático

Composición tipográfica de texto matemático utilizando TeX y la fuente AMS Euler

Dado que el objetivo principal del lenguaje TeX es la composición tipográfica de alta calidad para los editores de libros, Knuth prestó mucha atención a las reglas de espaciado de las fórmulas matemáticas. [25] [26] Tomó tres cuerpos de trabajo que consideraba estándares de excelencia para la tipografía matemática: los libros tipográficos de 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 que datan aproximadamente de 1910; y una copia de Indagationes Mathematicae , una revista holandesa de matemáticas. Knuth examinó atentamente estos papeles impresos para clasificarlos y buscar un conjunto de reglas de espaciado. [27] 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 de las fuentes Computer Modern de Knuth se ha ajustado con precisión a lo largo de los años y ahora está configurado; pero cuando Knuth utilizó por primera vez otras fuentes, como AMS Euler , hubo que definir nuevos parámetros de espaciado. [28]

La composición tipográfica de las matemáticas en TeX no está exenta de críticas, particularmente con respecto a los detalles técnicos de las métricas de las fuentes, que fueron diseñadas en una era en la que se prestaba gran atención a los requisitos de almacenamiento. Esto resultó en que algunos "trucos" sobrecargaran algunos campos, lo que a su vez requirió otros "trucos". A nivel estético, también se ha criticado la interpretación de los radicales. [29] La especificación de fuente matemática OpenType toma prestado en gran medida de TeX, pero tiene algunas características/mejoras nuevas. [30] [31] [32]

Separación de sílabas y 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 para el salto de línea, puede distribuir automáticamente los espacios entre palabras para completar la línea. Por tanto, el problema es encontrar el conjunto de puntos de interrupción que darán el resultado más agradable a la vista. Muchos algoritmos de salto de línea utilizan un enfoque de primer ajuste , donde los puntos de interrupción para cada línea se determinan uno tras otro y no se cambia ningún punto de interrupción una vez elegido. [33] Un sistema de este tipo no es capaz de definir un punto de interrupción dependiendo del efecto que tendrá en las siguientes líneas. En comparación, el algoritmo de salto de línea de ajuste total utilizado por TeX y desarrollado por Donald Knuth y Michael Plass considera todos los puntos de interrupción posibles en un párrafo y encuentra la combinación de saltos de línea que producirá el arreglo más agradable a nivel global.

Formalmente, el algoritmo define un valor llamado maldad asociado con cada posible salto de línea; la maldad aumenta si los espacios en la línea deben estirarse o reducirse demasiado para que la línea tenga el ancho correcto. Se agregan penalizaciones si un punto de interrupción es particularmente indeseable: por ejemplo, si una palabra debe dividirse con guiones , si dos líneas seguidas están divididas con guiones o si una línea muy suelta es seguida inmediatamente por una línea muy apretada. Luego, el algoritmo encontrará los puntos de interrupción que minimizarán la suma de los cuadrados de la maldad (incluidas las penalizaciones) de las líneas resultantes. Si el párrafo contiene posibles puntos de interrupción, el número de situaciones que deben evaluarse ingenuamente es . Sin embargo, al utilizar el método de programación dinámica , la complejidad del algoritmo se puede reducir a (ver notación O grande ). Simplificaciones adicionales (por ejemplo, no probar puntos de interrupción extremadamente improbables, como una separación de palabras en la primera palabra de un párrafo o líneas muy completas) conducen a un algoritmo eficiente cuyo tiempo de ejecución es , donde está el ancho de una línea. Se utiliza un algoritmo similar para determinar la mejor manera de dividir párrafos en dos páginas, para 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 salto de página puede ser NP-completo debido a la complicación añadida de colocar figuras. [34] El algoritmo de salto de línea 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 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 separación de palabras basado en un conjunto de reglas para eliminar prefijos y sufijos de palabras, y para decidir si debía insertar una ruptura entre las dos consonantes en un patrón de la forma vocalconsonanteconsonantevocal (lo cual es posible la mayor parte del tiempo). [37] TeX82 introdujo un nuevo algoritmo de separación de palabras, diseñado por Frank Liang en 1983, para asignar prioridades a puntos de interrupción en grupos de letras. Primero se genera automáticamente una lista de patrones de separación de palabras a partir de un corpus de palabras separadas con guiones (una lista de 50.000 palabras). Si TeX debe encontrar las posiciones de separación de palabras aceptables en la palabra enciclopedia , por ejemplo, considerará todas las subpalabras de la palabra extendida .enciclopedia. , dónde . 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, incluidos los marcadores. Luego, TeX buscará en su lista de patrones de separación de palabras y encontrará subpalabras para las cuales ha calculado la conveniencia de la separación de palabras en cada posición. En el caso de nuestra palabra, se pueden combinar 11 de estos patrones, 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, obteniendo 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 , lo que produce las separaciones de sílabas aceptables en-cy-clo-pe-di-a . Este sistema basado en subpalabras permite la definición de patrones muy generales (como 2 i 1a), con números indicativos bajos (ya sean pares o impares), que luego pueden ser reemplazados por patrones más específicos (como 1 d 4 i 3 a) si es necesario. Estos patrones encuentran aproximadamente el 90% de los guiones en el diccionario original; más importante aún, no insertan ningún guión falso. Además, se incluye una lista de excepciones (palabras para las cuales los patrones no predicen la separación de palabras correcta) con el formato Plain TeX; El usuario puede especificar otros adicionales. [38] [ página necesaria ] [39]

Metafuente

Metafont, que no forma parte estrictamente de TeX, es un sistema de descripción de fuentes que permite al diseñador describir caracteres algorítmicamente. Utiliza curvas de Bézier de una manera bastante estándar para generar los caracteres reales que se mostrarán, pero Knuth dedica considerable atención al problema de rasterización en pantallas de mapa de bits . Otra tesis, de John Hobby, explora más a fondo este problema de la digitalización de las "trayectorias del pincel". Este término deriva del hecho de que Metafont describe los caracteres como dibujados con pinceles (y borradores) abstractos. Se cree comúnmente que TeX se basa en fuentes de mapa de bits pero, de hecho, estos programas "no saben" nada sobre las fuentes que están utilizando aparte de sus dimensiones. Es responsabilidad del controlador del dispositivo manejar adecuadamente fuentes de otros tipos, incluidas PostScript Type 1 y TrueType. Computer Modern (comúnmente conocida como "la fuente TeX") está disponible gratuitamente en formato Tipo 1, al igual que las fuentes matemáticas AMS. Los usuarios de sistemas TeX que generan directamente a PDF, como pdfTeX, XeTeX o LuaTeX, generalmente nunca usan la salida Metafont.

lenguaje de macros

Los documentos TeX se escriben y programan utilizando un lenguaje de macros inusual. A grandes rasgos, la ejecución de este macrolenguaje implica etapas de expansión y ejecución que no interactúan directamente. La expansión incluye tanto la expansión literal de las definiciones de macros como la bifurcación condicional, y la ejecución implica tareas tales como la configuración de variables/registros y el proceso de composición tipográfica real de agregar glifos a los cuadros.

La definición de una macro no sólo incluye una lista de comandos sino también la sintaxis de la llamada. Se diferencia de los preprocesadores léxicos más utilizados, como M4 , en que el cuerpo de una macro se tokeniza en el momento de la definición.

El lenguaje de macros TeX se ha utilizado para escribir sistemas de producción de documentos más grandes, entre los que destacan LaTeX y ConTeXt.

Desarrollo

El código fuente original del software TeX actual está escrito en WEB , una combinación 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 sólo aritmética de punto fijo para sus cálculos internos. Como resultado, TeX ha sido portado a casi todos los sistemas operativos , generalmente usando 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 partir de 2021 , la lista contiene 440 entradas, sin incluir la modificación de versión que debe realizarse después de su muerte como cambio final en TeX. [40] [41] Knuth ofrece premios monetarios a las personas que encuentren e informen un error en TeX. El premio por error comenzó en 2,56 dólares estadounidenses (un "dólar hexadecimal" [42] ) y se duplicó cada año hasta que se congeló en su valor actual de 327,68 dólares. Knuth ha perdido relativamente poco dinero ya que se han reclamado muy pocos errores. Además, se sabe que los destinatarios enmarcan su cheque como prueba de que encontraron un error en TeX en lugar de cobrarlo. [43] [44]

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 aquellos que envían informes de errores pueden obtener crédito en el Banco de San Serriffe . [45]

Distribuciones y extensiones

TeX generalmente se proporciona en forma de un paquete fácil de instalar del propio TeX junto con Metafont y todas las fuentes, formatos de documentos y utilidades necesarios para usar el sistema de composición tipográfica. En sistemas compatibles con UNIX, incluidos Linux y Apple macOS , TeX se distribuye como parte de la distribución más grande de TeX Live . (Antes de TeX Live, la distribución teTeX era el estándar de facto en los 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 backend para imprimir desde el motor DSSSL de James Clark , el sistema de publicación Arbortext , y Texinfo , el sistema de procesamiento de documentación GNU. TeX ha sido el paquete de composición tipográfica oficial para el 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 producir directamente resultados PDF (además de seguir admitiendo la salida DVI original); XeTeX , un motor compatible con TeX que soporta Unicode y OpenType ; y LuaTeX , una extensión de TeX compatible con Unicode que incluye un tiempo de ejecución de Lua con amplios enlaces a las rutinas y algoritmos subyacentes de TeX. La mayoría de las extensiones TeX están disponibles de forma gratuita en CTAN , la red integral de archivos TeX.

Editores

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

  1. El editor de texto TeXmacs es un editor de texto científico WYSIWYG - WYSIWYM , inspirado tanto en TeX como en Emacs . Utiliza las fuentes de Knuth y puede generar resultados TeX.
  2. Al dorso es un editor en línea WYSIWYG parcial que proporciona una solución basada en la nube para TeX junto con funciones adicionales de edición colaborativa en tiempo real.
  3. LyX es un procesador de documentos WYSIWYM que se ejecuta en una variedad de plataformas que incluyen:
    1. Linux ,
    2. Microsoft Windows (las versiones más recientes requieren Windows 2000 o posterior)
    3. Apple macOS (usando una interfaz Qt no nativa ).
  4. TeXShop (para macOS), TeXworks (para Linux, macOS y Windows) y WinShell (para Windows) son herramientas similares y proporcionan un entorno de desarrollo integrado (IDE) para trabajar con LaTeX o TeX. Para KDE /Qt, Kile proporciona dicho IDE.
  5. Texmaker es el equivalente Pure Qt de Kile, con una interfaz de usuario casi igual a la de Kile.
  6. TeXstudio es una bifurcación de código abierto (2009) de Texmaker que ofrece un enfoque diferente en cuanto a configurabilidad y características. Se proporcionan binarios descargables gratuitos para Windows, Linux, macOS, OS/2 y FreeBSD.
  7. GNU Emacs tiene varios paquetes integrados y de terceros compatibles con TeX, siendo el principal AUCTeX .
  8. Código de estudio visual . Una extensión notable es LaTeX Workshop.
  9. Para Vim , los posibles complementos incluyen Vim-LaTeX Suite, [46] Automatic TeX [47] y TeX-9. [48]
  10. Para Apache OpenOffice y LibreOffice , las extensiones iMath y TexMaths pueden proporcionar composición tipográfica TeX matemática. [49] [50]
  11. Para MediaWiki , la extensión Math proporciona composición tipográfica TeX matemática, pero el código debe estar rodeado por <math>una etiqueta.

Licencia

Donald Knuth ha indicado varias veces [51] [52] [53] que el código fuente de TeX se ha colocado en el " dominio público " y recomienda encarecidamente modificaciones o experimentaciones 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 similar que pueda causar confusión. Para hacer cumplir esta regla, cualquier implementación del sistema debe pasar un conjunto de pruebas llamado prueba TRIP [54] antes de que se le permita llamarse TeX. La cuestión de la licencia resulta algo confusa por las declaraciones incluidas al principio del código fuente de TeX, [55] que indican que "todos los derechos están reservados. La copia de este archivo está autorizada sólo si... no realiza absolutamente ningún cambio en su Copiar". Esta restricción debe interpretarse como una prohibición de cambiar el código fuente siempre que el archivo se llame tex.web . La nota de derechos de autor al comienzo de tex.web (y mf.web) se modificó 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 ' "). [56] La Sociedad Matemática Estadounidense intentó a principios de la década de 1980 reclamar una marca registrada para TeX. Esto fue rechazado porque en ese momento Honeywell registró "TEX" (todo en mayúsculas) para el sistema de procesamiento de texto " Text EXecutive ". [ cita necesaria ]

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ó que los artículos científicos en disciplinas matemáticas se redujeran a archivos relativamente pequeños que podían representarse en el lado del cliente, lo que permitió intercambiar artículos científicos completamente tipográficos a través de la Internet inicial y la World Wide Web emergente, incluso cuando enviar 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. [57]

Pronunciación y ortografía

Su desarrollador pretende que el nombre TeX se pronuncie / t ɛ x / , con la consonante final de lago. [58] Las letras del nombre están destinadas a representar las letras griegas mayúsculas tau , épsilon y chi , ya que TeX es una abreviatura de τέχνη ( ΤΕΧΝΗ technē ), en griego tanto para "arte" como para "artesanía", que también es la palabra raíz de 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 de base y un espacio 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). [59] A los fanáticos les gusta difundir nombres de la palabra "TeX", como TeXnician (usuario del software TeX), TeXhacker (programador de TeX), TeXmaster (programador competente de TeX), TeXhax y TeXnique . [60]

Comunidad

Logotipo del grupo de usuarios de TeX

Las entidades notables en la comunidad TeX incluyen TeX Users Group (TUG), que actualmente publica TUGboat y anteriormente publicó The PracTeX Journal , que cubre una amplia gama de temas de tipografía digital relevantes para TeX. El Deutschsprachige Anwendervereinigung TeX (DANTE) es un gran grupo de usuarios en Alemania. El TeX Users Group se fundó en 1980 con fines educativos y científicos, 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 TeX Users Group publica la revista TUGboat tres veces al año; [61] DANTE publica Die TeXnische Komödie  [de] cuatro veces al año. Otros grupos de usuarios incluyen DK-TUG en Dinamarca , GUTenberg  [fr] 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. [62]

Extensiones

Ver también

Notas

  1. ^ Tipo de medio no registrado
  2. ^ Aunque troff sigue siendo el formateador predeterminado de la documentación de UNIX.

Referencias

  1. ^ "Per Bothner (asistente a las reuniones del Proyecto TeX) analiza la autoría". Definitivamente, Knuth escribió la mayor parte del código él mismo, al menos para la reescritura de Metafont, para lo cual tengo conocimiento personal. Sin embargo, algunos de sus alumnos (como Michael Plass y John Hobby) trabajaron en los algoritmos utilizados en TeX y Metafont.
  2. ^ Yannis Haralambous. Fuentes y codificaciones (traducido por P. Scott Horne) . Beijing; Sebastopol, California: O'Reilly Media, 2007, págs.235.
  3. ^ Gaudeul, Alexia (27 de marzo de 2006). "¿Responden los desarrolladores de código abierto a la competencia?: El estudio de caso de (La) TeX". doi :10.2139/ssrn.908946. S2CID  154052655. SSRN  908946. {{cite journal}}: Citar diario requiere |journal=( ayuda )
  4. ^ Knuth, Donald E. "Biografía menos breve". Página de inicio de Don Knuth . Archivado desde el original el 5 de diciembre de 2016 . Consultado el 9 de enero de 2017 .
  5. ^ Knuth, Donald E. "Conferencia conmemorativa del Premio Kyoto, 1996" (PDF) . Premio Kioto . Archivado desde el original (PDF) el 27 de enero de 2018 . Consultado el 18 de agosto de 2018 .
  6. ^ Knuth, Donald Ervin, TEXDR.AFT, archivado desde el original el 12 de enero de 2015
  7. ^ Knuth y Plass 1981, pág. 144.
  8. ^ 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. 648.
  9. ^ Knuth, Donald E. Las nuevas versiones de TeX y METAFONT, TUGboat 10 (1989), 325–328; 11 (1990), 12. Reimpreso como capítulo 29 de Digital Typography .
  10. ^ Hoenig, Alan (1998). TeX Unbound: estrategias LaTeX y TeX para fuentes, gráficos y más. Prensa de la Universidad de Oxford. ISBN 978-0-19-509686-6.
  11. ^ "Lanzamiento de TeX 21" . Consultado el 5 de enero de 2022 .
  12. ^ ab "¿Cuál es el futuro de TeX?". Preguntas frecuentes sobre TeX . 27 de mayo de 2018. Archivado desde el original el 28 de abril de 2019 . Consultado el 21 de julio de 2019 .
  13. ^ Knuth, Donald E. El futuro de TeX y METAFONT, revista NTG MAPS (1990), 489. Reimpreso como capítulo 30 de Digital Typography , p. 571.
  14. ^ "Desarrollo del motor TeX". Preguntas frecuentes sobre TeX . 24 de mayo de 2018. Archivado desde el original el 28 de abril de 2019 . Consultado el 21 de julio de 2019 .
  15. ^ ab Knuth, Donald E; MacKay, Pierre (1987), "Mezcla de textos de derecha a izquierda con textos de izquierda a derecha" (PDF) , TUGboat , 8 : 14–25. Reimpreso como Bigelow, Charles; Día, Donald (1983). "Capítulo 4". Tipografía Digital . vol. 249. pág. 106. Código Bib : 1983SciAm.249b.106B. doi : 10.1038/scientificamerican0883-106. {{cite book}}: |journal=ignorado ( ayuda )
  16. ^ Beebe 2004, pag. 10.
  17. ^ Knuth, Donald E (1996), "Preguntas y respuestas I", TUGboat , 17 : 7–22. Reimpreso como Bigelow, Charles; Día, Donald (1983). "Capítulo 31". Tipografía Digital . vol. 249. pág. 598. Código Bib : 1983SciAm.249b.106B. doi : 10.1038/scientificamerican0883-106. {{cite book}}: |journal=ignorado ( ayuda )
  18. ^ Knuth, Donald E (1996), "Preguntas y respuestas II", TUGboat , 17 : 355–367. Reimpreso como Bigelow, Charles; Día, Donald (1983). "Capítulo 32". Tipografía Digital . vol. 249, págs. 616–617. Código Bib : 1983SciAm.249b.106B. doi : 10.1038/scientificamerican0883-106. {{cite book}}: |journal=ignorado ( ayuda )
  19. ^ Jeffrey, Alan (1990), "Listas en boca de TeX" (PDF) , TUGboat , 11 (2): 237–45
  20. ^ "CTAN: Paquete pdftex". ctan.org . Consultado el 21 de julio de 2019 .
  21. ^ Knuth 1984, pag. 9.
  22. ^ Plain TeX (código fuente), CTAN
  23. ^ "¿Qué son los paquetes AMS (amsmath, etc.)?". Preguntas frecuentes sobre TeX . 27 de mayo de 2018. Archivado desde el original el 28 de abril de 2019 . Consultado el 21 de julio de 2019 .
  24. ^ Knuth 1984, pag. 127, cap. 16: Escribir fórmulas matemáticas.
  25. ^ Slater, Robert (1989), Retratos en silicio, MIT Press, p. 349, ISBN 9780262691314
  26. ^ Syropoulos, Apóstolos; Tsolomitis, Antonis; Sofroniou, Nick (2003), Tipografía digital con LaTeX, Springer, pág. 93, ISBN 9780387952178
  27. ^ Knuth, Donald E (1996), "Preguntas y respuestas II", TUGboat , 17 : 355–367. Reimpreso como Bigelow, Charles; Día, Donald (1983). "Capítulo 32". Tipografía Digital . vol. 249, págs. 620–624. Código Bib : 1983SciAm.249b.106B. doi : 10.1038/scientificamerican0883-106. {{cite book}}: |journal=ignorado ( ayuda )
  28. ^ Knuth, Donald E. Typesetting Concrete Mathematics, TUGboat 10 (1989), págs. 31–36, 342. Reimpreso como capítulo 18 de Digital Typography , págs.
  29. ^ Vieth, Ulrik. "Composición matemática en TEX: Lo bueno, lo malo, lo feo" (PDF) . Archivado desde el original (PDF) el 20 de enero de 2022.
  30. ^ "Edición y visualización de texto matemático de alta calidad en Office 2007".
  31. ^ "Servicios de línea".
  32. ^ "Mapa" (PDF) . ntg.nl. _
  33. ^ Barnett, Michael P (1965), Composición tipográfica por computadora: experimentos y perspectivas , Cambridge , MA : MIT Press
  34. ^ Knuth y Plass 1981.
  35. ^ "Donald E. Knuth", TUGboat (entrevista), Advogato , 21 : 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 el texto del párrafo", manual de utilidades principales de GNU (GNU coreutils) , Proyecto GNU, 2016
  37. ^ Liang 1983, pág. 3.
  38. ^ Liang 1983.
  39. ^ "Apéndice H: Separación de palabras", The TeXbook , págs. 449–55
  40. ^ Knuth, Donald E. Lista de actualizaciones del listado TeX82 publicada en septiembre de 1982, disponible en CTAN .
  41. ^ Knuth, Donald E. Apéndice del documento Errors of TeX, disponible en CTAN, modificado por última vez en enero de 2003.
  42. ^ Knuth, Donald E. "Knuth: preguntas frecuentes". www-cs-faculty.stanford.edu/~knuth/ . Archivado desde el original el 6 de marzo de 2008 . Consultado el 28 de noviembre de 2019 .
  43. ^ Kara Platoni (mayo-junio de 2006). "Amor al primer byte". Revista Stanford . Archivado desde el original el 4 de junio de 2006.
  44. ^ Grupo de usuarios de TeX. "Historia de TeX". tug.org . Consultado el 28 de noviembre de 2019 .
  45. ^ Knuth, Donald E (2008). "Knuth: Noticias recientes - Fiasco financiero". www-cs-faculty.stanford.edu/~knuth/ . Archivado desde el original el 29 de noviembre de 2019 . Consultado el 29 de noviembre de 2019 .
  46. ^ Vim‐LaTex, SourceForge
  47. ^ Complemento TeX automático, plataforma de lanzamiento[ enlace muerto permanente ]
  48. ^ TeX-9, Vim.org
  49. ^ Página de inicio de TexMaths, free.fr
  50. ^ matemáticas, SourceForge
  51. ^ Bigelow, Charles; Día, Donald (1983). "El futuro de TeX y METAFONT". Tipografía Digital . vol. 249. pág. 572. Código Bib : 1983SciAm.249b.106B. doi : 10.1038/scientificamerican0883-106. {{cite book}}: |journal=ignorado ( ayuda )
  52. ^ Knuth, Donald E (1986), "Computadoras y tipografía" (PDF) , TUGboat , 7 : 95–98
  53. ^ Bigelow, Charles; Día, Donald (1983). "Capítulo 28" (PDF) . Tipografía Digital . vol. 249. pág. 560. Código Bib : 1983SciAm.249b.106B. doi : 10.1038/scientificamerican0883-106. {{cite book}}: |journal=ignorado ( ayuda )
  54. ^ "Viaje", CTAN (TeX) (código fuente)
  55. ^ Knuth, Donald E (1986), TeX: el programa , Computadoras y tipografía, vol. B, lectura, MA: Addison-Wesley, ISBN 0-201-13437-3
  56. ^ Código abierto: tecnología y políticas por Fadi P. Deek, James AM McHugh "Dominio público", página 227 (2008)
  57. ^ O'Connell, Heath (2002). "Los físicos prosperan con la publicación sin papel". Hep Lib.web . 6 : 3. arXiv : física/0007040 .
  58. ^ Knuth, Donald E. El TeXbook , cap. 1: El nombre del juego, pág. 1.
  59. ^ Knuth, Donald E. El logotipo de TeX en varias fuentes, TUGboat 7 (1986), 101. Reimpreso como capítulo 6 de Tipografía digital .
  60. ^ "El archivo de jerga: TeX" . Consultado el 23 de julio de 2016 .
  61. ^ "Las comunicaciones del grupo de usuarios de TeX". tug.org . Grupo de usuarios de TeX . Consultado el 15 de marzo de 2019 .
  62. ^ "Todos los grupos de usuarios de TeX". tug.org . Grupo de usuarios de TeX . Consultado el 17 de noviembre de 2019 .

Fuentes

enlaces externos