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

# Una serie di articoli in sei parti su \expandafter, i token TeX e l'espansione

## Panoramica

La primitiva TeX `\expandafter` è un comando versatile, usato dai programmatori LaTeX/TeX per creare macro sofisticate—come i comandi (macro) forniti dai pacchetti LaTeX. Superficialmente, `\expandafter` è semplice da usare, ma quella maschera di semplicità cade presto quando si incontrano costruzioni più complesse come più consecutive `\expandafter` comandi usati per eseguire ogni sorta di “giocoleria con i token” `...\expandafter\expandafter\expandafter...`.

Questa serie di articoli ha un obiettivo ambizioso: spiegare *come* il `\expandafter` il comando e l'espansione di TeX funzionano davvero—dai principi di base fino all'esplorazione dei processi che avvengono in profondità all'interno del software motore TeX. I lettori possono passare direttamente agli [articoli](#accessing-articles-the-navigation-bar) oppure leggere un [introduzione](#introduction-and-who-is-this-series-for) e il motivo e la logica della serie.

## Accesso agli articoli: la barra di navigazione

Ogni articolo ha la seguente barra di navigazione prima e dopo il testo, così da poter passare rapidamente a un altro articolo della serie:

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

Ecco i link ai 6 articoli della serie:

1. [Un'introduzione ai token TeX](/latex/it/articoli-approfonditi/19-how-does-expandafter-work-an-introduction-to-tex-tokens.md)
2. [Il significato dell'espansione](/latex/it/articoli-approfonditi/22-how-does-expandafter-work-the-meaning-of-expansion.md)
3. [TeX usa liste temporanee di token](/latex/it/articoli-approfonditi/21-how-does-expandafter-work-tex-uses-temporary-token-lists.md)
4. [Dai principi di base all'esplorazione del codice sorgente di TeX](/latex/it/articoli-approfonditi/20-how-does-expandafter-work-from-basic-principles-to-exploring-tex-s-source-code.md)
5. [Uno studio di caso dettagliato di una macro](/latex/it/articoli-approfonditi/17-how-does-expandafter-work-a-detailed-macro-case-study.md)
6. [Uno studio dettagliato di consecutivi `\expandafter` comandi](/latex/it/articoli-approfonditi/18-how-does-expandafter-work-a-detailed-study-of-consecutive-expandafter-commands.md)

## Introduzione e a chi è rivolta questa serie?

### \expandafter: principi di base del funzionamento

Lo scopo di \expandafter è forzare l'espansione prematura di un token nell'input: dati due token consecutivi nell'input, $$\mathrm{T\_1}$$ e $$\mathrm{T\_2}$$, `\expandafter` salverà il token $$\mathrm{T\_1}$$, espanderà il token $$\mathrm{T\_2}$$ e porrà il token $$\mathrm{T\_1}$$ di nuovo davanti all'espansione di $$\mathrm{T\_2}$$:

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

Seguendo la descrizione standard di `\expandafter`del comportamento di \expandafter abbiamo notato che “salva il token $$\mathrm{T\_1}$$”, forza l’“espansione” del token $$\mathrm{T\_2}$$ (prima che TeX lo farebbe normalmente) e poi mette il token $$\mathrm{T\_1}$$ “di nuovo nell'input” affinché TeX lo legga ancora. L'autore di questo articolo ricorda di essere rimasto confuso da alcuni aspetti di `\expandafter`del comportamento di “giocoleria con i token”; in particolare:

* Cosa significa “salvare un token” o “rimettere un token nell'input”—dove “vanno” questi token salvati e come fa TeX a rileggerli?
* Come “appare” l'espansione o cosa significa davvero?
* Come elabora TeX più comandi consecutivi `\expandafter` comandi—come fa questo *davvero* funzionare?

### Obiettivi della serie di articoli

Questa serie cerca di affrontare le domande poste sopra documentando i risultati della ricerca sul funzionamento interno di TeX. Overleaf ha realizzato una versione personalizzata di uno dei motori TeX e ha usato il [l'IDE Eclipse](https://www.eclipse.org/ide/) per osservare il codice sorgente di TeX in azione mentre elaborava un `.tex` file contenente esempi di uso di `\expandafter`.

Condivideremo i risultati di quella ricerca per esaminare:

* la vera natura/il vero significato dei token TeX;
* la generazione/l'uso da parte di TeX di liste temporanee di token;
* cosa significa davvero “espansione”.

Attraverso un'esplorazione di questi argomenti ricostruiremo il quadro generale per spiegare *come* `\expandafter` svolge il suo comportamento di “giocoleria con i token”. Questa serie di articoli è scritta per chiunque sia interessato a sviluppare una comprensione di questi argomenti: dare uno sguardo più approfondito all'interno di TeX stesso, esaminando quelle parti delle operazioni interne di TeX che consentono `\expandafter` di fare la sua magia.

Scrivere articoli su TeX e sui concetti/principi correlati a TeX è impegnativo perché TeX è un software straordinariamente complesso—il suo codice sorgente impaginato occupa molte centinaia di pagine. Per esempio, si veda questo [progetto Overleaf](https://www.overleaf.com/latex/examples/typeset-the-source-code-documentation-for-tex-e-tex-or-pdftex/qkgfgyspnhcv) che, per impostazione predefinita, impagina il codice sorgente di $$\mathrm{\varepsilon}\text{-}\mathrm{\TeX}$$: il file PDF impaginato contiene oltre 600 pagine.

Internamente, TeX è una complessa rete di azioni e processi interrelati che presentano sfide quando si tenta di discutere aspetti isolati del suo comportamento: isolare un determinato “componente”, come `\expandafter`, e cercare di spiegarlo senza dover costantemente fare riferimento ad altri aspetti del software TeX. Per sua stessa natura, il `\expandafter` comando interagisce con il processo di TeX di *espansione*—un processo che, per molti di noi, è un concetto vago e in qualche modo difficile da comprendere pienamente. Tuttavia, l'espansione è un aspetto davvero fondamentale del comportamento di TeX, intrecciato in tutto il funzionamento interno di TeX e che avviene in profondità all'interno dello stesso software TeX. In questa serie di articoli esploreremo il vero significato dell'espansione, iniziando con la raccolta di un insieme di principi e comportamenti correlati sufficienti a costruire una comprensione di base dell'espansione. Sulla base di quelle fondamenta concludiamo con un “approfondimento” per guardare all'interno di TeX stesso, esplorando il codice sorgente effettivo che implementa il meccanismo di espansione di TeX.

## In conclusione

In questi articoli abbiamo cercato di fornire contenuti utili/di valore o interessanti per il maggior numero possibile di lettori: cercando di bilanciare brevità e dettagli inevitabili, nel tentativo simultaneo di non rischiare la pazienza del lettore fornendo troppo o troppo poco materiale contestuale. È nostro auspicio aver contribuito con qualcosa di utile/di valore alla letteratura su TeX, che i membri attuali e, forse, futuri della comunità TeX apprezzeranno leggere.

Buon $$\mathrm{\TeX}\text{ing!}$$, da Graham Douglas e dal team di 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/it/articoli-approfonditi/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.
