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

# \badness

#### Opsummering

Hver gang TEX konstruerer en boks (f.eks. eksplicit via en `\hbox` eller `\vbox`) sætter det, eller beregner det, den pågældende boks’ “badness”: en numerisk værdi, som kan opfattes som en måde at måle eller klassificere, hvor “godt” indholdet af en boks passer inde i den boks. Badness-værdien for den senest konstruerede boks gemmes i et skrivebeskyttet register (en hukommelsesplacering), som kan tilgås med kommandoen `\badness`: for eksempel ved `\the\badness`. Bemærk, at TEX også opretter bokse under andre typografiske aktiviteter (f.eks. orddeling/linjebrydning), men her fokuserer vi på eksplicitte kommandoer til boks-konstruktion.

#### Forklaring og eksempler

Når TEX bliver bedt om at oprette en boks ved hjælp af følgende kommandoer til boks-konstruktion:

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

kan du vælge at angive boksens størrelse og bede TEX om at prøve at få dit indhold til at passe ind i den; for eksempel `\hbox to 20pt{<stuff>}` vil bede TEX om at forsøge at få dit `<stuff>` ind i en boks, der er 20pt bred. TEX vil gøre sit bedste for at få `<stuff>` det til at passe ved at strække eller sammenpresse enhver tilgængelig lim.

Alternativt, hvis du *ikke* fastlåser størrelsen på en boks ved at skrive `\hbox{<stuff>}`, vil TEX blot konstruere en `\hbox` der er bred nok til at rumme `<stuff>` og i så fald tildeler TEX den boks en badness-værdi på 0.

Når TEX beslutter at beregne badness for en boks, sammenligner den den faktiske størrelse af dit indhold med den relevante dimension af den boks, som det skal passe i: er dit indhold for bredt til at passe i den angivne `\hbox` eller for højt til at passe i den angivne `\vbox` eller `\vtop`? Som en del af badness-beregningen tager TEX også hensyn til den *samlede* mængde af hver type lim i boksen — dvs. hvor meget samlet stræk eller sammentrækning der er til rådighed for at hjælpe med at skabe en boks i den ønskede størrelse.

I praksis bruger TEX, når det skal beregne en boks’ badness-værdi, (en tilnærmelse til) følgende formel:

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

hvor $$t$$ er den ønskede “overskydende bredde”, der skal rummes, og $$s$$ er den mængde lim, der er til rådighed for strækning eller sammentrækning.

Badness-værdien ligger normalt mellem 0 og 10000, men der er reserveret en særlig værdi for bokse, som, selv efter at der er taget højde for at lim kan trækkes sammen, simpelthen ikke er store nok til at rumme indholdet: disse bokse klassificeres som “overfull”, og TEX tildeler dem en “særlig” badness-værdi på 1000000.

OK, nok om diskussionen/teorien; nu ser vi på nogle eksempler. Vi vil oprette 5 bokse og bruge 5 `\count` registre til at gemme `\badness` værdien for den boks, som TEX netop har oprettet. Vi bruger senere disse `\count` registre til at udskrive `\badness` værdien for den relevante boks.

```
\newcount\aval\newcount\bval\newcount\cval\newcount\dval\newcount\eval
\setbox100=\hbox{Hello \TeX}\aval=\the\badness %Vi angiver ikke boksens størrelse
\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}% sæt en tæt ramme omkring hver boks
\noindent Her er resultaterne:\vskip5mm
\noindent boks 100 (\fbox{\copy100}) har en \verb|\badness|-værdi på \number\aval\par
\noindent boks 101 (\fbox{\copy101}) har en \verb|\badness|-værdi på \number\bval\par
\noindent boks 102 (\fbox{\copy102}) har en \verb|\badness|-værdi på \number\cval\par
\noindent boks 103 (\fbox{\copy103}) har en \verb|\badness|-værdi på \number\dval\par
\noindent boks 104 (\fbox{\copy104}) har en \verb|\badness|-værdi på \number\eval\par
```

Den følgende grafik viser outputtet:

![](/files/017b4442a9a9af4324ad2b651af0a62e6a594b57)

* boks 100: `\hbox{Hello \TeX}`. Denne har `\badness` 0, fordi TEX ikke blev bedt om at få indholdet til at passe til en bestemt størrelse.
* boks 101: `\hbox to25mm{Hello \TeX\hskip0pt plus5pt}`. Denne boks har to lim-elementer: et mellemrum mellem ordene efter ordet “Hello” og 5pt fra `\hskip` limen. Men den ønskede boks er 25 mm bred, hvilket efterlader meget plads, der skal fyldes, men ikke meget lim til at gøre det med. Denne kombination af overskydende plads og tilgængelig lim resulterer i `\badness` værdien 6396.
* boks 102: `\hbox to50mm{Hello \TeX}`. Denne boks har kun ét lim-element: et mellemrum mellem ordene efter ordet “Hello” og har meget overskydende plads at fylde. Denne kombination af overskydende plads og lille mængde lim resulterer i en meget stor `\badness` værdi — så høj, at TEX “klipper” den til maksimumsværdien 10000. Derudover strækkes mellemrummet mellem ordene betydeligt for at fylde boksen op, hvilket resulterer i et stort mellemrum mellem “Hello” og “TEX”
* boks 103: `\hbox to50mm{Hello \TeX\hfill}`. Denne boks ligner boks 102, men den har to lim-elementer: mellemrum mellem ordene efter ordet “Hello”, men den har også en anden meget fleksibel lim leveret af `\hfill`– en såkaldt “uendeligt fleksibel” lim. Følgelig,`\hfill` kan strække sig så langt, som det er nødvendigt, og udvider sig for at absorbere al den overskydende plads. På grund af den “uendeligt fleksible” lim er den resulterende `\badness` er 0.
* boks 104: `\hbox to5mm{Overleaf}` Denne boks overlapper teksten, der følger efter den, og har en `\badness` værdien er 1000000. Den meget store badness-værdi (og den overlappende tekst) skyldes, at teksten “Overleaf” er for stor til at passe i en `\hbox` der kun er 5 mm bred — og derudover er der ingen tilgængelige lim-elementer, som kan absorbere den overskydende bredde. TEX klassificerer boks 104 som en “overfull”-boks og sætter `\badness` den til den særlige værdi 1000000.

#### Relaterede kommandoer

TEX tilbyder en række kommandoer, der vedrører rapportering og visning af bokses badness:

* `[\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/da/tex-latex-primitiver/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.
