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

# Boîtes et colle : une introduction brève, mais visuelle, à l'aide de LuaTeX

## Une introduction aux futurs articles

Cet article est une brève introduction à quelques concepts/modèles clés impliqués dans la composition avec $$\mathrm \TeX$$: les boîtes et la colle — « planter le décor » pour de futurs articles qui entreront beaucoup plus dans le détail. Un prochain article explorera le comportement de bas niveau des $$\mathrm \TeX$$ boîtes à l’aide de $$\mathrm{Lua}\mathrm\TeX$$ pour produire des diagrammes (graphes de nœuds) comme l’exemple suivant :

![Graphe de nœuds d’une boîte](/files/d9f2b5f273eadaa3590fc391e3d8a4597c5a6ad5)

Ce graphe de nœuds est produit à partir d’un `\hbox{...}` créé avec le $$\mathrm \TeX$$ code suivant :

```latex

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

qui ressemble à ceci (dessiné avec un rectangle englobant) :

![Exemple de \hbox](/files/36ecd76df73285429a30dabe306a658f57d073d6)

Ces graphes de nœuds montrent la structure interne profonde des $$\mathrm \TeX$$ boîtes — reflétant la manière dont elles sont stockées à l’intérieur de $$\mathrm \TeX$$ et offrent une description graphique inestimable qui aide à mieux comprendre le comportement des commandes de construction de boîtes telles que `\hbox{...}` ou `\vbox{...}`.

## Retour aux bases...

Même en tant que nouvel utilisateur, ou utilisateur occasionnel, $$\mathrm \LaTeX$$ il ne faut pas longtemps avant de rencontrer le concept de $$\mathrm \TeX$$ « boîtes » ou le fait que $$\mathrm \TeX$$ utilise un modèle « boîtes et colle » pour ses principales activités de composition. Les algorithmes de composition de $$\mathrm \TeX$$ passent une grande partie de leur temps à créer puis à empiler des listes horizontales et verticales de boîtes. Par exemple, lorsque $$\mathrm \TeX$$ compose un paragraphe de texte et le coupe en une série de lignes, il considère le texte du paragraphe comme un flux ou une séquence de boîtes et utilise la largeur, la hauteur et la profondeur de ces boîtes de caractères (en réalité, des glyphes) pour trouver les meilleures coupures de ligne, puis ajoute un espace vertical entre les lignes du texte composé (cette colle s’appelle `\baselineskip`). Chaque ligne composée du paragraphe est elle-même une boîte (contenant d’autres boîtes — par ex. des caractères) et les lignes composées du paragraphe (boîtes) sont empilées verticalement pour former le paragraphe. Finalement, la plus grande boîte de toutes est produite : la page composée. Bien entendu, il s’agit d’une image extrêmement simplifiée, car il faut aussi pouvoir déplacer et positionner ces boîtes et $$\mathrm \TeX$$ fait cela à l’aide de ce qu’on appelle *glue* : une forme d’« espacement flexible ». Knuth a fait remarquer (page 70 de The $$\mathrm \TeX \mathrm{book}$$) que la « glue » aurait probablement dû être appelée « ressort », mais le terme glue a été adopté très tôt et, pour reprendre le jeu de mots de Knuth, il est resté.

## Visualiser un paragraphe composé à l’aide de $$\mathrm{Lua}\mathrm\TeX$$

En utilisant $$\mathrm{Lua}\mathrm\TeX$$, un paragraphe composé peut être traité afin d’afficher les composants utilisés pour le composer : les boîtes de caractères et la colle flexible utilisée pour espacer les mots. Nous avons créé un simple [$$\mathrm{Lua}\mathrm\TeX$$ (plain $$\mathrm \TeX$$) projet](https://www.overleaf.com/latex/examples/using-a-luatex-callback-to-parse-typeset-paragraphs/mzbpwxtjshsj) pour le démontrer :

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

Le code du projet a été écrit pour illustrer cet article et n’est pas une implémentation complète d’un « analyseur » de paragraphe — il ignore un certain nombre de $$\mathrm{Lua}\mathrm \TeX$$ types de nœuds et est conçu uniquement pour illustrer les idées abordées dans cet article.

![boîtes et colle](/files/bb0c5b02b81ba35a69606fee578d5af07cdcdefc)

Dans la section d’image agrandie ci-dessous, vous pouvez voir les lignes individuelles du paragraphe ombrées sous forme de bandes grises — notez qu’il y a un espace blanc entre les lignes : une colle verticale que $$\mathrm \TeX$$ insère lorsqu’il les empile pour former le paragraphe. Si vous voulez en savoir plus sur la colle verticale insérée entre les lignes dans un paragraphe composé, utilisez Google pour trouver des articles qui discutent `\baselineskip` et `\lineskiplimit`.

![paragraphe analysé montrant des boîtes et de la colle](/files/56c9995ea2ed7d28ff9cc08e3e351b98a604bf03)

Lorsque $$\mathrm \TeX$$ lit et compose un paragraphe, il convertit les caractères d’espace entre les mots en blocs de colle dont la valeur précise est une propriété de la police utilisée. Pendant la composition, ces colles inter-mots sont étirées ou rétrécies d’une quantité jugée nécessaire pour obtenir une coupure de ligne harmonieuse. Dans l’image ci-dessus, vous devez noter ce qui suit :

* les bandes grises délimitent les lignes individuelles du paragraphe composé ;
* chaque caractère est affiché dans une boîte qui définit ses dimensions (telles que $$\mathrm \TeX$$ le voit) ;
* les boîtes jaunes montrent la colle que $$\mathrm \TeX$$ a insérée entre les mots afin d’obtenir une coupure de ligne harmonieuse. Observez ce qui suit :
* la largeur de la colle inter-mots varie d’une ligne à l’autre lorsque $$\mathrm \TeX$$ l’étire ou la rétrécit pour obtenir chaque coupure de ligne ;
* sur la troisième ligne, la colle après le caractère point est plus large que les autres colles de la même ligne.
* la boîte rouge montre où une `\hbox{...}` explicite a été utilisée. La définition de la `\TeX` commande met le E dans un `\hbox{...}` afin qu’il puisse être abaissé pour créer le $$\mathrm \TeX$$ logo.

À la fin de notre paragraphe d’exemple, il y a une longue bande de colle appelée `\parfillskip` : elle est insérée par $$\mathrm \TeX$$ les moteurs de composition pour remplir l’espace sur la dernière ligne. ![parfillskip glue](/files/f0d60930e3419c12cea3dc157bd5824323d76863)

### Jusqu’au prochain article

Nous espérons que cet article a fourni une introduction utile au principe des boîtes et de la colle utilisé dans $$\mathrm \TeX$$. Dans un prochain article, nous utiliserons $$\mathrm{Lua}\mathrm\TeX$$ pour approfondir bien davantage le contenu de $$\mathrm \TeX$$ boîtes — à l’aide de graphes de nœuds tels que l’exemple montré au début de cet article.


---

# 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/fr/articles-approfondis/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.
