> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/es/articulos-en-profundidad/49-the-tex-family-tree-latex-pdftex-xetex-luatex-and-context.md).

# El árbol genealógico de TeX: LaTeX, pdfTeX, XeTeX, LuaTeX y ConTeXt

La historia de LaTeX se remonta hasta 1977, cuando Donald Knuth comprendió por primera vez la necesidad de un programa de composición tipográfica de alta calidad. Es un testimonio notable de la calidad de LaTeX que el sistema que concibió entonces siga siendo hoy la mejor herramienta para este trabajo, aunque desde entonces se han añadido muchas utilidades. De hecho, LaTeX es una de estas incorporaciones al sistema original que Donald Knuth desarrolló, el cual se llamaba [TeX](http://www.tug.org/).

Para mantener tu prestigio en el mundo de LaTeX, tienes que escribirlo con T y X en mayúsculas, y pronunciarlo como Lay-Tech. Esto se debe a que la X en TeX en realidad es una Chi mayúscula (χ) del griego. ¡Látex, con una capitalización y pronunciación normales, es un tipo de goma!

## El TeX original

Existe una gran familia de herramientas que ahora derivan de TeX, y a primera vista puede parecer una lista de palabras sin sentido: LaTeX, pdfTeX, XeLaTeX, LuaTeX, ConTeXt, y así sucesivamente. El antepasado de todas ellas es, por supuesto, el programa TeX original de Knuth. Este toma un documento en texto plano y lo transforma en un documento bellamente compuesto. Knuth era bastante exigente con la composición tipográfica y la atención al detalle en TeX es evidente. Un ejemplo de documento TeX podría verse algo así:

```latex
\TeX{} es bueno componiendo palabras como `fjord', `efficiency',
y `fiasco'. También es bueno componiendo matemáticas como,
$a^2 + b^2 = c^2$.
\bye
```

La salida de esto después de pasarlo por el programa TeX es:

![Texsample.png](/files/15447474144ec95a10f5fb6f48ee6f63ffac65a8)

Observa cómo las combinaciones de letras 'fi', 'fj' y 'ff' en las palabras del ejemplo se unen de una forma agradable, y cómo los símbolos matemáticos están bien espaciados. A mayor escala, TeX hace un muy buen trabajo al cortar las líneas en los lugares apropiados para crear texto bien justificado, con guiones donde corresponde.

No solo compone el texto de forma bonita, sino que también tiene una selección de comandos, como `\bye` y `\TeX` en el ejemplo anterior. Estos pueden hacer cosas sencillas como cambiar el tamaño de la fuente, o cambiar la forma en que se maquetan las palabras, además de cosas mucho más potentes como llevar el recuento de secciones para cruzar referencias en tus páginas, o construir automáticamente una tabla de contenidos. El programa TeX trae integrados unos 300 comandos, pero también pueden definirse otros dentro de él. Donald Knuth escribió otros 600 comandos útiles aproximadamente desde dentro de TeX, en un paquete llamado Plain TeX, que facilita algunas tareas comunes de composición tipográfica.

## LaTeX

Los comandos en TeX y Plain TeX siguen siendo bastante básicos y no es fácil hacer cosas complicadas con ellos. Para ayudar con esto, Leslie Lamport creó [LaTeX](http://www.latex-project.org/) a principios de los años 80 para ofrecer un lenguaje de mayor nivel con el que trabajar que TeX. LaTeX es un conjunto de comandos definidos en términos de los comandos TeX subyacentes, a menudo con muchísimos niveles de abstracción. Todos los comandos que usas en un documento LaTeX en realidad no son más que conjuntos complicados de comandos TeX por debajo, ¡salvo, claro, que uses directamente un comando TeX! Conceptos como paquetes (`\usepackage{...}`), entornos (`\begin{environment} ... \end{environment}`), y clases de documento (`\documentclass{...}`) fueron introducidos todos por Leslie Lamport en LaTeX.

Al crear un sistema estandarizado de paquetes para LaTeX, Leslie Lamport permitió que la comunidad creciera enormemente. Ahora hay miles y miles de paquetes de LaTeX disponibles para permitirte componer tipográficamente cualquier cosa, desde subfiguras hasta patrones de tejido. También hay muchas clases de documento disponibles para distintos tipos de documento, tanto si estás escribiendo un libro, un informe de laboratorio o un currículum. Muchos editores y revistas tienen sus propias clases de documento personalizadas que dan a sus documentos el estilo que quieren.

## pdfTeX

El programa TeX es notablemente estable para un software de más de 20 años; Knuth declaró que estaba completo en cuanto a funciones en 1989, y desde entonces solo se han hecho correcciones de errores. Por supuesto, esto no ha detenido el desarrollo significativo y continuo de LaTeX, porque está escrito en el propio TeX. De hecho, la estabilidad de TeX ha permitido prosperar a paquetes como LaTeX que se han construido sobre él.

Esto no quiere decir que el programa TeX subyacente no haya visto avances en los últimos 20 años. Ni mucho menos, de hecho; solo que las mejoras se han hecho junto a TeX, dejando estable el TeX original. La mejora más importante de los años 90 fue la creación de [pdfTeX](http://www.tug.org/applications/pdftex/) por Hàn Thế Thành para su tesis doctoral. El programa TeX original genera el documento compuesto en un formato personalizado llamado DVI (formato independiente del dispositivo), que luego puede convertirse en un archivo PostScript para imprimir. Sin embargo, el formato PDF apareció en 1993 y hoy podemos ver que claramente ganó como mejor formato frente a PostScript. Hay muchas características que hacen que PDF sea mejor, como los hipervínculos entre secciones, una sección de metadatos que te permite ver una tabla de contenidos en el lado izquierdo de tu visor de PDF, y compatibilidad con una gama más amplia y moderna de formatos de imagen. pdfTeX es una modificación de TeX que le permite generar PDF directamente y así aprovechar estas características adicionales.

Cuando instalas hoy una distribución de LaTeX en tu sistema, en realidad viene con dos programas diferentes: `tex`, y `pdftex`. También viene con otros dos programas además de estos: `latex` y `pdflatex`, pero en realidad no son más que envoltorios alrededor de `tex` y `pdftex` respectivamente. Estos primero cargan los paquetes de LaTeX antes de procesar tu documento, pero por debajo siguen siendo TeX. Si ejecutas `latex` o `tex` entonces obtendrás un archivo DVI que puedes convertir en un archivo PostScript o en un PDF, pero si ejecutas `pdflatex` obtendrás un PDF directamente.

En general, `pdftex` y `pdflatex` son mejoras con respecto a `tex` y `latex`, pero hay una desventaja. El TeX original y el formato DVI admiten archivos Encapsulated PostScript (`.eps`) porque estos pueden incluirse fácilmente en archivos PostScript (producidos al convertir `.dvi` archivos a PostScript mediante [`Dvips`](https://www.tug.org/texinfohtml/dvips.html)). Sin embargo, `pdftex` no puede incluir archivos EPS, y en su lugar deberías usar PDF (que pueden producirse a partir de archivos EPS con el comando `epstopdf` que generalmente viene con las distribuciones de LaTeX). A cambio de esta desventaja, pdfTeX añade compatibilidad con `.png`, `.jpg` y `.pdf` imágenes, mientras que el TeX original solo admite .eps (mediante [`Dvips`](https://www.tug.org/texinfohtml/dvips.html)).

## XeLaTeX y LuaTeX

Hasta ahora hemos visto que TeX ha evolucionado de dos formas diferentes desde sus inicios: con la adición de comandos más fáciles de usar sobre el sistema original (LaTeX), y con actualizaciones del programa subyacente para admitir salida PDF (pdfTeX). Sin embargo, la historia no termina ahí y ha habido esfuerzos continuos para modernizar TeX. En 2004, Jonathon Kew creó [XeTeX](http://tug.org/xetex/), que es otra modificación del motor TeX subyacente, esta vez para admitir una gama más amplia de caracteres más allá de los simples números y letras del inglés, e incluir compatibilidad con formatos de fuentes modernos. Esto hace que escribir en idiomas extranjeros sea mucho más fácil, y también te permite usar en LaTeX fuentes que tradicionalmente solo estaban disponibles en tu procesador de textos.

[LuaTeX](http://www.luatex.org/) es un intento de ampliar el programa TeX original con un lenguaje de programación más sensato. Aunque en principio puedes hacer absolutamente cualquier cosa desde dentro de TeX, en la práctica es un lenguaje de programación muy torpe con el que trabajar, si es que puede llamarse lenguaje de programación. Gran parte de los entresijos de LaTeX son complicados y difíciles de entender para los de fuera debido a que hay que trabajar solo en TeX. LuaTeX se amplía con el lenguaje de scripting homónimo, Lua, que es un lenguaje simple y estable, ideal para escribir macros complicadas. A fecha de 2012, sigue en desarrollo activo y su API es susceptible de cambiar, pero sigue siendo muy utilizable.

## ConTeXt

Hemos mencionado LaTeX como una extensión de los comandos disponibles en TeX, pero no es el único paquete que ha ampliado TeX de una manera significativa. [ConTeXt](http://wiki.contextgarden.net/What_is_ConTeXt) es otro sistema que fue creado en 1990 por Hans Hagen. LaTeX pretende separar al usuario de tener que tomar decisiones sobre tipografía y diseño (escribes `\section` y `\emph` pero no te preocupas por lo que hacen esas cosas: eso se deja a la clase de documento o al diseño). Por otro lado, ConTeXt pretende ofrecer una interfaz sencilla para funciones avanzadas de tipografía. Por desgracia, no sé tanto sobre ConTeXt como me gustaría, así que no puedo extenderme mucho más, pero si algún día me animo a experimentar más con él, me aseguraré de escribir mis conclusiones.

Como nota histórica final, debo mencionar [AMSTeX](http://en.wikipedia.org/wiki/AMS-LaTeX) que era una extensión de las macros de Plain TeX y fue utilizado por la American Mathematical Society (AMS) de 1982 a 1985. Su legado pervive en los paquetes AMS-LaTeX, que son un elemento básico de muchos documentos LaTeX: `\usepackage{amsmath}`.

## El futuro

¿Qué deparará el futuro para TeX y LaTeX? Todavía no lo sé, pero como dijo una vez Alan Kay:

> La mejor manera de predecir el futuro es inventarlo.

Con ShareLaTeX esperamos mejorar TeX y LaTeX en una tercera dirección, aportando mejoras significativas al flujo de trabajo de LaTeX. A pesar de tener más de 20 años, LaTeX sigue siendo en gran medida un programa de línea de comandos que debe usarse en un incómodo ciclo de escribir, compilar y comprobar la salida. Los métodos de colaboración suelen implicar mensajes de correo electrónico engorrosos, en lugar de los procesos simplificados disponibles en procesadores de texto como Google Docs.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/es/articulos-en-profundidad/49-the-tex-family-tree-latex-pdftex-xetex-luatex-and-context.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
