> 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/tex-latex-primitieven/02-badness.md).

# \badness

#### Samenvatting

Elke keer dat TEX een doos construeert (bijv. expliciet via een `\hbox` of `\vbox`) stelt het de “badness” van die doos vast, of berekent die: een numerieke waarde die kan worden gezien als een manier om te meten, of te classificeren, hoe “goed” de inhoud van een doos in die doos past. De badnesswaarde voor de laatst geconstrueerde doos wordt opgeslagen in een alleen-lezen register (een geheugenlocatie) dat kan worden benaderd met het commando `\badness`: bijvoorbeeld door `\the\badness`. Merk op dat TEX ook dozen aanmaakt tijdens andere zetactiviteiten (bijv. regelafbreking), maar hier richten we ons op expliciete commando’s voor het construeren van dozen.

#### Uitleg en voorbeelden

Wanneer TEX wordt gevraagd een doos te maken met de volgende box-constructorcommando’s:

* `\hbox`
* `\vbox`
* `\vtop`

kun je ervoor kiezen de grootte van de doos in te stellen en TEX te vragen je inhoud erin te laten passen; bijvoorbeeld `\hbox to 20pt{<stuff>}` vraagt TEX om te proberen je `<stuff>` in een doos van 20pt breed te laten passen. TEX zal zijn best doen om `<stuff>` de pasvorm te bereiken door beschikbare glue uit te rekken of samen te drukken.

Als je daarentegen *niet* de grootte van een doos vastzet door te schrijven `\hbox{<stuff>}`, zal TEX eenvoudigweg een `\hbox` maken die breed genoeg is om `<stuff>` te bevatten, en in dat geval kent TEX die doos een badnesswaarde van 0 toe.

Wanneer TEX besluit de badness van een doos te berekenen, vergelijkt het de werkelijke grootte van je inhoud met de juiste afmeting van de doos waarin die moet passen: is je inhoud te breed om in de opgegeven `\hbox` of te hoog om in de opgegeven `\vbox` of `\vtop`? Als onderdeel van de badnessberekening houdt TEX ook rekening met de *totale* hoeveelheid van elk type glue binnen de doos—oftewel hoeveel totale rek of krimp beschikbaar is om te helpen een doos van de gewenste grootte te maken.

In de praktijk, wanneer TEX de badnesswaarde van een doos moet berekenen, gebruikt het (een benadering van) de volgende formule:

$$\mathrm{badness}=100\left ({t \over s}\right )^3$$

waar $$t$$ is de gewenste “extra breedte” die moet worden opgevangen en $$s$$ is de hoeveelheid glue die beschikbaar is om uit te rekken of samen te drukken.

De badnesswaarde ligt gewoonlijk tussen 0 en 10000, maar er is een speciale waarde gereserveerd voor dozen die, zelfs na rekening te houden met het krimpen van glue, gewoonweg niet groot genoeg zijn om de inhoud te bevatten: die dozen worden geclassificeerd als “overfull” en TEX kent ze een “speciale” badnesswaarde van 1000000 toe.

Oké, genoeg discussie/theorie; we bekijken nu enkele voorbeelden. We maken 5 dozen en gebruiken 5 `\count` registers om de `\badness` waarde van de doos die TEX net heeft gemaakt op te slaan. Later gebruiken we die `\count` registers om de `\badness` waarde van de betreffende doos uit te voeren.

```
\newcount\aval\newcount\bval\newcount\cval\newcount\dval\newcount\eval
\setbox100=\hbox{Hello \TeX}\aval=\the\badness %We stellen de doosgrootte niet in
\setbox101=\hbox to25mm{Hello \TeX\hskip0pt plus5pt}\bval=\the\badness
\setbox102=\hbox to50mm{Hello \TeX}\cval=\the\badness
\setbox103=\hbox to50mm{Hello \TeX\hfill}\dval=\the\badness
\setbox104=\hbox to5mm{Overleaf}\eval=\the\badness
\setlength{\fboxsep}{0pt}% plaats een strakke rand om elke doos
\noindent Hier zijn de resultaten:\vskip5mm
\noindent doos 100 (\fbox{\copy100}) heeft een \verb|\badness|-waarde van \number\aval\par
\noindent doos 101 (\fbox{\copy101}) heeft een \verb|\badness|-waarde van \number\bval\par
\noindent doos 102 (\fbox{\copy102}) heeft een \verb|\badness|-waarde van \number\cval\par
\noindent doos 103 (\fbox{\copy103}) heeft een \verb|\badness|-waarde van \number\dval\par
\noindent doos 104 (\fbox{\copy104}) heeft een \verb|\badness|-waarde van \number\eval\par
```

De volgende afbeelding toont de uitvoer:

![](/files/399995731abb3168eddb3779d048628607381140)

* doos 100: `\hbox{Hello \TeX}`. Dit heeft `\badness` 0 omdat TEX niet werd gevraagd de inhoud in een specifieke grootte te laten passen.
* doos 101: `\hbox to25mm{Hello \TeX\hskip0pt plus5pt}`. Deze doos heeft twee glues: een woordspatie na het woord “Hello” en 5pt afkomstig van de `\hskip` glue. De gewenste doos is echter 25mm breed, wat resulteert in veel ruimte om op te vullen en slechts weinig glue om dat te doen. Die combinatie van overtollige ruimte en beschikbare glue resulteert in de `\badness` waarde van 6396.
* doos 102: `\hbox to50mm{Hello \TeX}`. Deze doos heeft slechts één glue-element: een woordspatie na het woord “Hello” en heeft veel overtollige ruimte om op te vullen. Die combinatie van overtollige ruimte en kleine hoeveelheid glue resulteert in een zeer grote `\badness` waarde—zo hoog dat TEX die “afkapt” op de maximumwaarde van 10000. Bovendien wordt de woordspatie aanzienlijk uitgerekt om de doos te vullen, waardoor er een enorme opening ontstaat tussen “Hello” en “TEX”
* doos 103: `\hbox to50mm{Hello \TeX\hfill}`. Deze doos lijkt op doos 102, maar heeft twee glues: de woordspatie na het woord “Hello”, maar heeft een tweede zeer flexibele glue geleverd door `\hfill`–een zogenaamde “oneindig flexibele” glue. Daardoor,`\hfill` kan zo ver worden uitgerekt als nodig is en zet uit om alle overtollige ruimte op te nemen. Door de “oneindig flexibele” glue is de resulterende `\badness` 0.
* doos 104: `\hbox to5mm{Overleaf}` Deze doos overlapt de tekst die erop volgt; heeft een `\badness` waarde van 1000000. De zeer grote badnesswaarde (en de overlappende tekst) komt doordat de tekst “Overleaf” te groot is om in een `\hbox` die slechts 5mm breed is—en bovendien zijn er geen beschikbare glues die de overtollige breedte kunnen opvangen. TEX classificeert doos 104 als een “overfull” doos en stelt `\badness` in op de speciale waarde van 1000000.

#### Gerelateerde opdrachten

TEX biedt een aantal commando’s voor het rapporteren en weergeven van de badness van dozen:

* `[\overfullrule](./07-overfullrule.md)`
* `[\hfuzz](./06-hfuzz.md)`
* `[\vfuzz](./06-hfuzz.md)`
* `[\hbadness](./05-hbadness.md)`
* `[\vbadness](./05-hbadness.md)`


---

# 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/tex-latex-primitieven/02-badness.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.
