> 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/co-so-tri-thuc/029-code-check.md).

# Kiểm tra mã

Trình soạn thảo Overleaf bao gồm một trình kiểm tra cú pháp (được gọi là "Code Check") sẽ tô sáng các lỗi thường gặp khi bạn nhập.

Các lỗi mà Code Check có thể phát hiện là:

* Không khớp `\begin` và `\end` lệnh
* Dấu phân tách nhóm LaTeX không khớp `{ }`
* Không khớp `\left` và `\right` dấu phân tách
* Dấu phân tách chế độ toán học không khớp `$..$` và `$$..$$`
* Các lệnh toán học được dùng ngoài chế độ toán học
* Các lệnh văn bản được dùng trong chế độ toán học

Code Check sử dụng các phương pháp heuristic và giả định rằng tài liệu là LaTeX điển hình, chỉ dùng các lệnh chuẩn, ví dụ mỗi `\begin{}` có một tương ứng `\end{}`.

## Hạn chế của Code Check

Nếu dự án của bạn dùng các macro LaTeX hoặc TeX riêng, hoặc các gói thay đổi hành vi chuẩn của LaTeX, bạn có thể thấy rằng cần tắt Code Check -- bạn có thể làm điều này cho toàn bộ dự án, cho một tệp riêng lẻ, hoặc cho một phần của tệp.

Cụ thể, nếu bạn dùng các macro làm lối tắt cho các môi trường LaTeX chuẩn (ví dụ: `\newcommand{\beq}{\begin{equation}}`) thì chúng sẽ không được mở rộng và bạn nên tắt Code Check.

## Tắt Code Check trên toàn bộ

Nếu bạn không muốn dùng Code Check nữa, bạn có thể tắt nó trong menu bên trái: nhấp vào biểu tượng menu Overleaf phía trên bảng danh sách tệp, rồi tìm mục “Settings - Code Check”.

## Tắt Code Check cho một tệp

Để tắt Code Check cho một tệp riêng lẻ, hãy đặt chú thích `%%novalidate` ở đầu tệp. (Lưu ý: để tránh xung đột, chúng tôi dùng ký tự chú thích kép).

```latex
%%novalidate

% các định nghĩa macro phức tạp hoặc hình Tikz
% ...
```

## Tắt Code Check cho một phần của tệp

Bạn cũng có thể tắt Code Check cho một phần của tệp

```latex
Phần này của tệp được kiểm tra bằng Code Check

%%begin novalidate
Phần này không được kiểm tra
%%end novalidate

Phần này cũng sẽ được kiểm tra bằng Code Check
```

## Các vấn đề đã biết

* Các lệnh Url, verbatim và các lệnh khác mà ở đó `%` là một ký tự nguyên văn có thể tạo ra lỗi giả khi có mã LaTeX tiếp theo trên cùng dòng với lệnh. Một cách khắc phục là bắt đầu một dòng mới sau bất kỳ `\url{}` hoặc các lệnh khác chứa `%` các ký tự nguyên văn.
* Các lệnh dùng cú pháp LaTeX3 với dấu gạch dưới trong tên macro.
* Các định nghĩa lệnh tùy chỉnh tách riêng `\begin{...}` từ `\end{...}` các câu lệnh


---

# 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/co-so-tri-thuc/029-code-check.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.
