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

# En artikkelserie i seks deler om \expandafter, TeX-tokens og ekspansjon

## Oversikt

TeX-primitivet `\expandafter` er en allsidig kommando som brukes av LaTeX/TeX-programmerere til å lage avanserte makroer – som kommandoene (makroene) som tilbys av LaTeX-pakker. Overfladisk sett, `\expandafter` er enkel å bruke, men den fasaden av enkelhet faller snart bort når du støter på mer komplekse konstruksjoner som flere påfølgende `\expandafter` kommandoer som brukes til å utføre alle slags «token-jonglering» `...\expandafter\expandafter\expandafter...`.

Denne artikkelserien har et ambisiøst mål: å forklare *hvordan* den `\expandafter` kommandoen, og TeX-utvidelse, faktisk fungerer – fra grunnleggende prinsipper og helt fram til å utforske prosesser som finner sted dypt inne i TeX-motorens programvare. Lesere kan hoppe rett til [artiklene](#accessing-articles-the-navigation-bar) eller lese en [introduksjonen](#introduction-and-who-is-this-series-for) og begrunnelsen og bakgrunnen for serien.

## Tilgang til artiklene: navigasjonslinjen

Hver artikkel har følgende navigasjonslinje før og etter teksten, slik at du raskt kan hoppe til en annen artikkel i serien:

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

Her er lenker til de 6 artiklene i serien:

1. [En innføring i TeX-tokens](/latex/no/dybdeartikler/19-how-does-expandafter-work-an-introduction-to-tex-tokens.md)
2. [Betydningen av utvidelse](/latex/no/dybdeartikler/22-how-does-expandafter-work-the-meaning-of-expansion.md)
3. [TeX bruker midlertidige tokenlister](/latex/no/dybdeartikler/21-how-does-expandafter-work-tex-uses-temporary-token-lists.md)
4. [Fra grunnleggende prinsipper til utforsking av TeXs kildekode](/latex/no/dybdeartikler/20-how-does-expandafter-work-from-basic-principles-to-exploring-tex-s-source-code.md)
5. [En detaljert kasusstudie av en makro](/latex/no/dybdeartikler/17-how-does-expandafter-work-a-detailed-macro-case-study.md)
6. [En detaljert studie av påfølgende `\expandafter` kommandoer](/latex/no/dybdeartikler/18-how-does-expandafter-work-a-detailed-study-of-consecutive-expandafter-commands.md)

## Innledning og hvem er denne serien for?

### \expandafter: grunnleggende driftsprinsipper

Hensikten med \expandafter er å tvinge fram for tidlig utvidelse av en token i inndata: gitt to påfølgende token i inndata, $$\mathrm{T\_1}$$ og $$\mathrm{T\_2}$$, `\expandafter` vil lagre token $$\mathrm{T\_1}$$, utvide token $$\mathrm{T\_2}$$ og plassere token $$\mathrm{T\_1}$$ tilbake foran utvidelsen av $$\mathrm{T\_2}$$:

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

Etter den vanlige beskrivelsen av `\expandafter`s oppførsel bemerket vi at den «lagrer token $$\mathrm{T\_1}$$», tvinger fram «utvidelsen» av token $$\mathrm{T\_2}$$ (før TeX normalt ville gjort det) og deretter legger token $$\mathrm{T\_1}$$ «tilbake i inndataene» for at TeX skal lese det igjen. Forfatteren av denne artikkelen husker at han var forvirret av noen sider ved `\expandafter`s «token-jonglering»-oppførsel; spesielt:

* Hva betyr det å «lagre en token» eller «legge en token tilbake i inndataene» – hvor «går» disse lagrede tokenene, og hvordan leser TeX dem på nytt?
* Hvordan «ser» utvidelse ut, eller hva betyr den egentlig?
* Hvordan behandler TeX flere påfølgende `\expandafter` kommandoer – hvordan fungerer det *egentlig* fungere?

### Målene med artikkelserien

Denne serien søker å besvare spørsmålene ovenfor ved å dokumentere resultatene av forskning på TeXs indre virkemåte. Overleaf bygde en tilpasset versjon av en av TeX-motorene og brukte [Eclipse IDE](https://www.eclipse.org/ide/) for å observere TeX-kildekoden i bruk mens den behandlet en `.tex` fil som inneholder eksempler på bruk av `\expandafter`.

Vi vil dele resultatene av denne forskningen for å undersøke:

* den egentlige naturen/betydningen av TeX-tokens;
* TeXs generering/bruk av midlertidige tokenlister;
* hva «utvidelse» egentlig betyr.

Gjennom en utforskning av disse temaene vil vi sette sammen helhetsbildet for å forklare *hvordan* `\expandafter` utfører sin «token-jonglering»-oppførsel. Denne artikkelserien er skrevet for alle som er interessert i å utvikle innsikt i disse temaene: å ta et dypere blikk inn i selve TeX og undersøke de delene av TeXs interne operasjoner som gjør det mulig for `\expandafter` å utføre magien sin.

Å skrive artikler om TeX og TeX-relaterte konsepter/prinsipper er utfordrende fordi TeX er et så usedvanlig komplekst programvareprodukt – den typograferte kildekoden strekker seg over mange hundre sider. For eksempel, se denne [Overleaf-prosjekt](https://www.overleaf.com/latex/examples/typeset-the-source-code-documentation-for-tex-e-tex-or-pdftex/qkgfgyspnhcv) som som standard typograferer kildekoden til $$\mathrm{\varepsilon}\text{-}\mathrm{\TeX}$$: den typograferte PDF-filen inneholder over 600 sider.

Internt er TeX et intrikat nett av sammenkoblede handlinger og prosesser som byr på utfordringer når man forsøker å diskutere isolerte sider ved oppførselen: å skille ut en bestemt «komponent», som for eksempel `\expandafter`, og prøve å forklare den uten stadig å måtte vise til andre sider ved TeX-programvaren. Av sin natur er `\expandafter` kommandoen involvert i TeXs prosess med *utvidelse*– en prosess som for mange av oss er et vagt og noe vanskelig begrep å forstå fullt ut. Likevel er utvidelse et virkelig grunnleggende aspekt ved TeXs oppførsel, vevd inn i hele TeXs indre virkemåte og foregår dypt inne i selve TeX-programvaren. I denne artikkelserien vil vi utforske den virkelige betydningen av utvidelse, og begynne med å sette sammen en samling av beslektede prinsipper og oppførsel nok til å bygge en grunnleggende forståelse av utvidelse. På dette grunnlaget avslutter vi med å ta et «dykk ned i dybden» for å se inn i selve TeX, og utforske den faktiske kildekoden som implementerer TeXs utvidelsesmekanisme.

## Til slutt

I disse artiklene har vi forsøkt å tilby innhold som er nyttig/verdi eller interessant for et størst mulig antall lesere: vi har forsøkt å balansere kortfattethet med uunngåelige detaljer, samtidig som vi har prøvd å ikke risikere leserens tålmodighet ved å gi for mye eller for lite kontekst. Vi håper å ha bidratt med noe nyttig/verdi til TeX-litteraturen, som nåværende og kanskje fremtidige medlemmer av TeX-fellesskapet vil ha glede av å lese.

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/no/dybdeartikler/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.
