> 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/fr/questions-et-reponses/83-what-does-pdfendlink-ended-up-in-different-nesting-level-than-pdfstartlink-mean.md).

# Que signifie "\pdfendlink ended up in different nesting level than \pdfstartlink" ?

## Quelques éléments de contexte sur cette erreur (avertissement)

Comme leurs noms l'indiquent, les `\pdfstartlink` et `\pdfendlink` commandes sont utilisées pour créer des hyperliens dans les fichiers PDF générés par TeX/LaTeX — par exemple, des liens vers différentes pages du fichier PDF ou vers des sites web. Ces commandes sont dites *primitives*: des commandes de bas niveau intégrées aux moteurs TeX — ce ne sont pas des macros. Par conséquent, la plupart des utilisateurs ne les rencontrent pas directement mais les utilisent indirectement via des macros (commandes) fournies par des paquets tels que `hyperref`.

Au moment de la rédaction de ces lignes (décembre 2022) `\pdfstartlink` et `\pdfendlink` sont prises en charge par seulement deux moteurs TeX : pdfTeX et LuaTeX (et LuaHBTeX). Historiquement, pdfTeX et LuaTeX généraient tous deux une *erreur* message de la forme

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

en réponse à des problèmes de bas niveau liés à la profondeur de l'imbrication des boîtes. Notez que le texte de ce message provient des profondeurs du logiciel du moteur TeX ; il n'est produit par aucun paquet LaTeX ni, bien sûr, par Overleaf.

À partir de TeX Live 2021, pdfTeX et LuaTeX ont divergé dans leur gestion du problème sous-jacent (imbrication des boîtes) et affichent maintenant des comportements différents :

* pdfTeX émet désormais ce message sous forme d' **avertissement**, il ne déclenche plus d'erreur et la compilation *ne* s'arrête pas ;
* LuaTeX (LuaHBTeX) continue de traiter ce problème comme une **erreur fatale**, ce qui provoque l'arrêt de la compilation — la formulation de ce message d'erreur diffère légèrement de celle donnée ci-dessus.

Les lecteurs souhaitant explorer plus en détail la cause sous-jacente de cette erreur peuvent :

* ouvrir ce projet Overleaf

  qui se compile avec succès avec pdfLaTeX mais déclenche l'erreur avec LuaLaTeX ;
* consulter une [discussion technique approfondie sur GitHub](https://github.com/latex3/latex2e/issues/94), menée entre des experts de premier plan de TeX et LaTeX.

## Concrètement, qu'est-ce qui la provoque ?

Au niveau de l'utilisateur, cet avertissement (ou cette erreur) peut se produire lors de l'utilisation du `hyperref` paquet et lorsqu'un hyperlien — comme une citation, une URL ou une référence croisée — s'étend sur deux pages ou deux colonnes dans un document à plusieurs colonnes ; c.-à-d. lorsque le lien commence vers la fin d'une page (ou colonne) et se termine sur la page (ou colonne) suivante.

Comme indiqué, pdfTeX (pdfLaTeX) avec TeX Live 2021 ou version ultérieure ne génère plus d'erreur mais, au moment de la rédaction de ces lignes (décembre 2022), LuaLaTeX continue de le faire. Si vous utilisez LuaLaTeX, une solution provisoire pendant que vous travaillez sur votre document consiste à désactiver les hyperliens en écrivant

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

juste avant votre

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

Bien que cela empêche les hyperliens d'apparaître dans votre document, cela évite l'erreur pendant la rédaction et, lorsque vous serez prêt à compiler le document final, vous pourrez commenter ou supprimer `\hypersetup{draft}`. Si vous avez la malchance de rencontrer encore ce problème au stade de la compilation finale, réactivez le `draft` et parcourez ensuite votre PDF pour trouver le possible fautif (citations, renvois, flottants en haut des pages...), afin que vous puissiez, *espérons-le*... trouver un moyen de modifier/reformuler votre texte pour éviter le problème.

## Informations complémentaires

Si vous rencontrez ce problème sous forme d'erreur fatale, il peut être nécessaire de mener une petite enquête pour en déterminer la cause exacte. tex.stackexchange comporte plusieurs discussions, mais notez que certaines de ces pages sont antérieures à la rétrogradation de l'erreur de pdfTeX à un avertissement :

* <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/fr/questions-et-reponses/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.
