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

# Een artikelreeks in zes delen over \expandafter, TeX-tokens en expansie

## Overzicht

De TeX-primitive `\expandafter` is een veelzijdig commando, gebruikt door LaTeX/TeX-programmeurs om geavanceerde macro's te creëren—zoals de commando's (macro's) die door LaTeX-pakketten worden geleverd. Op het eerste gezicht, `\expandafter` is het eenvoudig te gebruiken, maar dat masker van eenvoud verdwijnt al snel wanneer je complexere constructies tegenkomt, zoals meerdere opeenvolgende `\expandafter` commando's die worden gebruikt om allerlei vormen van “tokenjongleren” uit te voeren `...\expandafter\expandafter\expandafter...`.

Deze artikelreeks heeft een ambitieus doel: uitleggen *hoe* het `\expandafter` commando en TeX-expansie daadwerkelijk werken—van de basisprincipes tot het verkennen van processen die diep in de TeX-engine-software plaatsvinden. Lezers kunnen rechtstreeks naar de [artikelen](#accessing-articles-the-navigation-bar) of een [inleiding](#introduction-and-who-is-this-series-for) en de reden en onderbouwing voor de reeks lezen.

## Artikelen openen: de navigatiebalk

Elk artikel heeft de volgende navigatiebalk vóór en na de tekst, zodat je snel naar een ander artikel in de reeks kunt springen:

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

Hier zijn links naar de 6 artikelen in de reeks:

1. [Een introductie tot TeX-tokens](/latex/nl/diepgaande-artikelen/19-how-does-expandafter-work-an-introduction-to-tex-tokens.md)
2. [De betekenis van expansie](/latex/nl/diepgaande-artikelen/22-how-does-expandafter-work-the-meaning-of-expansion.md)
3. [TeX gebruikt tijdelijke tokenlijsten](/latex/nl/diepgaande-artikelen/21-how-does-expandafter-work-tex-uses-temporary-token-lists.md)
4. [Van basisprincipes tot het verkennen van de broncode van TeX](/latex/nl/diepgaande-artikelen/20-how-does-expandafter-work-from-basic-principles-to-exploring-tex-s-source-code.md)
5. [Een gedetailleerde casestudy van een macro](/latex/nl/diepgaande-artikelen/17-how-does-expandafter-work-a-detailed-macro-case-study.md)
6. [Een gedetailleerde studie van opeenvolgende `\expandafter` commando's](/latex/nl/diepgaande-artikelen/18-how-does-expandafter-work-a-detailed-study-of-consecutive-expandafter-commands.md)

## Introductie en voor wie is deze reeks bedoeld?

### \expandafter: basisprincipes van de werking

Het doel van \expandafter is om voortijdige expansie van een token in de invoer af te dwingen: gegeven twee opeenvolgende tokens in de invoer, $$\mathrm{T\_1}$$ en $$\mathrm{T\_2}$$, `\expandafter` zal token opslaan $$\mathrm{T\_1}$$, token uitbreiden $$\mathrm{T\_2}$$ en token plaatsen $$\mathrm{T\_1}$$ terug vóór de expansie van $$\mathrm{T\_2}$$:

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

In navolging van de standaardbeschrijving van `\expandafter`’s gedrag merkten we op dat het “token opslaat $$\mathrm{T\_1}$$”, de “expansie” van token afdwingt $$\mathrm{T\_2}$$ (voordat TeX dat normaal zou doen) en vervolgens token $$\mathrm{T\_1}$$ “terug in de invoer” zet zodat TeX het opnieuw kan lezen. De auteur van dit artikel herinnert zich dat hij/zij door sommige aspecten van `\expandafter`’s gedrag van “tokenjongleren” in de war raakte; in het bijzonder:

* Wat betekent het om een “token op te slaan” of een “token terug in de invoer te plaatsen”—waar gaan deze opgeslagen tokens “naartoe” en hoe leest TeX ze opnieuw?
* Hoe ziet expansie er “uit” of wat betekent het echt?
* Hoe verwerkt TeX meerdere opeenvolgende `\expandafter` commando's—hoe doet dat *eigenlijk* werken?

### Doelstellingen van de artikelreeks

Deze reeks probeert de bovenstaande vragen te beantwoorden door de resultaten te documenteren van onderzoek naar de interne werking van TeX. Overleaf bouwde een aangepaste versie van een van de TeX-engines en gebruikte de [Eclipse IDE](https://www.eclipse.org/ide/) om de TeX-broncode in actie te observeren terwijl die een `.tex` bestand met voorbeeldtoepassingen van `\expandafter`.

We zullen de resultaten van dat onderzoek delen om het volgende te onderzoeken:

* de ware aard/betekenis van TeX-tokens;
* TeX’ generatie/gebruik van tijdelijke tokenlijsten;
* wat “expansie” echt betekent.

Door deze onderwerpen te verkennen, zullen we het grote geheel samenbrengen om uit te leggen *hoe* `\expandafter` zijn gedrag van “tokenjongleren” uitvoert. Deze artikelreeks is geschreven voor iedereen die meer inzicht in deze onderwerpen wil ontwikkelen: om een diepere blik in TeX zelf te werpen, waarbij die onderdelen van TeX’ interne werking worden onderzocht die het mogelijk maken dat `\expandafter` zijn magie te doen.

Artikelen schrijven over TeX en met TeX verwante concepten/principes is een uitdaging, omdat TeX een buitengewoon complex stuk software is—de opgemaakte broncode beslaat vele honderden pagina's. Zie bijvoorbeeld dit [Overleaf-project](https://www.overleaf.com/latex/examples/typeset-the-source-code-documentation-for-tex-e-tex-or-pdftex/qkgfgyspnhcv) dat standaard de broncode van $$\mathrm{\varepsilon}\text{-}\mathrm{\TeX}$$: het opgemaakte pdf-bestand bevat meer dan 600 pagina's.

Intern is TeX een ingewikkeld web van onderling verbonden handelingen en processen, wat uitdagingen oplevert wanneer men probeert geïsoleerde aspecten van zijn gedrag te bespreken: het loshalen van een specifiek “onderdeel”, zoals `\expandafter`, en proberen het uit te leggen zonder voortdurend naar andere aspecten van de TeX-software te hoeven verwijzen. Door zijn aard is het `\expandafter` commando betrokken bij het proces van *expansie*—een proces dat voor velen van ons een vaag en enigszins moeilijk volledig te begrijpen concept is. Toch is expansie een werkelijk fundamenteel aspect van TeX' gedrag, verweven door de hele interne werking van TeX en diep binnen de TeX-software zelf plaatsvindend. In deze artikelreeks zullen we de echte betekenis van expansie verkennen, beginnend met het samenstellen van een verzameling verwante principes en gedragingen die voldoende is om een basisbegrip van expansie op te bouwen. Op basis van die fundamenten sluiten we af met een “diepe duik” om in TeX zelf te kijken en de werkelijke broncode te verkennen die TeX’ expansiemechanisme implementeert.

## Tot slot

In deze artikelen hebben we geprobeerd inhoud te bieden die nuttig/waardevol of interessant is voor zo veel mogelijk lezers: we hebben geprobeerd beknoptheid in evenwicht te brengen met onvermijdelijke details, terwijl we er tegelijkertijd op hebben gelet het geduld van de lezer niet op de proef te stellen door te veel of te weinig context te geven. We hopen iets nuttigs/waardevols te hebben bijgedragen aan de TeX-literatuur, waarvan huidige en wellicht toekomstige leden van de TeX-gemeenschap met plezier zullen lezen.

Fijne $$\mathrm{\TeX}\text{ing!}$$, van Graham Douglas en het Overleaf-team.


---

# 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/nl/diepgaande-artikelen/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.
