> 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/base-de-conhecimento/138-understanding-underfull-and-overfull-box-warnings.md).

# Compreender os avisos de caixa subcheia e sobrecheia

## Introdução

Após compilar um documento LaTeX, o Overleaf muitas vezes exibirá mensagens que relatam um underfull ou overfull `\hbox` (ou `\vbox`), juntamente com os chamados `badness` valores para caixas underfull ou os valores pelos quais as caixas estão overfull. Antes de mais nada, é importante notar que essas mensagens não são erros—[veja abaixo para mais detalhes](#overfull-or-underfull-boxes-are-not-errors). Elas são *avisos* ou, mais corretamente, “mensagens de diagnóstico”, que se originam no interior do motor TeX usado para compor seu documento LaTeX.

Neste artigo de ajuda, forneceremos uma introdução à origem e à causa dessas mensagens e listaremos alguns problemas comuns com soluções sugeridas. Para leitores interessados em mais detalhes, publicamos um artigo complementar na Galeria do Overleaf: [Explorando caixas underfull ou overfull e cálculos de badness](https://www.overleaf.com/latex/examples/exploring-underfull-or-overfull-boxes-and-badness-calculations/wpfsjnbkrfhv). Uma lista de recursos adicionais também pode ser encontrada [no final deste artigo](#further-reading).

## O meu projeto tem avisos de overfull ou underfull?

Para verificar se o seu projeto relata esses avisos, você precisará clicar no ícone mostrado na captura de tela abaixo. Embora o seu documento possa ter sido compilado sem erros, é muito comum ver essas mensagens e qualquer pessoa relativamente nova em TeX/LaTeX pode se perguntar o que elas significam e se deve se preocupar com elas.

![Captura de tela mostrando o Overleaf reportando caixas underfull ou overfull](/files/bba06a6abb2bfaf981fc916b415368dcde306857)

Ao compor um documento, o LaTeX tentará fazer com que partes do seu conteúdo caibam nos limites de um determinado “tamanho”; por exemplo, ao compor parágrafos e quebrar linhas em um certo comprimento — o que é mais facilmente demonstrado usando um comando como `\parbox`. Se tentarmos compor o parágrafo a seguir usando uma largura de linha de 50pt:

```latex
\parbox{50pt}{Some text typeset using a \texttt{\string\parbox}}
```

O Overleaf relata dois `Underfull \hbox...` avisos:

![Captura de tela mostrando o Overleaf reportando caixas underfull](/files/385648d68ebfac713ec2575af3a3bfe98743c624)

Esses `Underfull \hbox...` Esses avisos surgem porque o motor TeX não consegue produzir quebras de linha “agradáveis” dentro das restrições desta \parbox. Dentro dos motores TeX, cada linha de um parágrafo composto torna-se uma \hbox, que o motor verificará e reportará posteriormente, podendo gerar avisos para quaisquer linhas de texto composto que o motor TeX classifique como “não desejáveis”.

Como você pode ver nas imagens a seguir, as linhas de texto estão extremamente espaçadas e os avisos do TeX `Underfull \hbox...` avisos informam isso — embora, neste exemplo, isso esteja claramente visível.

![Captura de tela mostrando uma \parbox](/files/ea7a95a85afb3f18516cd8e277e715e7f0afa1ac)

Note que, neste exemplo, você pode evitar esses avisos usando \raggedright:

```latex
\parbox{50pt}{\raggedright Some text typeset using a \texttt{\string\parbox}}
```

![Captura de tela mostrando uma \parbox](/files/7e7c5f644495fd2409d9756f921299b7e6b3d47b)

## Caixas overfull e underfull

O `\parbox` Este exemplo demonstra um problema muito mais geral: ao processar seu código LaTeX, o motor TeX usado para compor seu documento (pdfTeX, XeTeX ou LuaTeX) pode considerar que as solicitações do LaTeX resultam em conteúdo composto que não “se encaixa bem” nos limites da caixa fornecida ou solicitada. Se isso acontecer, o motor TeX emite avisos e seu material será composto, mas o resultado pode, em algumas ocasiões, não ser esteticamente desejável e você provavelmente precisará corrigi-lo. Vale a pena entender o significado dessas mensagens e reconhecer quando você precisa agir para tratá-las.

Esses avisos relacionados a caixas têm a forma

```
Overfull \hbox (<valor>pt muito larga) ... na(s) linha(s) ...
Overfull \vbox (<valor>pt muito alta) ... na(s) linha(s) ...
Underfull \hbox (badness <valor> ) ... na(s) linha(s) ...
Underfull \vbox (badness <valor>) ... na(s) linha(s) ...
```

Uma `\hbox` refere-se a uma *caixa horizontal* na qual um motor TeX coloca uma lista de itens lado a lado e `\vbox` refere-se a uma *caixa vertical* na qual o motor TeX empilha itens uns sobre os outros.

Se houver material insuficiente, o motor TeX reportará um `Underfull \hbox` aviso ou `Underfull \vbox` aviso:

* **Caixas underfull** não têm material suficiente para preencher as dimensões (da caixa) alocadas para contê-lo e o motor TeX precisou “esticar” o conteúdo em sua tentativa de preencher esse espaço. Para caixas underfull, o Overleaf também relatará a chamada “badness” do TeX (`badness <valor>`) que é uma medida de quanto o TeX precisou “esticar” o seu conteúdo para preencher o espaço reservado para contê-lo. Os valores de badness normalmente variam de 0 a 10000.

Se houver material em excesso, o motor TeX reportará um aviso \`Overfull \hbox\` ou um aviso \`Overfull \vbox\`:

* **Caixas overfull** têm conteúdo demais para caber nas dimensões (da caixa) alocadas para contê-lo e o TeX não consegue “espremer” isso no espaço fornecido. O motor TeX informa a quantidade (`<valor>`), em pontos, pela qual o seu conteúdo excede o espaço disponível — seu material é largo demais para uma determinada `\hbox` ou alto demais para uma determinada `\vbox`.

## Caixas overfull ou underfull não são erros

Como observado, overfull/underfull `\hbox` ou `\vbox` mensagens não são erros, mas sim “mensagens de aviso de diagnóstico” emitidas pelo motor TeX (pdfTeX, XeTeX ou LuaTeX) usado para compor seu documento LaTeX. Embora *relatadas* a você pelo Overleaf, esses avisos não são *gerado* pelo Overleaf: elas se originam no interior dos motores TeX. Durante a composição, essas mensagens são gravadas no `.log` arquivo — um arquivo de texto produzido pelo motor TeX para registrar uma série de informações enquanto processa o seu código LaTeX. O Overleaf processa o `.log` arquivo para extrair as mensagens de aviso overfull/underfull do motor TeX `\hbox` ou `\vbox` e as exibe na interface do Overleaf. Isso ajuda você a localizar e identificar partes do seu documento que talvez precisem de edição para produzir o melhor resultado possível na composição.

## Devo me preocupar com esses avisos?

Usuários novos em TeX/LaTeX podem ficar preocupados com esses avisos, perguntando-se se eles indicam um problema sério com o documento, mas muitas vezes a maioria deles pode ser ignorada com segurança. No entanto, esses avisos às vezes destacam uma parte do documento que realmente precisa ser verificada e pode exigir edição para melhorar os resultados visíveis da composição.

Pode levar um pouco de prática interpretar essas mensagens, então, se você é novo em TeX/LaTeX, vale a pena dedicar tempo para construir sua experiência localizando o ponto no seu código-fonte que gerou o aviso. Fazendo isso, você logo aprenderá a identificar avisos que realmente destacam problemas que talvez precise resolver.

## Como posso encontrar a origem do aviso?

1. Na interface do Overleaf, clique em uma mensagem de aviso e o editor rolará até o local apropriado no seu código-fonte LaTeX.
2. À esquerda do local no seu código-fonte haverá um pequeno triângulo amarelo contendo um ponto de exclamação (!).
3. Se você passar o ponteiro do mouse sobre o triângulo, o Overleaf exibirá a mensagem de aviso.

Este breve vídeo demonstra os passos acima.

{% embed url="<https://videos.ctfassets.net/nrgyaltdicpt/1S1CW2vbVGRHnCXmsbjgAX/096e314caba0c1bafb762a528761e24d/findwarning.mp4>" %}

## Como posso encontrar a localização no PDF correspondente ao meu código LaTeX?

Depois de localizar o código LaTeX que gerou um aviso específico, você pode ir para a posição apropriada no PDF usando as setas localizadas na barra divisória que separa os painéis contendo o editor e o PDF composto.

![Captura de tela mostrando uma \parbox](/files/9843c0cfcac4fa2bd2c8ac3b644129cfe47bb330)

Se você não vir essas setas, nosso artigo de ajuda [Como ir do PDF composto para o código-fonte (SyncTeX)](/latex/overleaf-learn-latex-pt/base-de-conhecimento/069-how-to-jump-to-the-source-code-from-the-typeset-pdf-synctex.md) mostra como ativá-las.

## Problemas comuns e como corrigi-los

* Você pode usar o [pacote microtype](https://ctan.org/pkg/microtype?lang=en) que aproveita as extensões microtipográficas introduzidas pelo pdfTeX — produzindo uma composição de maior qualidade, o que também pode resultar em menos caixas ruins.
* Se você tiver problemas com URLs e quebras de linha, pode adicionar a opção `breaklinks` ao `hyperref` pacote: `\usepackage[breaklinks]{hyperref}`.
* Assim como `\parbox`, `minipage` ambientes podem dar origem a avisos de caixa overfull ou underfull quando o motor TeX tenta quebrar parágrafos em linhas:

```latex

\begin{minipage}{width}
texto...
\end{minipage}
```

Se possível, aumente o valor de `largura` para dar ao motor TeX uma melhor chance de produzir boas quebras de linha — e/ou use o [pacote microtype](https://ctan.org/pkg/microtype?lang=en).

### Notas sobre o uso de \\\\

`\\` é uma macro (um símbolo de controle) cuja definição exata pode depender do contexto em que é usada — uma excelente discussão/explicação pode ser encontrada nesta [resposta no tex.stackexchange](https://tex.stackexchange.com/a/55481).

* `\\` não deve ser usado para adicionar espaço vertical entre parágrafos — isso é considerado uma prática muito ruim.
* `\\` destina-se apenas a quebras de linha (semelhante a Shift-Enter no Microsoft Word). A maneira correta de gerar um novo parágrafo em LaTeX é separar os parágrafos com linhas em branco no código-fonte.
* Em vez de usar `\\` (ou `\newline`/`\vspace`) para simular quebras de parágrafo, ou para aumentar o espaçamento entre parágrafos, a solução recomendada para definir o espaçamento entre parágrafos é carregar o [parskip](https://ctan.org/pkg/parskip) pacote: coloque `\usepackage{parskip}` no preâmbulo do seu documento.
* Usar `\\` ao longo dos parágrafos do documento pode interferir nos algoritmos do LaTeX que calculam os locais ideais para posicionar flutuantes, quebrar páginas etc. e pode causar erros de compilação em um documento grande.
* O uso legítimo de `\\` é explicado em respostas no [tex.stackexchange](https://tex.stackexchange.com/). Por exemplo, veja:
  * [Quando usar `\par` e quando `\\`, `\newline`, ou linhas em branco](https://tex.stackexchange.com/a/82666)
  * [O que faz `\\*` ?](https://tex.stackexchange.com/a/55481)

## Controlando quais caixas o TeX lhe reporta

Os motores TeX fornecem vários comandos primitivos de baixo nível que você pode usar para orientar as heurísticas do TeX e definir um valor de limite para o quão “ruim” uma caixa precisa ser antes que o TeX a reporte. Aqui estão alguns links para leitores interessados nesses comandos:

* [\hfuzz e \vfuzz](/latex/overleaf-learn-latex-pt/primitivas-tex-latex/06-hfuzz.md)
* [\hbadness e \vbadness](/latex/overleaf-learn-latex-pt/primitivas-tex-latex/05-hbadness.md)

## Leitura adicional

Para leitura adicional sobre o uso de caixas e glue no TeX, o leitor interessado é encaminhado a estes recursos:

* O artigo do Overleaf [Como o TeX calcula as configurações de glue em uma \hbox](/latex/overleaf-learn-latex-pt/artigos-aprofundados/24-how-tex-calculates-glue-settings-in-an-hbox.md).
* Um artigo de 17 páginas do Overleaf escrito para acompanhar este item de ajuda: [Explorando caixas underfull ou overfull e cálculos de badness](https://www.overleaf.com/latex/examples/exploring-underfull-or-overfull-boxes-and-badness-calculations/wpfsjnbkrfhv). Esse artigo também discute os primitivos do TeX `\hfuzz` e `\hbadness`.
* A FAQ do TeX em <https://texfaq.org/FAQ-overfull.html>.
* [tex.stackexchange](https://tex.stackexchange.com/) contém uma grande quantidade de conselhos de especialistas de destaque em TeX/LaTeX.


---

# 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/base-de-conhecimento/138-understanding-underfull-and-overfull-box-warnings.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.
