> 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/nl/diepgaande-artikelen/24-how-tex-calculates-glue-settings-in-an-hbox.md).

# Hoe TeX lijminstellingen berekent in een \hbox

Dit is het derde en afsluitende artikel in een reeks die een blik werpt op $$\mathrm \TeX$$ boxen en lijm. De eerste post [Boxen en lijm: een korte, maar visuele, introductie met LuaTeX](/latex/nl/diepgaande-artikelen/11-boxes-and-glue-a-brief-but-visual-introduction-using-luatex.md) introduceerde de concepten boxen en lijm en werd gevolgd door [Pandora’s \hbox: Met LuaTeX het deksel van TeX-boxen lichten](/latex/nl/diepgaande-artikelen/36-pandora-s-hbox-using-luatex-to-lift-the-lid-of-tex-boxes.md) die een [$$\text{Lua}\mathrm\TeX$$-gebaseerd Overleaf-project](https://www.overleaf.com/latex/examples/exploring-the-structure-of-tex-boxes-with-luatex/pwdrypmtdbgs) om de diepere structuren van $$\mathrm \TeX$$ boxen te verkennen via het gebruik van nodegrafen. In dit slotdeel duiken we diep in de mechaniek van hoe $$\mathrm \TeX$$ de lijmwaarden berekent in een `\hbox`: een proces dat wordt aangeduid als *het instellen van de lijm*. We maken uitgebreid gebruik van nodegrafen (geïntroduceerd in de [Pandora’s \hbox: Met LuaTeX het deksel van TeX-boxen lichten](/latex/nl/diepgaande-artikelen/36-pandora-s-hbox-using-luatex-to-lift-the-lid-of-tex-boxes.md) in deze reeks) en laten zien hoe je sommige van de gegevens die ze leveren kunt gebruiken en interpreteren: `glue_set`, `glue_sign` en `glue_order`.

We geven een volledig uitgewerkt voorbeeld van lijmberekeningen voor een `\hbox` en behandelen veel details; er kunnen echter aanvullende omstandigheden en overwegingen zijn waar we hier geen ruimte voor hebben, en de geïnteresseerde lezer wordt verwezen naar pagina 77 van $$\text{The } \mathrm \TeX \text{book}$$.

## De uitdaging

Stel dat we een `\hbox` zoals deze hebben:

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

Dit is hoe deze box eruitziet—ter verduidelijking, vergroot weergegeven en met een rand:

![box](/files/25f99061d4ee2d7880411cb2b356250807d66f37)

De vraag is: wat is de uiteindelijke waarde, in $$\mathrm \TeX$$ punten, van de ruimte (lijm) tussen de volgende items:

* A en B
* B en C
* C en D
* D en het einde van de box

oftewel, we willen de waarden berekenen van $$\mathrm{g}*{1}, \mathrm{g}*{2}, \mathrm{g}*{3} \text{ and } \mathrm{g}*{4}:$$

![glue](/files/999512e4938fecbd94088472c61712b7084fa3bf)

Hier is een nodegrafiek die de bovenstaande box weergeeft. Van bijzonder belang zijn drie waarden in de sectie “metadata”:

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

![nodegrafiek](/files/3b2804c50fb4453f0f756d7e97b3958d5f57ec75)

Het is belangrijk op te merken dat een bepaalde set waarden voor `glue_set`, `glue_sign` en `glue_order` alleen van invloed is op lijmen binnen de bovenste box: ze hebben geen invloed op lijmen binnen *geneste* boxen: elke geneste box (hlist- of vlist-object) heeft zijn eigen waarden voor deze drie parameters. Hier is een voorbeeld van een `\hbox` genest binnen een buitenste `\hbox`. In dit voorbeeld kun je duidelijk de verschillende waarden van `glue_set`—natuurlijk kan de geneste box ook andere waarden hebben voor `glue_sign` en `glue_order`.

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

![nodegrafiek](/files/e215ed0436d18a3a65e85247e58363d390ac1f6f)

## Typen lijm, oneindigheden en orden: Een samenvatting

$$\mathrm \TeX$$ biedt een aantal primitieve lijmgerelateerde commando's, waaronder:

* horizontale lijm: `\hskip`, `\hfil`, `\hfill`, `\hfilneg`, `\hss`;
* verticale lijm:`\vskip`, `\vfil`, `\vfill`, `\vfilneg`, `\vss`;

samen met `\mskip` voor het invoegen van lijm in wiskunde-uitdrukkingen.

Een lijm-item wordt gedefinieerd door een set van drie waarden:

* **natuurlijke breedte**: hoeveel ruimte het inneemt als je het niet uitrekt of laat krimpen;
* **uitrekcomponent**: met hoeveel de lijm kan uitrekken;
* **krimpcomponent**: met hoeveel de lijm kan krimpen.

Wat we gaan bekijken is het gebruik van lijm binnen een `\hbox{...}` en de berekeningen $$\mathrm \TeX$$ gebruikt om te bepalen hoeveel ruimte de lijm uiteindelijk zal innemen. Het commando dat we zullen gebruiken om enige *horizontaal* lijm te creëren is `\hskip`, dat de vorm heeft:

`**\hskip** *<natuurlijke breedte>* **plus** *<hoeveelheid om uit te rekken>* **minus** *<hoeveelheid om te krimpen>*`

Voor *verticaal* lijm die je zou gebruiken `**\vskip** *<natuurlijke breedte>* **plus** *<hoeveelheid om uit te rekken>* **minus** *<hoeveelheid om te krimpen>*`.

Bijvoorbeeld, enkele typische horizontale lijm zou worden uitgedrukt als `\hskip 3pt plus 2pt minus 1pt`. Je kunt ook andere fysieke eenheden gebruiken:

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

## $$\mathrm \TeX$$ lijm en eenheden van “oneindigheid”

Voor de krimp- of uitrekcomponent van de lijm $$\mathrm \TeX$$ introduceert een ander type eenheid: zogenaamde “oneindigheden”: $$\text{fil}$$, $$\text{fill}$$ en $$\text{filll}$$. Deze drie “niveaus van oneindigheid” zijn zo dat, wanneer ze in een reeks worden opgesomd, elk niveau “meer oneindig” is dan het vorige:

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

Misschien is “oneindigheden” een wat verwarrende naam voor deze eenheden—het kan helpen om ze ook te zien als verschillende niveaus van *prioriteit*, omdat ze uiteindelijk helpen bepalen welke lijmen daadwerkelijk deelnemen aan het proces van uitrekken of krimpen. Door lijm te hebben met een “oneindige” uitrek- of krimpcomponent, $$\mathrm \TeX$$ kun je lijm maken die met elke gewenste hoeveelheid kan uitrekken of krimpen. Merk op dat voor eindige lijmen, $$\mathrm \TeX$$ de hoeveelheid beperken waarmee dergelijke lijmen kunnen krimpen. Een voorbeeld van “oneindige” lijm is

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

Merk op dat we niet kunnen schrijven, bijvoorbeeld, `\hskip 1fil` toe te voegen, omdat $$\mathrm \TeX$$ zal een fout melden met de melding `Ongeldige maateenheid (pt ingevoegd)`. Op dit punt kunnen deze “niveaus van oneindigheid” heel vreemd klinken, maar accepteer het voorlopig gewoon op het eerste gezicht en we zullen snel zien hoe $$\mathrm \TeX$$ deze oneindigheden gebruikt bij het uitvoeren van lijmberekeningen.

### Niveaus van oneindigheid (“lijmorde”)

Intern, wanneer $$\mathrm \TeX$$ zijn lijmberekeningen uitvoert, beschouwt het elk niveau van oneindigheid als een “lijmorde” van 0–3, waarbij de 0e orde staat voor lijm met fysieke dimensies zoals bp, pt, mm enzovoort. Echter, bij $$\text{Lua}\mathrm\TeX$$ is er een kleine afwijking omdat het feitelijk een extra type (orde) van oneindigheid heeft dat bij veel andere $$\mathrm \TeX$$ engines ontbreekt: $$\text{fi}$$ (zie uitleg hieronder). Als je $$\text{The } \mathrm \TeX\text{book}$$ leest, zul je geen enkele vermelding zien van de $$\text{fi}$$ oneindigheid—simpelweg omdat die niet is geïmplementeerd in Knuths oorspronkelijke $$\mathrm \TeX$$ software. Daardoor hebben we een kleine “disconnect” tussen $$\text{Lua}\mathrm\TeX\text{'s}$$ orde van oneindigheden en die je mogelijk ziet in boeken over $$\mathrm \TeX$$. $$\text{Lua}\mathrm\TeX$$ gebruikt oneindigheden waarvan de orde varieert van 0–4, maar andere (gebruikelijke) $$\mathrm \TeX$$ engines variëren van 0–3. Hier is een tabel die de lijmorde toont die aan elk type lijmeenheid is toegekend.

|                           |                               |        |     |      |       |
| ------------------------- | ----------------------------- | ------ | --- | ---- | ----- |
|                           | Fysieke eenheden (pt, mm, in) | fi     | fil | fill | filll |
| $$\text{Lua}\mathrm\TeX$$ | 0                             | 1      | 2   | 3    | 4     |
| Andere engines            | 0                             | n.v.t. | 1   | 2    | 3     |

### Opmerkingen over $$\text{Lua}\mathrm\TeX$$: Waarom een extra oneindigheid?

$$\text{Lua}\mathrm\TeX$$ is afgeleid van een aantal projecten en codebibliotheken, waaronder een genaamd [Omega](https://en.wikipedia.org/wiki/Omega_\(TeX\)). $$\text{Lua}\mathrm\TeX$$ heeft bepaalde aspecten van Omega's code overgenomen en dat omvat een nieuw type oneindige lijm genaamd $$\text{fi}$$. Uit de Omega-handleiding:

> “Er is een nieuw oneindigheidsniveau $$\text{fi}$$ toegevoegd. Het is kleiner dan $$\text{fil}$$ maar groter dan elke eindige hoeveelheid. De oorspronkelijke bedoeling was voor uitrekking tussen letters: ofwel het opvullen van zwarte ruimtes, zoals gedaan wordt voor kalligrafische schriften zoals Arabisch; of voor nadruk, zoals in het Russisch; dit alles zonder bestaande macro-pakketten te hoeven herschrijven. Er is daarom een nieuw trefwoord, $$\text{fi}$$, en twee nieuwe primitieve commando's, `\hfi` en `\vfi`.”

## Terug naar onze uitdaging

Volgens Knuths model definiëren we twee grootheden:

* de gewenste breedte van een box: $$\mathrm{W}\_{\mathrm{D}}$$—hoe groot willen we hem hebben;
* de natuurlijke breedte van een box: $$\mathrm{W}\_{\mathrm{N}}$$—de totale ruimte die door de samenstellende elementen wordt ingenomen voordat enige lijm wordt uitgerekt of gekrompen.

### De natuurlijke breedte van een box

De natuurlijke breedte van een box is de totale breedte van alle componenten in die box: tekens, kerns, geneste boxen en eventuele lijm. Voor lijm binnen de box negeert de natuurlijke breedte elke uitrekking of krimp van de lijm: oftewel, de grootte voordat er uitrekking of krimp plaatsvindt.

Nogmaals, hier is de box die we onderzoeken:

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

Het is duidelijk dat we willen dat de box 100pt breed is, dus $$\mathrm{W}*{\mathrm{D}}=100\mathrm{pt}$$ maar hoe zit het met de natuurlijke breedte ervan, $$\mathrm{W}*{\mathrm{N}}$$? Om de natuurlijke breedte te berekenen is het duidelijk dat we de breedten van de vier tekens (A, B, C en D) plus de natuurlijke breedten van de vier lijmen nodig hebben.

$$\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\*)\ }$$

Waar $$\text{width}$$ is gewoon een notatie om de natuurlijke breedte van een item aan te duiden. We kunnen de natuurlijke breedten van de vier tekens (A, B, C en D) uit onze nodegrafiek halen:

![nodegrafiek](/files/3b70bb06b09ef1ba8807545f94bc0da7b412ec80)

Uit de bovenstaande nodegrafiek kunnen we zien dat:

$$\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}\ }$$

Nu hebben we alleen nog de natuurlijke breedten van onze lijmen nodig, en die verkrijgen we eenvoudig door de uitrek- en krimpcomponenten te negeren:

$$\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}\ }$$

Dus:

$$\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}\ }$$

We hebben nu twee belangrijke stukjes informatie:

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

Het is duidelijk, $$\mathrm{W}*{\mathrm{D}} > \mathrm{W}*{\mathrm{N}}$$ en het verschil is $$(100-33.4445)\text{pt}=66.5555\text{pt}$$; deze extra ruimte moet worden opgevuld door de lijmen uit te rekken—maar welke en met hoeveel?

### Wie heeft de meeste uitrekking?

Volgens Knuths methodologie (pagina 77 van $$\text{The } \mathrm \TeX \text{book}$$), maar rekening houdend met het extra oneindigheidstype ($$\text{fi}$$) dat wordt geleverd door $$\text{Lua}\mathrm \TeX$$, is de volgende stap om de box’s *totale* uitrekking in de vorm op te schrijven:

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

Allereerst, als we de $$\text{total glue}$$:

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

opschrijven, kunnen we dan zien dat de $$\text{total stretch}$$ is:

$$\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}\ }$$

Als we dit vergelijken met $$\text{total stretch} = y\_{0}+ y\_{1}\text{fi} +y\_{2}\text{fil} +y\_{3}\text{fill} +y\_{4}\text{filll}\space$$kunnen we zien dat:

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

$$\mathrm\TeX$$ vervolgens “vraagt” het zich af: kijkend naar de $$\text{total stretch}$$, wat is het hoogste niveau van oneindigheid met een niet-nul waarde? Bij inspectie van de $$\text{total stretch}$$ van onze box is het duidelijk dat de “meest oneindige” niet-nul uitrekcomponent $$\text{fill}$$ is en we hebben $$y\_3=5$$ eenheden daarvan: het zijn lijmen met een $$\text{fill}$$ uitrekcomponent die alle uitrekking verzorgen. De subscript 3 van $$y\_3$$ vertelt ons de `glue_order` van de lijm die zal worden gebruikt—in dit geval voor uitrekking. Als we nu kijken naar de “metadata”-sectie in ons node-diagram voor deze `\hbox` kunnen we nu betekenis geven aan nog twee “metadatawaarden” (we behandelen `glue_set` in de volgende sectie)

![metadata](/files/b5ba4f7e4a419422160fcc1ed36a48ef0cca8061)

* `glue_sign`: vertelt je of de lijm is ingesteld op zijn natuurlijke lengte, uitgerekt of gekrompen:
* 0 = ingesteld op natuurlijke breedte
* 1 = uitrekking
* 2 = krimp

In ons voorbeeld, `glue_sign` heeft de waarde van `1`, wat betekent dat de deelnemende lijmen moeten worden uitgerekt.

* `glue_order` vertelt je welke “oneindigheid” betrokken is; voor $$\text{Lua}\mathrm \TeX$$ een waarde van 3 vertelt je dat lijmen met een $$\text{fill}$$ component zullen deelnemen aan de lijmberekeningen—in ons geval zullen ze uitrekken.

Elke lijm die geen uitrekcomponent gedefinieerd heeft in eenheden van $$\text{fill}$$ zal **op zijn natuurlijke lengte gezet worden**: oftewel, hij zal in ons geval helemaal niet uitrekken.

### Hoeveel uitrekken of krimpen: de berekening van glue\_set

Om samen te vatten waar we staan en wat we weten:

1. gewenste breedte van box: $$\mathrm{W}\_{\mathrm{D}} = 100\text{pt}$$;
2. natuurlijke breedte van box: $$\mathrm{W}\_{\mathrm{N}} = 33.4445\text{pt}$$;
3. lijm zal moeten uitrekken, maar alleen lijmen met een $$\text{fill}$$ uitrekcomponent zullen dat uitrekken verzorgen;
4. we hebben in totaal $$(2+3)=5$$ eenheden $$\text{fill}$$ beschikbaar.

De volgende vraag is: met hoeveel zullen die lijmen eigenlijk uitrekken? Maak kennis met de *lijmset-ratio*—ook wel aangeduid als `glue_set` in onze nodegrafiek. Wat $$\mathrm \TeX$$ doet is uitzoeken hoeveel ruimte moet worden opgevuld en vervolgens die hoeveelheid ruimte verdelen over de juiste lijmen in verhouding tot de grootte van hun uitrekcomponent. Als je terugkijkt naar onze werkelijke `\hbox` kun je precies zien welke lijmen uitrekcomponenten hebben met eenheden van $$\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%
}
```

De $$\textit{glue set ratio }(\text{or } \verb*glue\_set*)$$ wordt als volgt berekend:

$$\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})\ }$$

En nu de laatste stap in het $$\mathrm\TeX$$ algoritme wordt toegepast:

1. voor elk item lijm waarvan de uitrekcomponent overeenkomt met de gewenste `glue_order` (3 in ons geval) zal de lengte van die lijm worden:

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

3. alle andere lijmen worden ingesteld op hun natuurlijke lengte—d.w\.z. ze rekken helemaal niet uit.

Kijkend naar de lijmen in onze box:

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

kunnen we ze doorlopen om hun uiteindelijke waarden te berekenen:

1. **Tussen A en B**: `\hskip 4pt plus3pt minus 2pt`. De uitrekcomponent is `3pt`, wat orde `0`is. De vereiste `glue_order` is `3`: de uitrekcomponent wordt genegeerd en deze lijm neemt zijn natuurlijke breedte van `4pt`.
2. **Tussen B en C**: `\hskip 0pt plus 2fil`. De uitrekcomponent is `2fil`, wat orde `2`is. De vereiste `glue_order` is `3`: de uitrekcomponent wordt genegeerd en deze lijm neemt zijn natuurlijke breedte van `0pt`.
3. **Tussen C en D**: `\hskip 0pt plus 2fill`. De uitrekcomponent is `2fill`, wat orde `3` en komt overeen met de vereiste `glue_order` van `3`. Deze lijm zal worden uitgerekt tot: $$\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. **Tussen D en het einde van de box**: `\hskip 0pt plus 3fill`. De uitrekcomponent is `3fill`, wat orde `3` en komt overeen met de vereiste `glue_order` van `3`. Deze lijm zal worden uitgerekt tot: $$\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}\ }$$

## En ten slotte: de totale breedte controleren

Het proces van het berekenen van de werkelijke ruimte die door lijm wordt ingenomen heet *het instellen van de lijm* zodat we nu kunnen controleren of we de box hebben gevuld tot de gewenste breedte, $$(\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} }$$

We kennen nu de breedten van alle lijmen en kunnen een afbeelding voorbereiden die de aan het begin van dit artikel gestelde vraag beantwoordt: hier zijn de lijmbreedten tussen de tekens in onze `\hbox`:

![glue](/files/251c9c82f9479b2dd14bb261f427fe6928361fe9)


---

# 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/nl/diepgaande-artikelen/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.
