> 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/11-boxes-and-glue-a-brief-but-visual-introduction-using-luatex.md).

# Box e spaziatura elastica: una breve, ma visiva, introduzione usando LuaTeX

## Un'introduzione per i futuri articoli

Questo post è una breve introduzione ad alcuni concetti/modelli chiave coinvolti nella composizione tipografica con $$\mathrm \TeX$$: box e glue—«preparare il terreno» per futuri articoli che entreranno molto più nel dettaglio. Un prossimo post esplorerà il comportamento di basso livello di $$\mathrm \TeX$$ i box usando $$\mathrm{Lua}\mathrm\TeX$$ per produrre diagrammi (grafi di nodi) come il seguente esempio:

![Grafo dei nodi di un box](/files/44a74c2a3723512fb1b72901feb4155d69df7c70)

Questo grafo dei nodi è prodotto da un `\hbox{...}` creato con il seguente $$\mathrm \TeX$$ codice:

```latex

\hbox to100pt{A\hskip4pt plus3pt minus 2pt B%
\hskip 0pt plus 2fil C\hskip 0pt plus 2fill D\hskip 0pt plus 3fill}
```

che appare così (disegnato con un rettangolo di delimitazione):

![Esempio di \hbox](/files/6d99e3881ca3a93ab8b4c94ad354153705e23f80)

Questi grafi dei nodi mostrano la struttura interna profonda di $$\mathrm \TeX$$ box—riflettendo come sono memorizzati all'interno di $$\mathrm \TeX$$ e offrono una descrizione grafica inestimabile che aiuta a comprendere meglio il comportamento dei comandi di costruzione dei box come `\hbox{...}` o `\vbox{...}`.

## Torniamo alle basi...

Anche come utente nuovo, o occasionale, $$\mathrm \LaTeX$$ utente, non ci vuole molto prima di imbattersi nel concetto di $$\mathrm \TeX$$ «box» oppure che $$\mathrm \TeX$$ usa un modello «box e glue» per le sue attività fondamentali di composizione tipografica. Gli algoritmi di composizione di $$\mathrm \TeX$$ trascorrono gran parte del loro tempo creando e poi impilando liste orizzontali e verticali di box. Per esempio, quando $$\mathrm \TeX$$ compone un paragrafo di testo e lo spezza in una serie di righe, considera il testo del paragrafo come un flusso o una sequenza di box e usa la larghezza, l'altezza e la profondità di quei box di caratteri (in realtà, glifi) per trovare le migliori interruzioni di riga e poi aggiunge spazio verticale tra le righe del testo composto (quel glue si chiama `\baselineskip`). Ogni riga composta del paragrafo è essa stessa un box (che contiene altri box—per esempio, caratteri) e le righe del paragrafo composte (box) sono impilate verticalmente per produrre il paragrafo. Alla fine si produce il box più grande di tutti: la pagina composta. Chiaramente, questa è una rappresentazione estremamente semplificata perché è anche necessario poter spostare e posizionare quei box e $$\mathrm \TeX$$ lo fa usando i cosiddetti *colla*: una forma di «spaziatura flessibile». Knuth ha osservato (pagina 70 di The $$\mathrm \TeX \mathrm{book}$$) che «glue» probabilmente avrebbe dovuto essere chiamato «molla», ma il termine glue fu adottato presto e, per usare il gioco di parole di Knuth, rimase attaccato.

## Visualizzare un paragrafo composto usando $$\mathrm{Lua}\mathrm\TeX$$

Usare $$\mathrm{Lua}\mathrm\TeX$$, un paragrafo composto può essere elaborato per mostrare i componenti usati per comporlo: i box dei caratteri e il glue flessibile usato per inserire spazio tra le parole. Abbiamo creato un semplice [$$\mathrm{Lua}\mathrm\TeX$$ (semplice $$\mathrm \TeX$$) progetto](https://www.overleaf.com/latex/examples/using-a-luatex-callback-to-parse-typeset-paragraphs/mzbpwxtjshsj) per dimostrarlo:

[![Screenshot of Overleaf](/files/77acd7796169517aa47064f01395f26eff33a6b4)](https://www.overleaf.com/latex/examples/using-a-luatex-callback-to-parse-typeset-paragraphs/mzbpwxtjshsj)

Il codice del progetto è stato scritto per illustrare questo post e non è un'implementazione completa di un «parser» di paragrafi—ignora una serie di $$\mathrm{Lua}\mathrm \TeX$$ tipi di nodo ed è progettato esclusivamente per illustrare le idee discusse in questo post.

![box e glue](/files/d692f5969ec779b1a0ef255057d7b67c2bf5b425)

Nella sezione dell'immagine ingrandita, qui sotto, puoi vedere le singole righe del paragrafo evidenziate come strisce grigie—nota che c'è spazio bianco tra le righe: glue verticale che $$\mathrm \TeX$$ inserisce mentre le impila per formare il paragrafo. Se vuoi saperne di più sul glue verticale inserito tra le righe in un paragrafo composto, usa Google per trovare articoli che discutono `\baselineskip` e `\lineskiplimit`.

![paragrafo analizzato che mostra box e glue](/files/d99f71701dfa947c112aa51a5070078b44ef6b1f)

Quando $$\mathrm \TeX$$ legge e compone un paragrafo converte i caratteri di spazio tra le parole in blocchi di glue il cui valore preciso è una proprietà del font in uso. Durante la composizione, questi glue tra le parole vengono allungati o ristretti della quantità ritenuta necessaria per ottenere un'interruzione di riga gradevole. Nell'immagine sopra dovresti notare quanto segue:

* le strisce grigie sono i confini delle singole righe del paragrafo composto;
* ogni carattere è mostrato all'interno di un box che definisce le sue dimensioni (come $$\mathrm \TeX$$ lo vede);
* i box gialli mostrano il glue che $$\mathrm \TeX$$ ha inserito tra le parole per ottenere un'interruzione di riga gradevole. Osserva quanto segue:
* la larghezza del glue tra le parole varia da una riga all'altra mentre $$\mathrm \TeX$$ lo allunga o lo restringe per ottenere ogni interruzione di riga;
* nella terza riga, il glue dopo il carattere punto è più largo degli altri glue sulla stessa riga.
* il box rosso mostra dove un esplicito `\hbox{...}` è stato usato. La definizione del `\TeX` comando inserisce la E in un `\hbox{...}` così che possa essere abbassata per creare il $$\mathrm \TeX$$ logo.

Alla fine del nostro paragrafo di esempio c'è una lunga striscia di glue che si chiama `\parfillskip`: questo viene inserito da $$\mathrm \TeX$$ motori per riempire lo spazio nell'ultima riga. ![parfillskip glue](/files/f66833b6cd7a9e4d950b49e611c939f3d056ae27)

### Fino al prossimo post

Speriamo che questo post abbia fornito un'introduzione utile al principio dei box e del glue usati all'interno di $$\mathrm \TeX$$. In un prossimo post useremo $$\mathrm{Lua}\mathrm\TeX$$ per approfondire molto di più il contenuto di $$\mathrm \TeX$$ box—usando grafi dei nodi come l'esempio mostrato all'inizio di questo articolo.


---

# 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/11-boxes-and-glue-a-brief-but-visual-introduction-using-luatex.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.
