> For the complete documentation index, see [llms.txt](https://ayakaleaf-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://ayakaleaf-pro.ayaka.space/latex/uk/zapitannya-ta-vidpovidi/83-what-does-pdfendlink-ended-up-in-different-nesting-level-than-pdfstartlink-mean.md).

# Що означає «\pdfendlink ended up in different nesting level than \pdfstartlink»?

## Деякі відомості про цю помилку (попередження)

Як випливає з їхніх назв,  `\pdfstartlink` та `\pdfendlink` команди використовуються для створення гіперпосилань у TeX/LaTeX-згенерованих PDF-файлах — наприклад, посилань на різні сторінки всередині PDF-файлу або посилань на вебсайти. Ці команди є так званими *примітивів*: низькорівневими командами, вбудованими в рушії TeX — це не макроси. Як наслідок, більшість користувачів не стикаються з ними безпосередньо, а використовують їх опосередковано через макроси (команди), надані пакетами, такими як `hyperref`.

На момент написання (грудень 2022 року) `\pdfstartlink` та `\pdfendlink` підтримуються лише двома рушіями TeX: pdfTeX і LuaTeX (та LuaHBTeX). Історично і pdfTeX, і LuaTeX генерували *помилку* повідомлення такого вигляду

```latex
\pdfendlink виявився на іншому рівні вкладеності, ніж \pdfstartlink
```

у відповідь на низькорівневі проблеми, пов’язані з глибиною вкладеності боксів. Зауважте, що текст цього повідомлення походить з глибини програмного забезпечення рушія TeX, його не створює жоден пакет LaTeX і, звісно, не Overleaf.

Починаючи з TeX Live 2021, pdfTeX і LuaTeX розійшлися в обробці основної проблеми (вкладеності боксів) і тепер демонструють різну поведінку:

* pdfTeX тепер видає це повідомлення як **попередження**, воно більше не викликає помилку, і компіляція *не* завершується;
* LuaTeX (LuaHBTeX) і надалі розглядає цю проблему як **фатальну помилку**, через що компіляція завершується — формулювання цього повідомлення про помилку дещо відрізняється від наведеного вище.

Читачі, які хочуть глибше дослідити першопричину цієї помилки, можуть:

* відкрити цей проєкт Overleaf

  який успішно компілюється з pdfLaTeX, але викликає помилку з LuaLaTeX;
* переглянути [детальне технічне обговорення на GitHub](https://github.com/latex3/latex2e/issues/94), проведене між провідними експертами з TeX і LaTeX.

## На практичному рівні, що її спричиняє?

На рівні користувача це попередження (або помилка) може виникати під час використання `hyperref` пакета, коли гіперпосилання — наприклад, цитата, URL або перехресне посилання — розривається між двома сторінками або двома колонками в багатоколонковому документі; тобто посилання починається наприкінці однієї сторінки (або колонки) і закінчується на наступній сторінці (або колонці).

Як уже зазначалося, pdfTeX (pdfLaTeX) з TeX Live 2021 або новішою версією більше не генерує помилку, але на момент написання (грудень 2022 року) LuaLaTeX продовжує це робити. Якщо ви використовуєте LuaLaTeX, тимчасовим обхідним шляхом під час роботи над документом є вимкнути гіперпосилання, написавши

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

безпосередньо перед вашим

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

Хоча це запобігає появі гіперпосилань у вашому документі, воно дозволяє уникнути помилки під час написання, а коли ви будете готові зібрати фінальний документ, ви можете закоментувати або видалити `\hypersetup{draft}`. Якщо вам не пощастить і ви все ще зіткнетеся з цією проблемою на етапі остаточної компіляції, знову увімкніть `чернетка` і тоді перегляньте ваш PDF, щоб знайти ймовірного винуватця (цитати, перехресні посилання, плаваючі елементи у верхній частині сторінок...), щоб ви могли, *сподіваємося*..., знайти спосіб відредагувати/переформулювати ваш текст, щоб уникнути проблеми.

## Додаткова інформація

Якщо ви зіткнулися з цією проблемою як з фатальною помилкою, може знадобитися певна детективна робота, щоб встановити точну причину. На tex.stackexchange є кілька обговорень, але зауважте, що деякі з цих сторінок з’явилися ще до того, як pdfTeX понизив цю помилку до попередження:

* <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://ayakaleaf-pro.ayaka.space/latex/uk/zapitannya-ta-vidpovidi/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.
