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

# \badness

#### Resumen

Cada vez que TEX construye una caja (por ejemplo, explícitamente mediante un `\hbox` o `\vbox`) establece, o calcula, el «badness» de esa caja: un valor numérico que puede entenderse como una forma de medir o clasificar qué tan «bien» encaja el contenido de una caja dentro de esa caja. El valor de badness de la caja construida más recientemente se guarda en un registro de solo lectura (una ubicación de memoria) al que puede accederse mediante el comando `\badness`: por ejemplo mediante `\the\badness`. Tenga en cuenta que TEX también crea cajas durante otras actividades de composición tipográfica (por ejemplo, el salto de línea), pero aquí nos centraremos en los comandos explícitos de construcción de cajas.

#### Explicación y ejemplos

Cuando se le pide a TEX que cree una caja usando los siguientes comandos de construcción de cajas:

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

puede elegir fijar el tamaño de la caja y pedirle a TEX que intente ajustar su contenido en ella; por ejemplo `\hbox to 20pt{<stuff>}` le pedirá a TEX que intente ajustar su `<stuff>` en una caja de 20pt de ancho. TEX hará todo lo posible para lograr que `<stuff>` encaje estirando o contrayendo cualquier pegamento disponible.

Alternativamente, si usted *no* fija el tamaño de una caja, escribiendo `\hbox{<stuff>}`, TEX simplemente construirá una `\hbox` que sea suficientemente ancha para acomodar `<stuff>` y, en ese caso, TEX asignará a esa caja un valor de badness de 0.

Cuando TEX decide calcular el badness de una caja, compara el tamaño real de su contenido con la dimensión apropiada de la caja en la que debe encajar: ¿su contenido es demasiado ancho para caber en el `\hbox` o demasiado alto para caber en el `\vbox` o `\vtop`? Como parte del cálculo del badness, TEX también toma en cuenta la *total* cantidad de cada tipo de pegamento dentro de la caja; es decir, cuánto estiramiento o contracción total hay disponible para ayudar a producir una caja del tamaño deseado.

En la práctica, cuando TEX necesita calcular el valor de badness de una caja, usa (una aproximación de) la siguiente fórmula:

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

donde $$t$$ es el «ancho excedente» deseado que debe acomodarse y $$s$$ es la cantidad de pegamento disponible para estirarse o contraerse.

El valor de badness suele estar entre 0 y 10000, pero se reserva un valor especial para las cajas que, incluso permitiendo la contracción del pegamento, simplemente no son lo bastante grandes para contener el contenido: esas cajas se clasifican como «overfull» y TEX les asigna un valor «especial» de badness de 1000000.

Bien, basta de discusión/teoría; ahora veremos algunos ejemplos. Crearemos 5 cajas y usaremos 5 `\count` registros para almacenar el `\badness` valor de la caja que TEX acaba de crear. Más tarde usamos esos `\count` registros para mostrar el `\badness` valor de la caja correspondiente.

```
\newcount\aval\newcount\bval\newcount\cval\newcount\dval\newcount\eval
\setbox100=\hbox{Hello \TeX}\aval=\the\badness %No fijamos el tamaño de la caja
\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}% coloca un borde ajustado alrededor de cada caja
\noindent Aquí están los resultados:\vskip5mm
\noindent la caja 100 (\fbox{\copy100}) tiene un valor de \verb|\badness| de \number\aval\par
\noindent la caja 101 (\fbox{\copy101}) tiene un valor de \verb|\badness| de \number\bval\par
\noindent la caja 102 (\fbox{\copy102}) tiene un valor de \verb|\badness| de \number\cval\par
\noindent la caja 103 (\fbox{\copy103}) tiene un valor de \verb|\badness| de \number\dval\par
\noindent la caja 104 (\fbox{\copy104}) tiene un valor de \verb|\badness| de \number\eval\par
```

El siguiente gráfico muestra el resultado:

![](/files/09e8c056574cbc052a5d863cc2d3fc2278942699)

* caja 100: `\hbox{Hello \TeX}`. Esto tiene `\badness` 0 porque no se le pidió a TEX ajustar el contenido a un tamaño específico.
* caja 101: `\hbox to25mm{Hello \TeX\hskip0pt plus5pt}`. Esta caja tiene dos pegamentos: un espacio entre palabras después de la palabra «Hello» y 5pt procedentes del `\hskip` pegamento. Sin embargo, la caja deseada tiene 25mm de ancho, lo que deja mucho espacio por rellenar y muy poco pegamento para hacerlo. Esa combinación de espacio excedente y pegamento disponible da como resultado el `\badness` valor de 6396.
* caja 102: `\hbox to50mm{Hello \TeX}`. Esta caja tiene solo un elemento de pegamento: un espacio entre palabras después de la palabra «Hello» y tiene mucho espacio excedente por rellenar. Esa combinación de espacio excedente y la pequeña cantidad de pegamento da como resultado un valor de `\badness` tan grande que TEX lo «recorta» al valor máximo de 10000. Además, el espacio entre palabras se estira considerablemente para llenar la caja, lo que da lugar a un enorme hueco entre «Hello» y «TEX»
* caja 103: `\hbox to50mm{Hello \TeX\hfill}`. Esta caja es similar a la caja 102, pero tiene dos pegamentos: el espacio entre palabras después de la palabra «Hello» y además un segundo pegamento muy flexible proporcionado por `\hfill`—un pegamento llamado «infinitamente flexible». En consecuencia,`\hfill` puede estirarse cuanto sea necesario y se expande para absorber todo el espacio excedente. Debido al pegamento «infinitamente flexible», el `\badness` resultante es 0.
* caja 104: `\hbox to5mm{Overleaf}` Esta caja se superpone con el texto que la sigue y tiene un `\badness` valor es 1000000. El valor de badness tan grande (y el texto superpuesto) se debe a que el texto «Overleaf» es demasiado grande para caber en una `\hbox` caja que solo tiene 5mm de ancho—y, además, no hay pegamentos disponibles capaces de absorber el ancho excedente. TEX clasifica la caja 104 como una caja «overfull» y establece `\badness` un valor especial de 1000000.

#### Comandos relacionados

TEX proporciona varios comandos relacionados con informar y mostrar el badness de las cajas:

* `[\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/es/primitivas-de-tex-latex/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.
