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

# En artikelserie i seks dele om \expandafter, TeX-tokens og udvidelse

## Oversigt

TeX-primitiven `\expandafter` er en alsidig kommando, som bruges af LaTeX/TeX-programmører til at skabe avancerede makroer—såsom de kommandoer (makroer), som leveres af LaTeX-pakker. Overfladisk set, `\expandafter` er ligetil at bruge, men det skær af enkelhed forsvinder hurtigt, når man støder på mere komplekse konstruktioner såsom flere på hinanden følgende `\expandafter` kommandoer, der bruges til at udføre alverdens “tokenjonglering” `...\expandafter\expandafter\expandafter...`.

Denne artikelserie har et ambitiøst mål: at forklare *hvordan* den `\expandafter` kommandoen og TeX-udvidelse i praksis fungerer—fra grundlæggende principper til udforskning af processer, der finder sted dybt inde i TeX-motorens software. Læsere kan springe direkte til [artiklerne](#accessing-articles-the-navigation-bar) eller læse en [introduktionen](#introduction-and-who-is-this-series-for) og grunden og begrundelsen for serien.

## Adgang til artikler: navigationslinjen

Hver artikel har følgende navigationslinje før og efter teksten, så du hurtigt kan springe til en anden artikel i serien:

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

Her er links til de 6 artikler i serien:

1. [En introduktion til TeX-tokens](/latex/da/dybtgaende-artikler/19-how-does-expandafter-work-an-introduction-to-tex-tokens.md)
2. [Betydningen af udvidelse](/latex/da/dybtgaende-artikler/22-how-does-expandafter-work-the-meaning-of-expansion.md)
3. [TeX bruger midlertidige tokenlister](/latex/da/dybtgaende-artikler/21-how-does-expandafter-work-tex-uses-temporary-token-lists.md)
4. [Fra grundlæggende principper til udforskning af TeX's kildekode](/latex/da/dybtgaende-artikler/20-how-does-expandafter-work-from-basic-principles-to-exploring-tex-s-source-code.md)
5. [Et detaljeret casestudie af en makro](/latex/da/dybtgaende-artikler/17-how-does-expandafter-work-a-detailed-macro-case-study.md)
6. [En detaljeret undersøgelse af på hinanden følgende `\expandafter` kommandoer](/latex/da/dybtgaende-artikler/18-how-does-expandafter-work-a-detailed-study-of-consecutive-expandafter-commands.md)

## Introduktion, og hvem er denne serie til?

### \expandafter: grundlæggende principper for virkemåden

Formålet med \expandafter er at tvinge for tidlig udvidelse af et token i inputtet: givet to på hinanden følgende tokens i inputtet, $$\mathrm{T\_1}$$ og $$\mathrm{T\_2}$$, `\expandafter` vil gemme token $$\mathrm{T\_1}$$, udvide token $$\mathrm{T\_2}$$ og placere token $$\mathrm{T\_1}$$ tilbage foran udvidelsen af $$\mathrm{T\_2}$$:

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

I forlængelse af den standardmæssige beskrivelse af `\expandafter`’s opførsel bemærkede vi, at den “gemmer token $$\mathrm{T\_1}$$”, tvinger “udvidelsen” af token $$\mathrm{T\_2}$$ (før TeX normalt ville gøre det) og derefter sætter token $$\mathrm{T\_1}$$ “tilbage i inputtet”, så TeX kan læse det igen. Forfatteren til denne artikel husker at have været forvirret over nogle aspekter af `\expandafter`’s “tokenjonglerings”-opførsel; især:

* Hvad betyder det at “gemme et token” eller “lægge et token tilbage i inputtet”—hvor “ender” disse gemte tokens, og hvordan genlæser TeX dem?
* Hvordan “ser” udvidelse ud, eller hvad betyder den egentlig?
* Hvordan behandler TeX flere på hinanden følgende `\expandafter` kommandoer—hvordan gør det *egentlig* virke?

### Målene med artikelserien

Denne serie søger at besvare de ovenstående spørgsmål ved at dokumentere resultaterne af forskning i TeX’s indre virkemåde. Overleaf byggede en tilpasset version af en af TeX-motorerne og brugte [Eclipse IDE](https://www.eclipse.org/ide/) den til at observere TeX-kildekoden i drift, mens den behandlede en `.tex` fil, der indeholder eksempler på brug af `\expandafter`.

Vi deler resultaterne af denne forskning for at undersøge:

* den sande natur/betydning af TeX-tokens;
* TeX’s generering/anvendelse af midlertidige tokenlister;
* hvad “udvidelse” egentlig betyder.

Gennem en udforskning af disse emner vil vi samle det store billede for at forklare *hvordan* `\expandafter` udfører sin “tokenjonglerings”-opførsel. Denne artikelserie er skrevet til alle, der er interesserede i at få indsigt i disse emner: at tage et dybere kig ind i selve TeX og undersøge de dele af TeX’s interne operationer, som muliggør `\expandafter` at udføre sin magi.

Det er udfordrende at skrive artikler om TeX og TeX-relaterede begreber/principper, fordi TeX er et så ekstraordinært komplekst stykke software—dens typografisk satte kildekode løber op i mange hundrede sider. Se for eksempel dette [Overleaf-projekt](https://www.overleaf.com/latex/examples/typeset-the-source-code-documentation-for-tex-e-tex-or-pdftex/qkgfgyspnhcv) som som standard sætter kildekoden til $$\mathrm{\varepsilon}\text{-}\mathrm{\TeX}$$: den typografisk satte PDF-fil indeholder over 600 sider.

Internt er TeX et indviklet net af indbyrdes forbundne handlinger og processer, som giver udfordringer, når man forsøger at diskutere isolerede aspekter af dets opførsel: at udskille en bestemt “komponent”, såsom `\expandafter`, og forsøge at forklare den uden konstant at skulle henvise til andre aspekter af TeX-softwaren. I kraft af sin natur er `\expandafter` kommandoen involveret i TeX’s proces med *udvidelse*—en proces, som for mange af os er et vagt og noget vanskeligt begreb at forstå fuldt ud. Udvidelse er imidlertid et virkelig grundlæggende aspekt af TeX’s opførsel, vævet ind i hele TeX’s indre virkemåde og foregår dybt inde i selve TeX-softwaren. I denne artikelserie vil vi udforske den egentlige betydning af udvidelse, begyndende med at sammensætte en samling af beslægtede principper og opførsler, der er tilstrækkelige til at opbygge en grundlæggende forståelse af udvidelse. På dette fundament afslutter vi med at tage et “dybt dyk” for at se ind i selve TeX og udforske den faktiske kildekode, som implementerer TeX’s udvidelsesmekanisme.

## Afslutningsvis

I disse artikler har vi forsøgt at levere indhold, der er nyttigt/værdifuldt eller interessant for flest mulige læsere: et forsøg på at balancere kortfattethed med uundgåelige detaljer, samtidig med at vi prøver ikke at risikere læserens tålmodighed ved at give for meget eller for lidt kontekstmateriale. Det er vores håb at have bidraget med noget nyttigt/værdifuldt til TeX-litteraturen, som nuværende og måske fremtidige medlemmer af TeX-fællesskabet vil nyde at læse.

God $$\mathrm{\TeX}\text{ing!}$$, fra Graham Douglas og Overleaf-teamet.


---

# 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/da/dybtgaende-artikler/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.
