> 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/vi/cau-hoi-and-tra-loi/83-what-does-pdfendlink-ended-up-in-different-nesting-level-than-pdfstartlink-mean.md).

# "\pdfendlink ended up in different nesting level than \pdfstartlink" nghĩa là gì?

## Một số thông tin nền về lỗi này (cảnh báo)

Như tên gọi gợi ý, các `\pdfstartlink` và `\pdfendlink` là các lệnh được dùng để tạo siêu liên kết trong các tệp PDF do TeX/LaTeX tạo ra—ví dụ, liên kết tới các trang khác nhau trong tệp PDF hoặc liên kết tới các trang web. Các lệnh này được gọi là *các nguyên thủy*: các lệnh mức thấp được tích hợp trong các bộ máy TeX—chúng không phải là macro. Hệ quả là, hầu hết người dùng không gặp trực tiếp chúng mà sử dụng gián tiếp qua các macro (lệnh) do các gói như `hyperref`.

Tại thời điểm viết bài (tháng 12 năm 2022) `\pdfstartlink` và `\pdfendlink` chỉ được hỗ trợ bởi hai bộ máy TeX: pdfTeX và LuaTeX (và LuaHBTeX). Theo lịch sử, cả pdfTeX và LuaTeX đều tạo ra một *lỗi* thông báo có dạng

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

để phản hồi các vấn đề mức thấp liên quan đến độ sâu lồng khối. Lưu ý rằng nội dung của thông báo này xuất phát từ sâu bên trong phần mềm bộ máy TeX, nó không do bất kỳ gói LaTeX nào tạo ra, và dĩ nhiên cũng không phải do Overleaf.

Bắt đầu từ TeX Live 2021, pdfTeX và LuaTeX đã khác nhau trong cách xử lý vấn đề nền tảng (lồng khối) và nay thể hiện hành vi khác nhau:

* pdfTeX giờ đưa thông báo đó dưới dạng một **cảnh báo**, nó không còn gây ra lỗi nữa và quá trình biên dịch *không* kết thúc;
* LuaTeX (LuaHBTeX) vẫn coi vấn đề này là một **lỗi nghiêm trọng**, khiến quá trình biên dịch dừng lại—cách diễn đạt của thông báo lỗi đó hơi khác so với thông báo nêu ở trên.

Bạn đọc muốn tìm hiểu sâu hơn nguyên nhân gốc của lỗi này có thể:

* mở dự án Overleaf này

  dự án này biên dịch thành công với pdfLaTeX nhưng lại gây ra lỗi với LuaLaTeX;
* xem một [thảo luận kỹ thuật chuyên sâu trên GitHub](https://github.com/latex3/latex2e/issues/94), được thực hiện giữa các chuyên gia hàng đầu về TeX và LaTeX.

## Ở mức độ thực tế, nguyên nhân là gì?

Ở mức độ người dùng, cảnh báo này (hoặc lỗi này) có thể xuất hiện khi dùng `hyperref` gói và một siêu liên kết—chẳng hạn một trích dẫn, URL hoặc tham chiếu chéo—bị ngắt qua hai trang hoặc hai cột trong tài liệu nhiều cột; tức là, liên kết bắt đầu gần cuối một trang (hoặc cột) và kết thúc ở trang (hoặc cột) tiếp theo.

Như đã nói, pdfTeX (pdfLaTeX) với TeX Live 2021 trở lên không còn tạo ra lỗi nữa nhưng, tại thời điểm viết bài (tháng 12 năm 2022), LuaLaTeX vẫn còn như vậy. Nếu bạn đang dùng LuaLaTeX, một cách khắc phục tạm thời trong lúc làm việc với tài liệu của bạn là tắt siêu liên kết bằng cách viết

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

ngay trước

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

Mặc dù điều này ngăn các siêu liên kết xuất hiện trong tài liệu của bạn, nó giúp tránh lỗi trong quá trình soạn thảo và, khi bạn sẵn sàng biên dịch tài liệu cuối cùng, bạn có thể chú thích bỏ hoặc xóa `\hypersetup{draft}`. Nếu bạn không may vẫn gặp phải vấn đề này ở giai đoạn biên dịch cuối cùng, hãy bật lại `bản nháp` và sau đó rà soát tệp PDF của bạn để tìm thủ phạm có thể gây ra lỗi (các trích dẫn, tham chiếu chéo, các đối tượng trôi ở đầu trang...), để bạn có thể, *hy vọng là vậy*..., tìm cách chỉnh sửa/diễn đạt lại văn bản của mình nhằm tránh vấn đề.

## Thông tin thêm

Nếu bạn gặp vấn đề này dưới dạng lỗi nghiêm trọng, có thể cần một chút công sức điều tra để xác định chính xác nguyên nhân. tex.stackexchange có nhiều cuộc thảo luận nhưng lưu ý rằng một số trang này có từ trước khi pdfTeX hạ mức lỗi xuống thành cảnh báo:

* <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/vi/cau-hoi-and-tra-loi/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.
