> 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/03-a-six-part-article-series-on-expandafter-tex-tokens-and-expansion.md).

# Una serie de seis artículos sobre \expandafter, tokens de TeX y expansión

## Descripción general

La primitiva de TeX `\\expandafter` es un comando versátil, utilizado por programadores de LaTeX/TeX para crear macros sofisticadas—como los comandos (macros) proporcionados por los paquetes de LaTeX. A primera vista, `\\expandafter` es fácil de usar, pero esa apariencia de simplicidad pronto desaparece cuando te encuentras con construcciones más complejas, como múltiples consecutivos `\\expandafter` comandos usados para realizar todo tipo de «malabarismos con tokens» `...\expandafter\expandafter\expandafter...`.

Esta serie de artículos tiene un objetivo ambicioso: explicar *cómo* la `\\expandafter` cómo funcionan realmente el comando y la expansión de TeX, desde los principios básicos hasta la exploración de los procesos que tienen lugar en lo más profundo del software del motor de TeX. Los lectores pueden ir directamente a los [artículos](#accessing-articles-the-navigation-bar) o leer un [introducción](#introduction-and-who-is-this-series-for) y la razón y el propósito de la serie.

## Acceso a los artículos: la barra de navegación

Cada artículo tiene la siguiente barra de navegación antes y después del texto, para que puedas saltar rápidamente a otro artículo de la serie:

[Parte 1](/latex/es/articulos-en-profundidad/19-how-does-expandafter-work-an-introduction-to-tex-tokens.md) [Parte 2](/latex/es/articulos-en-profundidad/22-how-does-expandafter-work-the-meaning-of-expansion.md) [Parte 3](/latex/es/articulos-en-profundidad/21-how-does-expandafter-work-tex-uses-temporary-token-lists.md) [Parte 4](/latex/es/articulos-en-profundidad/20-how-does-expandafter-work-from-basic-principles-to-exploring-tex-s-source-code.md) [Parte 5](/latex/es/articulos-en-profundidad/17-how-does-expandafter-work-a-detailed-macro-case-study.md) [Parte 6](/latex/es/articulos-en-profundidad/18-how-does-expandafter-work-a-detailed-study-of-consecutive-expandafter-commands.md)

Aquí tienes enlaces a los 6 artículos de la serie:

1. [Una introducción a los tokens de TeX](/latex/es/articulos-en-profundidad/19-how-does-expandafter-work-an-introduction-to-tex-tokens.md)
2. [El significado de la expansión](/latex/es/articulos-en-profundidad/22-how-does-expandafter-work-the-meaning-of-expansion.md)
3. [TeX utiliza listas temporales de tokens](/latex/es/articulos-en-profundidad/21-how-does-expandafter-work-tex-uses-temporary-token-lists.md)
4. [Desde los principios básicos hasta la exploración del código fuente de TeX](/latex/es/articulos-en-profundidad/20-how-does-expandafter-work-from-basic-principles-to-exploring-tex-s-source-code.md)
5. [Un estudio de caso detallado de una macro](/latex/es/articulos-en-profundidad/17-how-does-expandafter-work-a-detailed-macro-case-study.md)
6. [Un estudio detallado de consecutivos `\\expandafter` comandos](/latex/es/articulos-en-profundidad/18-how-does-expandafter-work-a-detailed-study-of-consecutive-expandafter-commands.md)

## Introducción y ¿para quién es esta serie?

### \expandafter: principios básicos de funcionamiento

El propósito de \expandafter es forzar la expansión prematura de un token en la entrada: dados dos tokens consecutivos en la entrada, $$\mathrm{T\_1}$$ y $$\mathrm{T\_2}$$, `\\expandafter` guardará el token $$\mathrm{T\_1}$$, expandirá el token $$\mathrm{T\_2}$$ y colocará el token $$\mathrm{T\_1}$$ de nuevo delante de la expansión de $$\mathrm{T\_2}$$:

$$\verb\*\expandafter\*\ \mathrm{T\_1}\mathrm{T\_2} \rightarrow \mathrm{T\_1}\text{\<expansion of }\mathrm{T\_2}\text{>}$$

Siguiendo la descripción estándar de `\\expandafter`del comportamiento de se observó que «guarda el token $$\mathrm{T\_1}$$», fuerza la «expansión» del token $$\mathrm{T\_2}$$ (antes de que TeX lo hiciera normalmente) y luego pone el token $$\mathrm{T\_1}$$ «de nuevo en la entrada» para que TeX lo lea otra vez. El autor de este artículo recuerda haber estado confundido por algunos aspectos de `\\expandafter`del comportamiento de «malabarismo con tokens»; en particular:

* ¿Qué significa «guardar un token» o «volver a poner un token en la entrada»? ¿Adónde «van» esos tokens guardados y cómo los vuelve a leer TeX?
* ¿Cómo «se ve» la expansión o qué significa realmente?
* ¿Cómo procesa TeX múltiples consecutivos `\\expandafter` comandos: ¿cómo *realmente* funciona?

### Objetivos de la serie de artículos

Esta serie busca abordar las preguntas planteadas arriba documentando los resultados de una investigación sobre el funcionamiento interno de TeX. Overleaf creó una versión personalizada de uno de los motores de TeX y utilizó el [IDE Eclipse](https://www.eclipse.org/ide/) para observar el código fuente de TeX en funcionamiento mientras procesaba un `.tex` archivo que contenía ejemplos de uso de `\\expandafter`.

Compartiremos los resultados de esa investigación para examinar:

* la verdadera naturaleza/significado de los tokens de TeX;
* la generación/uso de listas temporales de tokens de TeX;
* qué significa realmente «expansión».

A través de una exploración de estos temas, ensamblaremos la visión general para explicar *cómo* `\\expandafter` realiza su comportamiento de «malabarismo con tokens». Esta serie de artículos está escrita para cualquiera que esté interesado en desarrollar una comprensión de estos temas: para echar un vistazo más profundo al propio TeX, examinando aquellas partes de las operaciones internas de TeX que permiten `\\expandafter` que haga su magia.

Escribir artículos sobre TeX y conceptos/principios relacionados con TeX es un desafío porque TeX es un software extraordinariamente complejo—su código fuente compuesto se extiende por muchas centenas de páginas. Por ejemplo, mira este [proyecto de Overleaf](https://www.overleaf.com/latex/examples/typeset-the-source-code-documentation-for-tex-e-tex-or-pdftex/qkgfgyspnhcv) que, de forma predeterminada, compone tipográficamente el código fuente de $$\mathrm{\varepsilon}\text{-}\mathrm{\TeX}$$: el archivo PDF compuesto tipográficamente contiene más de 600 páginas.

Internamente, TeX es una compleja red de acciones y procesos interrelacionados que presenta desafíos al intentar discutir aspectos aislados de su comportamiento: diseccionar un «componente» específico, como `\\expandafter`, y tratar de explicarlo sin necesidad constante de hacer referencia a otros aspectos del software de TeX. Por su propia naturaleza, el `\\expandafter` comando interactúa con el proceso de TeX de *expansión*—un proceso que, para muchos de nosotros, es un concepto vago y algo difícil de comprender del todo. Sin embargo, la expansión es un aspecto verdaderamente fundamental del comportamiento de TeX, entretejido en todo el funcionamiento interno de TeX y que tiene lugar en lo más profundo del propio software de TeX. En esta serie de artículos exploraremos el verdadero significado de la expansión, comenzando por reunir una colección de principios y comportamientos relacionados suficiente para construir una comprensión básica de la expansión. Sobre la base de esos cimientos concluimos haciendo una «inmersión profunda» para mirar dentro del propio TeX, explorando el código fuente real que implementa el mecanismo de expansión de TeX.

## En conclusión

En estos artículos hemos intentado proporcionar contenido útil/valioso o de interés para el mayor número posible de lectores: tratando de equilibrar la brevedad con el detalle inevitable, al mismo tiempo que intentamos no arriesgar la paciencia del lector proporcionando demasiado, o demasiado poco, material contextual. Esperamos haber contribuido con algo útil/valioso a la literatura de TeX, que los miembros actuales y, quizás, futuros de la comunidad de TeX disfrutarán leyendo.

Feliz $$\mathrm{\TeX}\text{ing!}$$, de parte de Graham Douglas y el equipo de Overleaf.


---

# 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/03-a-six-part-article-series-on-expandafter-tex-tokens-and-expansion.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.
