> 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/articulos-en-profundidad/11-boxes-and-glue-a-brief-but-visual-introduction-using-luatex.md).

# Cajas y pegamento: una breve, pero visual, introducción usando LuaTeX

## Una introducción para artículos futuros

Esta publicación es una breve introducción a algunos conceptos/modelos clave implicados en la composición tipográfica con $$\mathrm \TeX$$: cajas y glue—«preparando el terreno» para futuros artículos que entrarán en mucho más detalle. Una próxima publicación explorará el comportamiento de bajo nivel de $$\mathrm \TeX$$ cajas usando $$\mathrm{Lua}\mathrm\TeX$$ para producir diagramas (grafos de nodos) como el siguiente ejemplo:

![Grafo de nodos de una caja](/files/7349111cbe3e5917712b6696f6339e3bd13630c8)

Este grafo de nodos se genera a partir de un `\hbox{...}` creado con el siguiente $$\mathrm \TeX$$ código:

```latex

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

que se ve así (dibujado con un rectángulo delimitador):

![Ejemplo de \hbox](/files/9effd3d47c227c7f95b99c29573993f0429993d1)

Estos grafos de nodos muestran la estructura interna profunda de $$\mathrm \TeX$$ las cajas—reflejando cómo se almacenan dentro de $$\mathrm \TeX$$ y ofrecen una descripción gráfica invaluable que ayuda a comprender mejor el comportamiento de comandos de construcción de cajas como `\hbox{...}` o `\vbox{...}`.

## Volvamos a lo básico...

Incluso como usuario nuevo, o casual, $$\mathrm \LaTeX$$ no tarda mucho en encontrarte con el concepto de $$\mathrm \TeX$$ «cajas» o que $$\mathrm \TeX$$ usa un modelo de «cajas y glue» para sus actividades principales de composición tipográfica. Los algoritmos de composición tipográfica de $$\mathrm \TeX$$ pasan gran parte de su tiempo creando y luego apilando listas horizontales y verticales de cajas. Por ejemplo, cuando $$\mathrm \TeX$$ compone un párrafo de texto y lo divide en una serie de líneas, considera el texto del párrafo como un flujo o secuencia de cajas y utiliza el ancho, alto y profundidad de esas cajas de caracteres (en realidad, glifos) para encontrar los mejores saltos de línea y luego añade espacio vertical entre las líneas del texto compuesto (ese glue se llama `\baselineskip`). Cada línea compuesta del párrafo es a su vez una caja (que contiene otras cajas—por ejemplo, caracteres) y las líneas del párrafo compuesto (cajas) se apilan verticalmente para producir el párrafo. Finalmente, se produce la caja más grande de todas: la página compuesta. Está claro que esta es una imagen extremadamente simplificada porque también necesitas la capacidad de mover y posicionar esas cajas y $$\mathrm \TeX$$ lo hace usando los llamados *glue*: una forma de «espaciado flexible». Knuth ha comentado (página 70 de The $$\mathrm \TeX \mathrm{book}$$) que «glue» probablemente debería haberse llamado «spring», pero el término glue se adoptó desde el principio y, para usar el juego de palabras de Knuth, se quedó.

## Visualizando un párrafo compuesto usando $$\mathrm{Lua}\mathrm\TeX$$

Usar $$\mathrm{Lua}\mathrm\TeX$$, un párrafo compuesto puede procesarse para mostrar los componentes usados para componerlo: las cajas de caracteres y el glue flexible usado para poner espacio entre las palabras. Hemos creado un sencillo [$$\mathrm{Lua}\mathrm\TeX$$ (sin adornos $$\mathrm \TeX$$) proyecto](https://www.overleaf.com/latex/examples/using-a-luatex-callback-to-parse-typeset-paragraphs/mzbpwxtjshsj) para demostrar esto:

[![Screenshot of Overleaf](/files/8852b398b1e72fc3c3d16edab12d851be1a23f0a)](https://www.overleaf.com/latex/examples/using-a-luatex-callback-to-parse-typeset-paragraphs/mzbpwxtjshsj)

El código del proyecto se escribió para ilustrar esta publicación y no es una implementación completa de un «parser» de párrafos—ignora una serie de $$\mathrm{Lua}\mathrm \TeX$$ tipos de nodos y está diseñado únicamente para ilustrar las ideas discutidas en esta publicación.

![cajas y glue](/files/83817a3398abe3e0281a588e3cae2068acaacc1c)

En la sección de la imagen ampliada, abajo, puedes ver las líneas individuales del párrafo sombreadas como franjas grises—observa que hay espacio en blanco entre las líneas: glue vertical que $$\mathrm \TeX$$ inserta mientras las apila para formar el párrafo. Si quieres saber más sobre el glue vertical insertado entre líneas en un párrafo compuesto, usa Google para encontrar artículos que discutan `\baselineskip` y `\lineskiplimit`.

![párrafo analizado mostrando cajas y glue](/files/feef35a7ec51778619245586d637e610feb5e4dd)

Cuando $$\mathrm \TeX$$ lee y compone un párrafo, convierte los caracteres de espacio entre palabras en masas de glue cuyo valor preciso es una propiedad de la fuente utilizada. Durante la composición, estos glues entre palabras se estiran o encogen en la cantidad que se considera necesaria para lograr un salto de línea agradable. En la imagen de arriba debes observar lo siguiente:

* las franjas grises son los límites de las líneas individuales del párrafo compuesto;
* cada carácter se muestra dentro de una caja que define sus dimensiones (tal como $$\mathrm \TeX$$ las ve);
* las cajas amarillas muestran el glue que $$\mathrm \TeX$$ ha insertado entre las palabras para lograr un salto de línea agradable. Observa lo siguiente:
* el ancho del glue entre palabras varía de una línea a otra, ya que $$\mathrm \TeX$$ lo estira o encoge para lograr cada salto de línea;
* en la tercera línea, el glue después del carácter de punto es más ancho que los otros glues en la misma línea.
* la caja roja muestra dónde se utilizó un `\hbox{...}` explícito. La definición de la `\TeX` comando \TeX coloca la E en una `\hbox{...}` para que pueda bajarse y crear el $$\mathrm \TeX$$ logotipo.

Al final de nuestro párrafo de ejemplo hay una larga franja de glue que se llama `\parfillskip`: esto es insertado por $$\mathrm \TeX$$ motores para llenar el espacio en la última línea. ![parfillskip glue](/files/22fab41dba0a57131dba2ed93c48e8296868b617)

### Hasta la próxima publicación

Esperamos que esta publicación haya proporcionado una introducción útil al principio de cajas y glue usado dentro de $$\mathrm \TeX$$. En una próxima publicación usaremos $$\mathrm{Lua}\mathrm\TeX$$ para profundizar mucho más en el contenido de $$\mathrm \TeX$$ cajas—usando grafos de nodos como el ejemplo mostrado al comienzo de este artículo.


---

# 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/articulos-en-profundidad/11-boxes-and-glue-a-brief-but-visual-introduction-using-luatex.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.
