> 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/perguntas-e-respostas/83-what-does-pdfendlink-ended-up-in-different-nesting-level-than-pdfstartlink-mean.md).

# O que significa "\pdfendlink ended up in different nesting level than \pdfstartlink"?

## Alguns antecedentes sobre este erro (aviso)

Como os seus nomes sugerem, os `\pdfstartlink` e `\pdfendlink` comandos são usados para criar hiperligações em ficheiros PDF gerados por TeX/LaTeX — por exemplo, links para diferentes páginas dentro do ficheiro PDF ou links para sítios Web. Estes comandos são os chamados *primitivos*: comandos de baixo nível incorporados nos motores TeX — não são macros. Como consequência, a maioria dos utilizadores não os encontra diretamente, mas usa-os indiretamente através de macros (comandos) fornecidos por pacotes como `hyperref`.

Na altura em que este texto foi escrito (dezembro de 2022) `\pdfstartlink` e `\pdfendlink` são suportados apenas por dois motores TeX: pdfTeX e LuaTeX (e LuaHBTeX). Historicamente, tanto o pdfTeX como o LuaTeX geravam uma *erro* mensagem do tipo

```latex
\pdfendlink ended up in different nesting level than \pdfstartlink
```

em resposta a problemas de baixo nível relacionados com a profundidade de aninhamento de caixas. Note que o texto desta mensagem tem origem no interior do software do motor TeX; não é produzido por nenhum pacote LaTeX nem, claro, pelo Overleaf.

A partir do TeX Live 2021, o pdfTeX e o LuaTeX divergiram no tratamento da questão subjacente (aninhamento de caixas) e agora apresentam comportamentos diferentes:

* O pdfTeX agora emite essa mensagem como um **aviso**, já não desencadeia um erro e a compilação *não* termina;
* O LuaTeX (LuaHBTeX) continua a tratar esta questão como um **erro fatal**, fazendo com que a compilação termine — a redação dessa mensagem de erro difere ligeiramente da apresentada acima.

Os leitores que desejem explorar mais a causa subjacente deste erro podem:

* abrir este projeto do Overleaf

  que compila com sucesso com o pdfLaTeX, mas desencadeia o erro com o LuaLaTeX;
* consultar uma [discussão técnica aprofundada no GitHub](https://github.com/latex3/latex2e/issues/94), conduzida entre os principais especialistas em TeX e LaTeX.

## Em termos práticos, o que o causa?

Ao nível do utilizador, este aviso (ou erro) pode ser acionado ao usar o `hyperref` pacote e uma hiperligação — como uma citação, URL ou referência cruzada — quebra entre duas páginas ou duas colunas num documento multicoluna; ou seja, o link começa perto do fim de uma página (ou coluna) e termina na página (ou coluna) seguinte.

Como discutido, o pdfTeX (pdfLaTeX) com TeX Live 2021 ou posterior já não gera um erro, mas, na altura em que este texto foi escrito (dezembro de 2022), o LuaLaTeX continua a fazê-lo. Se estiver a usar LuaLaTeX, uma solução temporária enquanto trabalha no seu documento é desativar as hiperligações escrevendo

```latex
\hypersetup{draft}
```

logo antes do seu

```latex
\begin{document}
```

Embora isto impeça que as hiperligações apareçam no seu documento, evita o erro durante a escrita e, quando estiver pronto para compilar o documento final, pode comentar ou apagar `\hypersetup{draft}`. Se tiver o azar de ainda encontrar este problema na fase de compilação final, volte a ativar o `rascunho` e depois percorra o seu PDF para encontrar o possível culpado (citações, referências cruzadas, objetos flutuantes no topo das páginas...), para que possa, *com sorte*..., encontrar uma forma de editar/reformular o seu texto para evitar o problema.

## Mais informações

Se encontrar este problema como um erro fatal, pode exigir algum trabalho de detetive para identificar a causa exata. O tex.stackexchange tem várias discussões, mas note que algumas destas páginas são anteriores à redução do erro do pdfTeX para aviso:

* <https://tex.stackexchange.com/questions/1522/pdfendlink-ended-up-in-different-nesting-level-than-pdfstartlink>
* <https://tex.stackexchange.com/questions/63819/mysterious-error-pdfendlink-ended-up-in-different-nesting-level-than-pdfstart>
* <https://tex.stackexchange.com/questions/249579/pdfendlink-ended-up-in-different-nesting-level-than-pdfstartlink-error-with/>


---

# 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/perguntas-e-respostas/83-what-does-pdfendlink-ended-up-in-different-nesting-level-than-pdfstartlink-mean.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.
