> 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/overleaf-learn-latex-pt/artigos-aprofundados/11-boxes-and-glue-a-brief-but-visual-introduction-using-luatex.md).

# Caixas e cola: uma introdução breve, mas visual, usando LuaTeX

## Uma introdução para futuros artigos

Esta publicação é uma breve introdução a alguns conceitos/modelos-chave envolvidos na composição tipográfica com $$\mathrm \TeX$$: caixas e cola—“preparando o cenário” para futuros artigos que entrarão em muito mais detalhe. Uma próxima publicação irá explorar o comportamento de baixo nível de $$\mathrm \TeX$$ caixas usando $$\mathrm{Lua}\mathrm\TeX$$ para produzir diagramas (grafos de nós) como o seguinte exemplo:

![Grafo de nós de uma caixa](/files/3804080e7999fe6c66ab5d4689f31f9da7ef5a2c)

Este grafo de nós é produzido a partir de um `\hbox{...}` criado com o seguinte $$\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 parece com isto (desenhado com um retângulo delimitador):

![Exemplo de \hbox](/files/4a46cfb82735202cc6820be091230a34a2907484)

Estes grafos de nós mostram a estrutura interna profunda das $$\mathrm \TeX$$ caixas—refletindo a forma como são armazenadas dentro de $$\mathrm \TeX$$ e oferecem uma descrição gráfica inestimável que ajuda a compreender melhor o comportamento dos comandos de construção de caixas como `\hbox{...}` ou `\vbox{...}`.

## De volta ao básico...

Mesmo como um novo, ou ocasional, $$\mathrm \LaTeX$$ utilizador, não demora muito até se deparar com o conceito de $$\mathrm \TeX$$ “caixas” ou que $$\mathrm \TeX$$ usa um modelo de “caixas e cola” para as suas atividades centrais de composição tipográfica. Os algoritmos de composição tipográfica de $$\mathrm \TeX$$ passam grande parte do seu tempo a criar e depois a empilhar listas horizontais e verticais de caixas. Por exemplo, quando $$\mathrm \TeX$$ compõe um parágrafo de texto e o quebra numa série de linhas, considera o texto do parágrafo como um fluxo ou sequência de caixas e usa a largura, a altura e a profundidade dessas caixas de caracteres (na verdade, glifos) para encontrar as melhores quebras de linha e depois adiciona espaço vertical entre as linhas do texto composto (essa cola chama-se `\baselineskip`). Cada linha composta do parágrafo é ela própria uma caixa (contendo outras caixas—por exemplo, caracteres) e as linhas do parágrafo composto (caixas) são empilhadas verticalmente para produzir o parágrafo. Eventualmente, é produzida a maior caixa de todas: a página composta. Claramente, esta é uma imagem extremamente simplificada, porque também é necessário ser capaz de mover e posicionar essas caixas e $$\mathrm \TeX$$ faz isto usando as chamadas *cola*: uma forma de “espaçamento flexível”. Knuth comentou (página 70 de The $$\mathrm \TeX \mathrm{book}$$)

## Visualizar um parágrafo composto usando $$\mathrm{Lua}\mathrm\TeX$$

Usando $$\mathrm{Lua}\mathrm\TeX$$um parágrafo composto pode ser processado para mostrar os componentes usados para o compor: as caixas de caracteres e a cola flexível usada para colocar espaço entre as palavras. Criámos um simples [$$\mathrm{Lua}\mathrm\TeX$$ (plain $$\mathrm \TeX$$) projeto](https://www.overleaf.com/latex/examples/using-a-luatex-callback-to-parse-typeset-paragraphs/mzbpwxtjshsj) para demonstrar isto:

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

O código do projeto foi escrito para ilustrar esta publicação e não é uma implementação completa de um “analisador” de parágrafos—ignora vários $$\mathrm{Lua}\mathrm \TeX$$ tipos de nós e foi concebido apenas para ilustrar as ideias discutidas nesta publicação.

![caixas e cola](/files/c74d10184a4864fb5f63a458bc0d2634f65c42a4)

Na secção da imagem ampliada, abaixo, pode ver as linhas individuais do parágrafo sombreadas como faixas cinzentas—repare que há espaço em branco entre as linhas: cola vertical que $$\mathrm \TeX$$ insere à medida que as empilha para formar o parágrafo. Se quiser saber mais sobre a cola vertical inserida entre linhas num parágrafo composto, use o Google para encontrar artigos que discutam `\baselineskip` e `\lineskiplimit`.

![parágrafo analisado mostrando caixas e cola](/files/3546fe1d37590c0e7602cdcc7638a099202cb95a)

Quando $$\mathrm \TeX$$ lê e compõe um parágrafo converte os caracteres de espaço entre palavras em blocos de cola cujo valor preciso é uma propriedade do tipo de letra utilizado. Durante a composição tipográfica, essas colas entre palavras são esticadas ou encolhidas pela quantidade considerada necessária para obter uma quebra de linha agradável. Na imagem acima, deve observar o seguinte:

* as faixas cinzentas são os limites das linhas individuais do parágrafo composto;
* cada carácter é mostrado dentro de uma caixa que define as suas dimensões (como $$\mathrm \TeX$$ a vê);
* as caixas amarelas mostram a cola que $$\mathrm \TeX$$ foi inserida entre as palavras para obter uma quebra de linha agradável. Observe o seguinte:
* a largura da cola entre palavras varia de linha para linha à medida que $$\mathrm \TeX$$ a estica ou encolhe para obter cada quebra de linha;
* na terceira linha, a cola depois do carácter ponto é mais larga do que as outras colas na mesma linha.
* a caixa vermelha mostra onde um explícito `\hbox{...}` foi usado. A definição do `\TeX` comando coloca o E num `\hbox{...}` para que possa ser rebaixado para criar o $$\mathrm \TeX$$ logótipo.

No final do nosso parágrafo de exemplo existe uma longa faixa de cola que se chama `\parfillskip`: isto é inserido por $$\mathrm \TeX$$ os motores para preencher o espaço na última linha. ![parfillskip glue](/files/e8b6554bbd5a73c3a50d0a9171c5742a4cd5a983)

### Até à próxima publicação

Esperamos que esta publicação tenha proporcionado uma introdução útil ao princípio das caixas e cola usado no âmbito de $$\mathrm \TeX$$. Numa próxima publicação iremos usar $$\mathrm{Lua}\mathrm\TeX$$ para aprofundar muito mais o conteúdo de $$\mathrm \TeX$$ caixas—usando grafos de nós como o exemplo mostrado no início deste artigo.


---

# 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/overleaf-learn-latex-pt/artigos-aprofundados/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.
