> 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-truc-tai-lieu/04-indices.md).

# Chỉ mục

Trong một số tài liệu lớn, ví dụ như sách, người ta thường tạo một danh sách theo thứ tự bảng chữ cái chứa các thuật ngữ chính. Với LaTeX và chương trình hỗ trợ **imakeidx**, mục lục chỉ mục có thể được tạo khá dễ dàng.

## Giới thiệu

Hãy xem một ví dụ đơn giản hoạt động.

```latex
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{imakeidx}
\makeindex

\begin{document}
\section{Giới thiệu}
Trong ví dụ này, một số từ khóa\index{keywords} sẽ được sử dụng
vì chúng quan trọng và xứng đáng xuất hiện trong Chỉ mục\index{Index}.

Các thuật ngữ như generate\index{generate} và some\index{others} sẽ
cũng xuất hiện.

\printindex
\end{document}
```

[Mở ví dụ này trong Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Index+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5BT1%5D%7Bfontenc%7D%0A%5Cusepackage%7Bimakeidx%7D%0A%5Cmakeindex%0A%0A%5Cbegin%7Bdocument%7D%0A%5Csection%7BIntroduction%7D%0AIn+this+example%2C+several+keywords%5Cindex%7Bkeywords%7D+will+be+used+%0Awhich+are+important+and+deserve+to+appear+in+the+Index%5Cindex%7BIndex%7D.%0A%0ATerms+like+generate%5Cindex%7Bgenerate%7D+and+some%5Cindex%7Bothers%7D+will+%0Aalso+show+up.+%0A%0A%5Cprintindex%0A%5Cend%7Bdocument%7D)

Hình ảnh sau đây cho thấy kết quả do ví dụ trên tạo ra:

![Index1OLV2.png](/files/4a53655004adb48824a5f97f1d76d8f549e94b4e)

Đầu tiên, gói được đưa vào phần tiền đề bằng dòng

```latex
\usepackage{imakeidx}
```

Sau đó, lệnh `\makeindex` là bắt buộc để chỉ mục hoạt động và có thể nhận một số tham số để tùy chỉnh giao diện của nó, trong các phần tiếp theo điều này sẽ rõ hơn.

Để thêm một mục vào chỉ mục, lệnh `\index{}` được sử dụng, trong đó từ cần thêm được chèn làm tham số. Hãy cẩn thận, lệnh này sẽ không in từ đó ở vị trí hiện tại mà chỉ trong chỉ mục.

Cuối cùng, lệnh `\printindex` sẽ thực sự hiển thị chỉ mục. Nếu bạn đang sử dụng một bản địa hóa đặc biệt thông qua `babel` gói, tiêu đề sẽ được dịch tương ứng.

Lưu ý: thay vì `imakeidx`, gói `makeidx` có thể được nhập nhưng cung cấp ít khả năng tùy chỉnh hơn.

## Chỉ mục trên Overleaf

Khi thêm một chỉ mục vào một dự án trên Overleaf, điều **quan trọng cần lưu ý** là để chỉ mục biên dịch đúng, tệp chính `.tex` cần nằm trong thư mục gốc của dự án, *nằm ngoài mọi thư mục*. Điều này đảm bảo rằng các tệp phụ trợ cần để tạo chỉ mục được lưu đệm theo cách mà trình biên dịch có thể truy cập được.

## Các mục và mục con

Như đã đề cập trong phần trước, lệnh `\index` sẽ thêm từ được truyền cho nó vào chỉ mục, nhưng đó không phải là cách duy nhất để sử dụng nó.

```latex
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{imakeidx}
\makeindex

\begin{document}
\section{Giới thiệu}
Trong ví dụ này, một số từ khóa\index{keywords} sẽ được sử dụng
vì chúng quan trọng và xứng đáng xuất hiện trong Chỉ mục\index{Index}.

Các thuật ngữ như generate\index{generate} và some\index{others} cũng sẽ
xuất hiện. Các thuật ngữ trong chỉ mục cũng có thể được lồng nhau \index{Index!nested}

\clearpage

\section{Phần thứ hai}
Phần thứ hai này\index{section} có thể bao gồm một số từ đặc biệt,
và mở rộng những từ đã được sử dụng\index{keywords!used}.

\printindex
\end{document}
```

[Mở ví dụ này trong Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Index+example+2\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5BT1%5D%7Bfontenc%7D%0A%5Cusepackage%7Bimakeidx%7D%0A%5Cmakeindex%0A%0A%5Cbegin%7Bdocument%7D%0A%5Csection%7BIntroduction%7D%0AIn+this+example%2C+several+keywords%5Cindex%7Bkeywords%7D+will+be+used+%0Awhich+are+important+and+deserve+to+appear+in+the+Index%5Cindex%7BIndex%7D.%0A%0ATerms+like+generate%5Cindex%7Bgenerate%7D+and+some%5Cindex%7Bothers%7D+will+also+%0Ashow+up.+Terms+in+the+index+can+also+be+nested+%5Cindex%7BIndex%21nested%7D%0A%0A%5Cclearpage%0A%0A%5Csection%7BSecond+section%7D%0AThis+second+section%5Cindex%7Bsection%7D+may+include+some+special+word%2C+%0Aand+expand+the+ones+already+used%5Cindex%7Bkeywords%21used%7D.%0A%0A%5Cprintindex%0A%5Cend%7Bdocument%7D)

Hình ảnh sau đây cho thấy kết quả do ví dụ trên tạo ra:

![Index2OLV2.png](/files/b26a9e13ca1d3222cac615ac39733954c123ee07)

Đây là một thực hành phổ biến là mở rộng các thuật ngữ trong chỉ mục để bao gồm các tính từ đặc biệt. Ví dụ, từ *Field* có thể mang một ý nghĩa đặc biệt nếu đứng trước bởi tính từ *hữu hạn* hoặc theo sau bởi *có đặc trưng 0*, và có thể hơi rườm rà khi thêm các loại khác nhau của *Field*như các mục riêng biệt trong chỉ mục. Trong những trường hợp như vậy, bạn có thể thêm dấu chấm than "!" để thêm các thuật ngữ sau dấu này làm mục con của từ chính *Field*.

Trong ví dụ, từ "Index" có từ "nested" là mục con.

## Định dạng chỉ mục

Việc định dạng đơn giản cho chỉ mục, như thay đổi tiêu đề chỉ mục, thêm nhiều cột và thay đổi độ rộng cột, có thể dễ dàng thực hiện bằng cách truyền các giá trị tùy chọn cho `\makeindex`:

```latex
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{imakeidx}
\makeindex[columns=3, title=Alphabetical Index]

\begin{document}
\section{Giới thiệu}
Trong ví dụ này, một số từ khóa\index{keywords} sẽ được sử dụng và
chúng quan trọng và xứng đáng xuất hiện trong Chỉ mục\index{Index}.

Các thuật ngữ như generate\index{generate} và some\index{others} cũng sẽ
xuất hiện. Các thuật ngữ trong chỉ mục cũng có thể được lồng nhau \index{Index!nested}

\clearpage

\section{Phần thứ hai}
Phần thứ hai này\index{section} có thể bao gồm một số từ đặc biệt,
và mở rộng những từ đã được sử dụng\index{keywords!used}.

\printindex
\end{document}
```

[Mở ví dụ này trong Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Index+example+3\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5BT1%5D%7Bfontenc%7D%0A%5Cusepackage%7Bimakeidx%7D%0A%5Cmakeindex%5Bcolumns%3D3%2C+title%3DAlphabetical+Index%5D%0A%0A%5Cbegin%7Bdocument%7D%0A%5Csection%7BIntroduction%7D%0AIn+this+example%2C+several+keywords%5Cindex%7Bkeywords%7D+will+be+used+which+%0Aare+important+and+deserve+to+appear+in+the+Index%5Cindex%7BIndex%7D.%0A%0ATerms+like+generate%5Cindex%7Bgenerate%7D+and+some%5Cindex%7Bothers%7D+will+also+%0Ashow+up.+Terms+in+the+index+can+also+be+nested+%5Cindex%7BIndex%21nested%7D%0A%0A%5Cclearpage%0A%0A%5Csection%7BSecond+section%7D%0AThis+second+section%5Cindex%7Bsection%7D+may+include+some+special+word%2C+%0Aand+expand+the+ones+already+used%5Cindex%7Bkeywords%21used%7D.%0A%0A%5Cprintindex%0A%5Cend%7Bdocument%7D)

Hình ảnh sau đây cho thấy kết quả do ví dụ trên tạo ra:

![Index3OLV2.png](/files/67517462d57fc338d26f7aff70a849f26ce631da)

Trong ví dụ này, chỉ mục được trình bày ở định dạng ba cột với tham số `columns=3`, và tiêu đề được đổi thành "Alphabetical Index" bằng `title=Alphabetical Index`; các tham số này được truyền cho `\makeindex` trong phần tiền đề. Xem [hướng dẫn tham khảo](#reference-guide) để biết danh sách các tham số có sẵn và mô tả của chúng.

### Sử dụng tệp kiểu

Để tùy chỉnh chỉ mục thêm nữa, người ta có thể dùng một tệp kiểu. Các tệp kiểu cho biết `makeindex` về định dạng dự kiến của đầu ra cuối cùng. Các tệp kiểu chứa một danh sách các `<key, value>` cặp. Ví dụ, nếu cần nhóm các thuật ngữ trong chỉ mục theo chữ cái đầu và căn các số trang về bên phải, tệp kiểu sau sẽ đáp ứng:

```latex
headings_flag 1

heading_prefix "\n\\centering\\large\\sffamily\\bfseries%
\\noindent\\textbf{"heading_suffix "}\\par\\nopagebreak\n

item_0 "\n \\item \\small "

delim_0 " \\hfill "
delim_1 " \\hfill "
delim_2 " \\hfill "
```

Các khóa thay đổi những thành phần khác nhau trong đầu ra của chỉ mục:

* `headings_flag 1` cho phép nhóm bằng cách chèn tiêu đề nhóm (ký hiệu, số hoặc chữ cái) trước một nhóm mới.
* `heading_prefix` định dạng tiêu đề để chèn trước khi một chữ cái mới bắt đầu. Nó sử dụng các lệnh định dạng thông thường cho họ phông, cỡ chữ và căn chỉnh, nhưng các dấu gạch chéo ngược phải được thoát bằng hai dấu gạch chéo ngược thay vì một.
* `item_0` là thứ sẽ được chèn giữa hai mục chính.
* `delim_*` là dấu phân cách sẽ được chèn giữa khóa và số trang đầu tiên.

Để xem danh sách đầy đủ các khóa và giá trị dùng trong tệp .ist, hãy xem [Bảng được bao gồm trong hướng dẫn tham khảo](#keys-to-create-styles-files).

Giả sử tệp trước đó được lưu dưới tên "example\_style.ist". Để dùng nó trong tài liệu, chúng ta thêm tham số `options= -s example_style.ist` vào `\makeindex` lệnh này.

```latex
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{imakeidx}
\makeindex[columns=3, title=Alphabetical Index,
           options= -s example_style.ist]

\begin{document}

\tableofcontents

\section{Giới thiệu}
Trong ví dụ này, một số từ khóa\index{keywords} sẽ được sử dụng, chúng quan trọng và xứng đáng xuất hiện trong Chỉ mục\index{Index}.

Các thuật ngữ như generate\index{generate}, một danh sách great\index{great} và một số thuật ngữ other\index{others} khác có thể quan trọng\index{important}
cũng sẽ xuất hiện. Các thuật ngữ trong chỉ mục cũng có thể được lồng nhau \index{Index!nested}

\clearpage

\section{Phần thứ hai}
Phần thứ hai này\index{section} có thể bao gồm một số từ đặc biệt, và mở rộng những từ đã được sử dụng\index{keywords!used}.

\printindex
\end{document}
```

[Mở một ví dụ sử dụng tệp kiểu chỉ mục trên Overleaf](https://www.overleaf.com/project/new/template/20614?id=70756423\&templateName=Using+an+index+style+file\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

Hình ảnh sau đây cho thấy kết quả do ví dụ trên tạo ra:

![Index4OLV2.png](/files/5f55d40cdcd3bba6db0befe197ce92bd6a9e46b4)

## Bao gồm chỉ mục trong mục lục

Theo mặc định, chỉ mục không được đưa vào mục lục, điều này có thể dễ dàng điều chỉnh.

```latex
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{imakeidx}
\makeindex[columns=3, title=Alphabetical Index, intoc]

\begin{document}
\tableofcontents

\section{Giới thiệu}
Trong ví dụ này, một số từ khóa\index{keywords} sẽ
được sử dụng, chúng quan trọng và xứng đáng xuất hiện trong
Chỉ mục\index{Index}.

Các thuật ngữ như generate\index{generate} và some\index{others}
cũng sẽ xuất hiện. Các thuật ngữ trong chỉ mục cũng có thể
được lồng nhau \index{Index!nested}

\clearpage

\section{Phần thứ hai}
Phần thứ hai này\index{section} có thể bao gồm một số
từ đặc biệt, và mở rộng những từ đã được sử dụng\index{keywords!used}.

\printindex
\end{document}
```

[Mở ví dụ này trong Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Index+example+3\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5BT1%5D%7Bfontenc%7D%0A%5Cusepackage%7Bimakeidx%7D%0A%5Cmakeindex%5Bcolumns%3D3%2C+title%3DAlphabetical+Index%2C+intoc%5D%0A%0A%5Cbegin%7Bdocument%7D%0A%5Ctableofcontents%0A%0A%5Csection%7BIntroduction%7D%0AIn+this+example%2C+several+keywords%5Cindex%7Bkeywords%7D+will+be+%0Aused+which+are+important+and+deserve+to+appear+in+the+%0AIndex%5Cindex%7BIndex%7D.%0A%0ATerms+like+generate%5Cindex%7Bgenerate%7D+and+some%5Cindex%7Bothers%7D+%0Awill+also+show+up.+Terms+in+the+index+can+also+be+%0Anested+%5Cindex%7BIndex%21nested%7D%0A%0A%5Cclearpage%0A%0A%5Csection%7BSecond+section%7D%0AThis+second+section%5Cindex%7Bsection%7D+may+include+some+special+%0Aword%2C+and+expand+the+ones+already+used%5Cindex%7Bkeywords%21used%7D.%0A%0A%5Cprintindex%0A%5Cend%7Bdocument%7D)

Hình ảnh sau đây cho thấy kết quả do ví dụ trên tạo ra:

![Index5OLV2.png](/files/45ef037890d9709d1c2bb2eb11c7cade2a0e9156)

Bằng cách thêm tham số `intoc` vào lệnh `\makeindex` việc đưa tiêu đề chỉ mục vào mục lục sẽ được bật.

## Hướng dẫn tham khảo

### Các tham số cho lệnh \makeindex

**title**

Tiêu đề sẽ được dàn trang ở đầu chỉ mục cụ thể. Một ví dụ được trình bày trong phần định dạng chỉ mục.

**intoc**

Nếu tùy chọn này được truyền vào, tiêu đề chỉ mục sẽ được đưa vào mục lục.

**columns**

Sử dụng cú pháp key=value, giá trị phải là một số nguyên biểu thị số cột. Giá trị mặc định là 2.

**columnsep**

Chỉ định đơn vị biểu thị khoảng cách giữa các cột. Cú pháp phải là key=value, ví dụ columnsep=2em.

**columnseprule**

Nếu tùy chọn này được truyền vào, một đường kẻ dọc sẽ được hiển thị giữa các cột.

### Các khóa để tạo tệp kiểu

Bảng sau hiển thị các khóa, giá trị mặc định và mô tả để tạo các tệp kiểu .ist.

| khóa                        | Mô tả                                                                                                                                                                                                                                                                          |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `ký tự thực <char>`         | '@' Ký hiệu cho biết mục tiếp theo sẽ xuất hiện trong tệp đầu ra.                                                                                                                                                                                                              |
| `arg_close <char>`          | '}' Dấu phân cách đóng cho đối số của mục chỉ mục.                                                                                                                                                                                                                             |
| `arg_open <char>`           | '{' Dấu phân cách mở cho đối số của mục chỉ mục.                                                                                                                                                                                                                               |
| `encap <char>`              | ' Ký hiệu cho biết phần còn lại của danh sách đối số sẽ được dùng làm lệnh bao bọc cho số trang.                                                                                                                                                                               |
| `escape <char>`             | '\\\\' Ký hiệu thoát cho chữ cái theo sau, trừ khi ký hiệu đứng trước nó cũng chính là ký hiệu thoát. Lưu ý: quote được dùng để thoát chữ cái ngay sau nó, nhưng nếu nó đứng sau một ký hiệu thoát thì nó được xem như một ký tự thông thường. Hai ký hiệu này phải khác nhau. |
| `keyword <string>`          | "\\\indexentry" Lệnh cho makeindex biết rằng đối số của nó là một mục chỉ mục.                                                                                                                                                                                                 |
| `level <char>`              | '!' Dấu phân cách biểu thị một cấp mới của mục con.                                                                                                                                                                                                                            |
| `quote <char>`              | '"' Lưu ý: quote được dùng để thoát chữ cái ngay sau nó, nhưng nếu nó đứng sau một ký hiệu thoát thì nó được xem như một ký tự thông thường. Hai ký hiệu này phải khác nhau.                                                                                                   |
| `range_close <char>`        | ')' Dấu phân cách đóng cho biết kết thúc của một phạm vi trang tường minh.                                                                                                                                                                                                     |
| `range_open <char>`         | '(' Dấu phân cách mở cho biết bắt đầu của một phạm vi trang tường minh.                                                                                                                                                                                                        |
| `preamble <string>`         | "\\\begin{theindex}\n" Phần tiền đề của tệp đầu ra.                                                                                                                                                                                                                            |
| `postamble <string>`        | "\n\n\\\end{theindex}\n" Phần kết thúc của tệp đầu ra.                                                                                                                                                                                                                         |
| `setpage_prefix <string>`   | "\n \\\setcounter{page}{" Tiền tố của lệnh đặt số trang bắt đầu.                                                                                                                                                                                                               |
| `setpage_suffix <string>`   | "}\n" Hậu tố của lệnh đặt số trang bắt đầu.                                                                                                                                                                                                                                    |
| `group_skip <string>`       | "\n\n \\\indexspace\n" Khoảng trắng dọc sẽ được chèn trước khi một nhóm mới bắt đầu.                                                                                                                                                                                           |
| `headings_flag <string>`    | 0 Cờ cho biết cách xử lý tiêu đề nhóm mới, được chèn trước một nhóm mới (ký hiệu, số và 26 chữ cái): các giá trị dương làm chèn một chữ cái viết hoa giữa tiền tố và hậu tố, còn các giá trị âm làm chèn một chữ cái viết thường (mặc định là 0, không tạo tiêu đề).           |
| `heading_prefix <string>`   | "" Tiền tố tiêu đề sẽ được chèn trước khi một chữ cái mới bắt đầu.                                                                                                                                                                                                             |
| `symhead_positive <string>` | "Symbols" Tiêu đề cho các ký hiệu sẽ được chèn nếu headings\_flag là dương.                                                                                                                                                                                                    |
| `symhead_negative <string>` | "symbols" Tiêu đề cho các ký hiệu sẽ được chèn nếu headings\_flag là âm.                                                                                                                                                                                                       |
| `numhead_positive <string>` | "Numbers" Tiêu đề cho các số sẽ được chèn nếu headings\_flag là dương.                                                                                                                                                                                                         |
| `numhead_negative <string>` | "numbers" Tiêu đề cho các số sẽ được chèn nếu headings\_flag là âm.                                                                                                                                                                                                            |
| `item_0 <string>`           | "\n \\\item " Lệnh sẽ được chèn giữa hai mục chính (cấp 0).                                                                                                                                                                                                                    |
| `item_1 <string>`           | "\n \\\subitem " Lệnh sẽ được chèn giữa hai mục phụ (cấp 1).                                                                                                                                                                                                                   |
| `item_2 <string>`           | "\n \\\subsubitem " Lệnh sẽ được chèn giữa hai mục cấp 2.                                                                                                                                                                                                                      |
| `item_01 <string>`          | "\n \\\subitem " Lệnh sẽ được chèn giữa một mục cấp 0 và một mục cấp 1.                                                                                                                                                                                                        |
| `item_x1 <string>`          | "\n \\\subitem " Lệnh sẽ được chèn giữa một mục cấp 0 và một mục cấp 1, trong đó mục cấp 0 không có số trang liên kết.                                                                                                                                                         |
| `item_12 <string>`          | "\n \\\subsubitem " Lệnh sẽ được chèn giữa một mục cấp 1 và một mục cấp 2.                                                                                                                                                                                                     |
| `item_x2 <string>`          | "\n \\\subsubitem " Lệnh sẽ được chèn giữa một mục cấp 1 và một mục cấp 2, trong đó mục cấp 1 không có số trang liên kết.                                                                                                                                                      |
| `delim_0 <string>`          | ", " Dấu phân cách sẽ được chèn giữa một khóa cấp 0 và số trang đầu tiên của nó (mặc định: dấu phẩy theo sau bởi một khoảng trắng).                                                                                                                                            |
| `delim_1 <string>`          | ", " Dấu phân cách sẽ được chèn giữa một khóa cấp 1 và số trang đầu tiên của nó (mặc định: dấu phẩy theo sau bởi một khoảng trắng).                                                                                                                                            |
| `delim_2 <string>`          | ", " Dấu phân cách sẽ được chèn giữa một khóa cấp 2 và số trang đầu tiên của nó (mặc định: dấu phẩy theo sau bởi một khoảng trắng).                                                                                                                                            |
| `delim_n <string>`          | ", " Dấu phân cách sẽ được chèn giữa hai số trang của cùng một khóa ở bất kỳ cấp nào (mặc định: dấu phẩy theo sau bởi một khoảng trắng).                                                                                                                                       |
| `delim_r <string>`          | "--" Dấu phân cách sẽ được chèn giữa số trang bắt đầu và số trang kết thúc của một phạm vi.                                                                                                                                                                                    |
| `delim_t <string>`          | "" Dấu phân cách sẽ được chèn ở cuối danh sách trang. Dấu phân cách này không ảnh hưởng đến các mục không có danh sách trang liên kết.                                                                                                                                         |
| `encap_prefix <string>`     | "\\\\" Phần đầu của tiền tố cho lệnh bao bọc số trang.                                                                                                                                                                                                                         |
| `encap_infix <string>`      | "{" Phần thứ hai của tiền tố cho lệnh bao bọc số trang.                                                                                                                                                                                                                        |
| `encap_suffix <string>`     | "}". Hậu tố cho lệnh bao bọc số trang.                                                                                                                                                                                                                                         |
| `line_max <number>`         | 72 Độ dài tối đa của một dòng trong đầu ra, vượt quá mức này thì dòng sẽ xuống hàng.                                                                                                                                                                                           |
| `indent_space <string>`     | "\t\t" Khoảng trắng sẽ được chèn trước một dòng bị xuống hàng (mặc định: hai tab).                                                                                                                                                                                             |
| `indent_length <number>`    | 16 Độ dài của indent\_space (mặc định: 16, tương đương 2 tab).                                                                                                                                                                                                                 |

## Đọc thêm

Để biết thêm thông tin, xem:

* [Bảng thuật ngữ](/latex/vi/cau-truc-tai-lieu/05-glossaries.md)
* [Danh sách bảng biểu và hình vẽ](/latex/vi/hinh-va-bang/03-lists-of-tables-and-figures.md)
* [Mục lục](/latex/vi/cau-truc-tai-lieu/02-table-of-contents.md)
* [Các phần và chương](/latex/vi/cau-truc-tai-lieu/01-sections-and-chapters.md)
* [Siêu liên kết](/latex/vi/cau-truc-tai-lieu/09-hyperlinks.md)
* [Hỗ trợ ngôn ngữ quốc tế](/latex/vi/ngon-ngu/03-international-language-support.md)
* [Liên kết chéo các phần và phương trình](/latex/vi/cau-truc-tai-lieu/03-cross-referencing-sections-equations-and-floats.md)
* [Quản lý trong một dự án lớn](/latex/vi/cau-truc-tai-lieu/07-management-in-a-large-project.md)
* [Các dự án LaTeX nhiều tệp](/latex/vi/cau-truc-tai-lieu/08-multi-file-latex-projects.md)
* [Tài liệu gói imakeidx](http://mirror.math.ku.edu/tex-archive/macros/latex/contrib/imakeidx/imakeidx.pdf)


---

# 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-truc-tai-lieu/04-indices.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.
