> 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/de/ausfuhrliche-artikel/24-how-tex-calculates-glue-settings-in-an-hbox.md).

# Wie TeX die Glue-Einstellungen in einer \hbox berechnet

Dies ist der dritte und abschließende Artikel einer Reihe, die einen Blick auf $$\mathrm \TeX$$ Boxen und Kleber. Der erste Beitrag [Boxen und Glue: Eine kurze, aber visuelle Einführung mit LuaTeX](/latex/de/ausfuhrliche-artikel/11-boxes-and-glue-a-brief-but-visual-introduction-using-luatex.md) führte die Konzepte von Boxen und Kleber ein und wurde gefolgt von [Pandoras \hbox: LuaTeX verwenden, um den Deckel von TeX-Boxen anzuheben](/latex/de/ausfuhrliche-artikel/36-pandora-s-hbox-using-luatex-to-lift-the-lid-of-tex-boxes.md) der ein [$$\text{Lua}\mathrm\TeX$$-basiertes Overleaf-Projekt](https://www.overleaf.com/latex/examples/exploring-the-structure-of-tex-boxes-with-luatex/pwdrypmtdbgs) vorstellte, um die tieferen Strukturen von $$\mathrm \TeX$$ Boxen mithilfe von Knotengraphen zu erkunden. In diesem abschließenden Teil machen wir einen „Deep Dive“ in die Mechanik, wie $$\mathrm \TeX$$ die Kleberwerte berechnet in einem `\hbox`: ein Prozess, der als *Setzen des Klebers*bezeichnet wird. Wir verwenden ausführlich Knotengraphen (eingeführt im [Pandoras \hbox: LuaTeX verwenden, um den Deckel von TeX-Boxen anzuheben](/latex/de/ausfuhrliche-artikel/36-pandora-s-hbox-using-luatex-to-lift-the-lid-of-tex-boxes.md) in dieser Reihe) und zeigen, wie man einige der von ihnen bereitgestellten Daten verwendet und interpretiert: `glue_set`, `glue_sign` und `glue_order`.

Wir liefern ein vollständig durchgerechnetes Beispiel für Kleberberechnungen für ein `\hbox` und gehen auf viele Details ein; es kann jedoch zusätzliche Umstände und Überlegungen geben, auf die wir hier nicht eingehen können, und der interessierte Leser wird auf Seite 77 von $$\text{The } \mathrm \TeX \text{book}$$.

## Die Herausforderung

Angenommen, wir haben ein `\hbox` wie dieses:

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

Hier ist, wie diese Box aussieht — der Klarheit halber vergrößert und mit Rahmen dargestellt:

![Box](/files/6c717253f37ed3e57b42138b6800b16439ed3ecc)

Die Frage ist: Was ist der endgültige Wert in $$\mathrm \TeX$$ Punkt, des Abstands (Klebers) zwischen den folgenden Elementen:

* A und B
* B und C
* C und D
* D und dem Ende der Box

d. h. wir wollen die Werte von $$\mathrm{g}*{1}, \mathrm{g}*{2}, \mathrm{g}*{3} \text{ and } \mathrm{g}*{4}:$$

![Abstand](/files/d42c665b31ca51c8ceca171227ce0a74764a9d04)

Hier ist ein Knotengraph, der die obige Box darstellt. Von besonderem Interesse sind drei Werte, die im Abschnitt „Metadaten“ enthalten sind:

* `glue_set`
* `glue_sign`
* `glue_order`

![Knotengraph](/files/c1c2399517f7ad4127edb37e3f791d8136fa737f)

Es ist wichtig zu beachten, dass ein bestimmter Satz von Werten für `glue_set`, `glue_sign` und `glue_order` nur den Kleber innerhalb der obersten Box beeinflusst: Sie beeinflussen nicht den Kleber innerhalb von *verschachtelten* Boxen: Jede verschachtelte Box (hlist- oder vlist-Objekt) hat ihre eigenen Werte für diese drei Parameter. Hier ist ein Beispiel für eine `\hbox` in einer äußeren `\hbox`verschachtelt. In diesem Beispiel können Sie die unterschiedlichen Werte von `glue_set`deutlich sehen — natürlich kann die verschachtelte Box auch unterschiedliche Werte für `glue_sign` und `glue_order`.

```latex
\hbox to 75pt{\hfill ABC\hbox to15pt{\hfill D}}
```

![Knotengraph](/files/8a2ae31aa1bca4b19010141ad42e37c4c5b7fb46)

## Kleberarten, Unendlichkeiten und Ordnungen: Eine Zusammenfassung

$$\mathrm \TeX$$ stellt eine Reihe primitiver kleberbezogener Befehle bereit, darunter:

* horizontaler Kleber: `\hskip`, `\hfil`, `\hfill`, `\hfilneg`, `\hss`;
* vertikaler Kleber:`\vskip`, `\vfil`, `\vfill`, `\vfilneg`, `\vss`;

zusammen mit `\mskip` zum Einfügen von Kleber in mathematische Ausdrücke.

Ein Kleberelement ist durch einen Satz von drei Werten definiert:

* **natürliche Breite**: wie viel Platz es einnimmt, wenn Sie es weder dehnen noch schrumpfen;
* **Dehnungsanteil**: um wie viel sich der Kleber dehnen kann;
* **Schrumpfungsanteil**: um wie viel sich der Kleber schrumpfen kann.

Was wir betrachten werden, ist die Verwendung von Kleber innerhalb einer `\hbox{...}` und die Berechnungen $$\mathrm \TeX$$ verwendet, um zu bestimmen, wie viel Platz der Kleber schließlich einnimmt. Der Befehl, den wir verwenden werden, um einige *horizontal* Kleber zu erzeugen, ist `\hskip`, der die Form hat:

`**\hskip** *<natürliche Breite>* **plus** *<Menge zum Dehnen>* **minus** *<Menge zum Schrumpfen>*`

Für *vertikal* Kleber würden Sie verwenden `**\vskip** *<natürliche Breite>* **plus** *<Menge zum Dehnen>* **minus** *<Menge zum Schrumpfen>*`.

Zum Beispiel würde sich ein typischer horizontaler Kleber so ausdrücken: `\hskip 3pt plus 2pt minus 1pt`. Sie können auch andere physikalische Einheiten verwenden:

* `\hskip 3mm plus 2mm minus 1mm`
* `\hskip 3in plus 2in minus 1in`
* `\hskip 1in plus 3cm minus 20mm`

## $$\mathrm \TeX$$ Kleber und Einheiten der „Unendlichkeit“

Für den Schrumpf- oder Dehnungsanteil des Klebers $$\mathrm \TeX$$ führt einen weiteren Einheitentyp ein: sogenannte „Unendlichkeiten“: $$\text{fil}$$, $$\text{fill}$$ und $$\text{filll}$$. Diese drei „Unendlichkeitsstufen“ sind so, dass jede in einer Folge als „unendlicher“ gilt als die vorherige:

$$\text{fil} < \text{fill} < \text{filll}$$

Vielleicht ist „Unendlichkeiten“ ein etwas verwirrender Name für diese Einheiten — es könnte hilfreich sein, sie auch als unterschiedliche Ebenen von *Priorität*zu betrachten, denn letztlich helfen sie dabei zu bestimmen, welche Kleber tatsächlich am Prozess des Dehnens oder Schrumpfens teilnehmen. Indem Kleber mit einem „unendlichen“ Dehnungs- oder Schrumpfungsanteil vorhanden ist, $$\mathrm \TeX$$ können Sie Kleber erzeugen, der sich um jeden gewünschten Betrag dehnen oder schrumpfen lässt. Beachten Sie, dass bei endlichen Klebern $$\mathrm \TeX$$ die Menge begrenzen, um die solche Kleber schrumpfen können. Ein Beispiel für „unendlichen“ Kleber ist

`\hskip 3pt plus 2fil minus 1fill`

Beachten Sie, dass wir nicht etwa schreiben können `\hskip 1fil` weil $$\mathrm \TeX$$ einen Fehler mit der Meldung `Illegal unit of measure (pt inserted)`. An diesem Punkt mögen diese „Unendlichkeitsstufen“ sehr seltsam klingen, aber akzeptieren Sie es vorerst einfach für bare Münze, und wir werden bald sehen, wie $$\mathrm \TeX$$ diese Unendlichkeiten bei der Durchführung von Kleberberechnungen verwendet.

### Unendlichkeitsstufen („Kleberordnung“)

Intern betrachtet, wenn $$\mathrm \TeX$$ seine Kleberberechnungen durchführt, betrachtet es jede Unendlichkeitsstufe als eine „Kleberordnung“ von 0–3, wobei die 0. Ordnung für Kleber mit physischen Dimensionen wie bp, pt, mm und so weiter steht. Allerdings gibt es bei $$\text{Lua}\mathrm\TeX$$ eine kleine Abweichung, weil es tatsächlich einen zusätzlichen Typ (Ordnung) von Unendlichkeit hat, der in vielen anderen $$\mathrm \TeX$$ Engines nicht vorhanden ist: $$\text{fi}$$ (siehe Erklärung unten). Wenn Sie $$\text{The } \mathrm \TeX\text{book}$$ lesen, werden Sie keinen Hinweis auf die $$\text{fi}$$ Unendlichkeit finden — einfach deshalb, weil sie in Knuths ursprünglicher $$\mathrm \TeX$$ Software nicht implementiert ist. Folglich haben wir eine kleine „Lücke“ zwischen $$\text{Lua}\mathrm\TeX\text{'s}$$ Ordnung der Unendlichkeiten und denen, die Sie vielleicht in Büchern über $$\mathrm \TeX$$. $$\text{Lua}\mathrm\TeX$$ verwendet Unendlichkeiten, deren Ordnung von 0–4 reicht, aber andere (übliche) $$\mathrm \TeX$$ Engines reichen von 0–3. Hier ist eine Tabelle, die die jedem Typ von Kleber-Einheit zugewiesene Kleberordnung zeigt.

|                           |                                      |       |     |      |       |
| ------------------------- | ------------------------------------ | ----- | --- | ---- | ----- |
|                           | Physikalische Einheiten (pt, mm, in) | fi    | fil | fill | filll |
| $$\text{Lua}\mathrm\TeX$$ | 0                                    | 1     | 2   | 3    | 4     |
| Andere Engines            | 0                                    | n. a. | 1   | 2    | 3     |

### Anmerkungen zu $$\text{Lua}\mathrm\TeX$$: Warum eine zusätzliche Unendlichkeit?

$$\text{Lua}\mathrm\TeX$$ leitet sich aus einer Reihe von Projekten und Codebibliotheken ab, darunter eines namens [Omega](https://en.wikipedia.org/wiki/Omega_\(TeX\)). $$\text{Lua}\mathrm\TeX$$ integrierte bestimmte Aspekte von Omegás Code, und dazu gehört ein neuer Typ von unendlichem Kleber namens $$\text{fi}$$. Aus dem Omega-Handbuch:

> „Eine neue Unendlichkeitsstufe $$\text{fi}$$ wurde hinzugefügt. Sie ist kleiner als $$\text{fil}$$ aber größer als jede endliche Größe. Ihr ursprünglicher Zweck war die Dehnung zwischen Buchstaben: entweder das Auffüllen von Schwarz, wie es bei kalligrafischen Schriften wie Arabisch geschieht; oder zur Hervorhebung, wie im Russischen; all dies ohne bestehende Makropakete neu schreiben zu müssen. Es gibt daher ein neues Schlüsselwort, $$\text{fi}$$und zwei neue Primitive, `\hfi` und `\vfi`“ angezeigt.

## Zurück zu unserer Herausforderung

Nach Knuths Modell definieren wir zwei Größen:

* die gewünschte Breite einer Box: $$\mathrm{W}\_{\mathrm{D}}$$— wie groß soll sie sein;
* die natürliche Breite einer Box: $$\mathrm{W}\_{\mathrm{N}}$$— der gesamte Platz, den ihre Bestandteile einnehmen, bevor irgendwelche Kleber gedehnt oder geschrumpft werden.

### Die natürliche Breite einer Box

Die natürliche Breite einer Box ist die Gesamtbreite aller Bestandteile in dieser Box: Zeichen, Kerne, verschachtelte Boxen und jeder Kleber. Für Kleber innerhalb der Box ignoriert ihre natürliche Breite jegliches Dehnen oder Schrumpfen des Klebers: d. h. ihre Größe vor jeglichem Dehnen oder Schrumpfen.

Noch einmal, hier ist die Box, die wir untersuchen:

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

Offensichtlich wollen wir, dass die Box 100pt breit ist, also $$\mathrm{W}*{\mathrm{D}}=100\mathrm{pt}$$ aber was ist mit ihrer natürlichen Breite, $$\mathrm{W}*{\mathrm{N}}$$? Um die natürliche Breite zu berechnen, ist klar, dass wir die Breiten der vier Zeichen (A, B, C und D) plus die natürlichen Breiten der vier Kleber benötigen.

$$\eqalign{\mathrm{W}\_{\mathrm{N}} &= &\text{width(A)} + \text{width(B)} + \text{width(C)} + \text{width(D)} \ & &+ \text{width}(\verb\*\hskip 4pt plus3pt minus 2pt\*)\ & &+\text{width}(\verb\*\hskip 0pt plus 2fil\*)\ & &+\text{width}(\verb\*\hskip 0pt plus 2fill)*\ & &+\text{width}(\verb*\hskip 0pt plus 3fill\*)\ }$$

Wobei $$\text{width}$$ ist nur eine Notation zur Bezeichnung der natürlichen Breite eines Elements. Wir können die natürlichen Breiten der vier Zeichen (A, B, C und D) aus unserem Knotengraphen erhalten:

![Knotengraph](/files/2ff980cb421f3b0bf2e559dc5820a5eaf5e75f66)

Aus dem obigen Knotengraphen können wir sehen, dass:

$$\eqalign{ \text{width(A)} &= 7.50002\text{pt}\ \text{width(B)} &= 7.08336\text{pt}\ \text{width(C)} &= 7.22223\text{pt}\ \text{width(D)} &= 7.6389\text{pt}\ }$$

Jetzt brauchen wir nur noch die natürlichen Breiten unserer Kleber, die sich leicht erhalten lassen, indem man die Dehnungs- und Schrumpfungsanteile ignoriert:

$$\eqalign{ &\text{width}(\verb\*\hskip 4pt plus3pt minus 2pt\*) & = 4\text{pt}\ &\text{width}(\verb\*\hskip 0pt plus 2fil\*) &=0\text{pt}\ &\text{width}(\verb\*\hskip 0pt plus 2fill)*&=0\text{pt}\ &\text{width}(\verb*\hskip 0pt plus 3fill\*)&=0\text{pt}\ }$$

Daher:

$$\eqalign{ \mathrm{W}\_{\mathrm{N}} & = \text{widths of characters} + \text{width of all glues}\ &= 7.50002\text{pt}+ 7.08336\text{pt} + 7.22223\text{pt} + 7.6389\text{pt} + 4\text{pt}\space \text{(from }\verb\*\hskip\*\text{)}\ &=33.4445\text{pt}\ }$$

Wir haben jetzt zwei wichtige Informationen:

$$\eqalign{ \mathrm{W}*{\mathrm{D}} & = 100\text{pt}\ \mathrm{W}*{\mathrm{N}} & = 33.4445\text{pt}\ }$$

Offensichtlich, $$\mathrm{W}*{\mathrm{D}} > \mathrm{W}*{\mathrm{N}}$$ und die Differenz beträgt $$(100-33.4445)\text{pt}=66.5555\text{pt}$$; dieser überschüssige Platz muss durch Dehnen der Kleber gefüllt werden — aber welche und um wie viel?

### Wer hat die meiste Dehnung?

Nach Knuths Methodik (Seite 77 von $$\text{The } \mathrm \TeX \text{book}$$), aber unter Berücksichtigung des zusätzlichen Unendlichkeitstyps ($$\text{fi}$$) bereitgestellt von $$\text{Lua}\mathrm \TeX$$, ist der nächste Schritt, die *Gesamt-* dehnung der Box in der Form aufzuschreiben:

$$\text{total stretch} = y\_{0}+ y\_{1}\text{fi} +y\_{2}\text{fil} +y\_{3}\text{fill} +y\_{4}\text{filll}$$

Zunächst, wenn wir die $$\text{total glue}$$:

$$\text{total glue } = (\verb*4pt plus3pt minus 2pt*) + (\verb*0pt plus 2fil*) + (\verb*0pt plus 2fill*) + (\verb*0pt plus 3fill*)$$

aufschreiben, können wir dann sehen, dass die $$\text{total stretch}$$ ist:

$$\eqalign{ \text{total stretch} & = 3\text{pt}+ 0\text{fi} + (2\text{fil}) + (2\text{fill} + 3\text{fill}) + 0\text{filll}\ &=3\text{pt}+ 0\text{fi} + 2\text{fil} + 5\text{fill} + 0\text{filll}\ }$$

Vergleicht man dies mit $$\text{total stretch} = y\_{0}+ y\_{1}\text{fi} +y\_{2}\text{fil} +y\_{3}\text{fill} +y\_{4}\text{filll}\space$$sehen wir, dass:

$$\eqalign{ y\_0 &=3\text{pt}\ y\_1 &=0\ y\_2 &=2\ y\_3&=5\ y\_4&=0\ }$$

$$\mathrm\TeX$$ als Nächstes „fragt es sich“: Wenn man sich die $$\text{total stretch}$$ansieht, was ist die höchste Unendlichkeitsstufe mit einem von null verschiedenen Wert? Bei der Betrachtung der $$\text{total stretch}$$ unserer Box ist klar, dass der „am meisten unendliche“ von null verschiedene Dehnungsanteil $$\text{fill}$$ ist und wir haben $$y\_3=5$$ Einheiten davon: Es sind die Kleber mit einem $$\text{fill}$$ Dehnungsanteil, die die gesamte Dehnung liefern. Der tiefgestellte Index 3 von $$y\_3$$ sagt uns die `glue_order` des Klebers, der verwendet wird — in diesem Fall zum Dehnen. Wenn wir nun den Abschnitt „Metadaten“ in unserem Knotendiagramm für diesen `\hbox` ansehen, können wir jetzt zwei weitere „Metadatenwerte“ verstehen (wir werden `glue_set` im nächsten Abschnitt behandeln)

![Metadaten](/files/7f813a24d82cc78565be4312aadcb65227fedadd)

* `glue_sign`: sagt Ihnen, ob der Kleber auf seine natürliche Länge gesetzt, gedehnt oder geschrumpft ist:
* 0 = auf natürliche Breite gesetzt
* 1 = dehnen
* 2 = schrumpfen

In unserem Beispiel `glue_sign` hat den Wert von `1`, was bedeutet, dass die beteiligten Kleber gedehnt werden sollen.

* `glue_order` sagt Ihnen, welche „Unendlichkeit“ beteiligt ist; für $$\text{Lua}\mathrm \TeX$$ ein Wert von 3 sagt Ihnen, dass Kleber mit einem $$\text{fill}$$ Anteil an den Kleberberechnungen teilnehmen werden — in unserem Fall werden sie sich dehnen.

Jeder Kleber, der keinen Dehnungsanteil definiert hat in Einheiten von $$\text{fill}$$ wird **auf seine natürliche Länge gesetzt**: d. h. er wird sich in unserem Fall überhaupt nicht dehnen.

### Wie viel gedehnt oder geschrumpft werden soll: Berechnung von glue\_set

Fassen wir zusammen, wo wir stehen und was wir wissen:

1. gewünschte Breite der Box: $$\mathrm{W}\_{\mathrm{D}} = 100\text{pt}$$;
2. natürliche Breite der Box: $$\mathrm{W}\_{\mathrm{N}} = 33.4445\text{pt}$$;
3. Kleber muss sich dehnen, aber nur Kleber mit einem $$\text{fill}$$ Dehnungsanteil werden diese Dehnung übernehmen;
4. wir haben insgesamt $$(2+3)=5$$ Einheiten von $$\text{fill}$$ verfügbar.

Die nächste Frage ist: Um wie viel werden sich diese Kleber tatsächlich dehnen? Hier kommt das *Kleber-Setzungsverhältnis*— in unserem Knotengraphen als `glue_set` bezeichnet. Was $$\mathrm \TeX$$ macht, ist zu berechnen, wie viel Platz gefüllt werden muss, und dann diese Menge an Platz proportional zur Größe ihres Dehnungsanteils auf die geeigneten Kleber zu verteilen. Wenn Sie auf unseren tatsächlichen `\hbox` zurückblicken, können Sie genau sehen, welche Kleber Dehnungsanteile mit Einheiten von $$\text{fill}$$:

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

Die $$\textit{glue set ratio }(\text{or } \verb*glue\_set*)$$ wird wie folgt berechnet:

$$\eqalign{ \text{glue set ratio}\space (\verb*glue\_set*) = & {\text{amount to stretch}}\over{\text{value of highest infinity}}\ =& {\mathrm{W}*{\mathrm{D}}-\mathrm{W}*{\mathrm{N}}}\over{y\_3}\ =& {(100-33.4445)}\over{5}\ =& {66.5555}\over{5}\ =& 13.3111\space (\text{to 4 decimal places})\ }$$

Und nun der letzte Schritt im $$\mathrm\TeX$$ Algorithmus wird angewendet:

1. für jedes Kleberelement, dessen Dehnungsanteil der gewünschten `glue_order` entspricht (in unserem Fall 3), wird die Länge dieses Klebers:

$$\text{stretched value} = \text{natural length} + (\verb*glue\_set* \times \text{value of stretch component})$$

3. alle anderen Kleber werden auf ihre natürliche Länge gesetzt — d. h. sie dehnen sich überhaupt nicht.

Wenn wir uns die Kleber in unserer Box ansehen:

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

können wir sie durchgehen, um ihre endgültigen Werte zu berechnen:

1. **Zwischen A und B**: `\hskip 4pt plus3pt minus 2pt`. Der Dehnungsanteil ist `3pt`, was Ordnung `0`ist. Der erforderliche `glue_order` ist `3`: der Dehnungsanteil wird ignoriert und dieser Kleber nimmt seine natürliche Breite von `4pt`.
2. **Zwischen B und C**: `\hskip 0pt plus 2fil`. Der Dehnungsanteil ist `2fil`, was Ordnung `2`ist. Der erforderliche `glue_order` ist `3`: der Dehnungsanteil wird ignoriert und dieser Kleber nimmt seine natürliche Breite von `0pt`.
3. **Zwischen C und D**: `\hskip 0pt plus 2fill`. Der Dehnungsanteil ist `2fill`, was Ordnung `3` an und entspricht der erforderlichen `glue_order` von `3`. Dieser Kleber wird auf folgende Länge gedehnt: $$\eqalign{ \text{stretched value}\space = & \text{natural width} + (\verb*glue\_set* \times \text{value of stretch component})\ = & 0\text{pt} + 13.3111 \times 2 \ = & 26.6222\text{pt}\ }$$5. **Zwischen D und dem Ende der Box**: `\hskip 0pt plus 3fill`. Der Dehnungsanteil ist `3fill`, was Ordnung `3` an und entspricht der erforderlichen `glue_order` von `3`. Dieser Kleber wird auf folgende Länge gedehnt: $$\eqalign{ \text{stretched value}\space = &\text{natural width} + (\verb*glue\_set* \times \text{value of stretch component})\ =& 0\text{pt} + 13.3111 \times 3 \ = &39.9333\text{pt}\ }$$

## Und schließlich: Überprüfung der Gesamtbreite

Der Prozess der Berechnung des tatsächlichen von Kleber eingenommenen Raums wird als *Setzen des Klebers* bezeichnet, sodass wir nun prüfen können, ob wir die Box auf die gewünschte Breite gefüllt haben, $$(\mathrm{W}\_{\mathrm{D}} = \text{100pt})$$:

$$\eqalign{ \mathrm{W}\_{\mathrm{D}} & = \text{width of all characters} + \text{width of all }\textbf{set}\text{ glue values}\ & = \text{A:7.50002pt} + \text{B:7.08336pt} + \text{C:7.22223pt} + \text{D:7.6389pt}\ & + \text{4pt} + \text{0pt} + \text{26.6222pt} + \text{39.9333pt}\ & = \text{100.00pt} }$$

Wir kennen nun die Breiten aller Kleber und können eine Grafik vorbereiten, die die zu Beginn dieses Artikels gestellte Frage beantwortet: Hier sind die Kleberbreiten zwischen den Zeichen in unserer `\hbox`:

![Abstand](/files/9d7f12db25b4f8ef1057ca2a211001a211e19821)


---

# 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/de/ausfuhrliche-artikel/24-how-tex-calculates-glue-settings-in-an-hbox.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.
