> 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/hinh-va-bang/01-tables.md).

# Bảng

Có ba cách bạn có thể chèn bảng trong Overleaf:

1. Sử dụng [**Chèn bảng** nút](/latex/vi/co-so-tri-thuc/067-how-to-generate-and-insert-latex-tables-in-overleaf.md#inserttable) trong thanh công cụ của trình soạn thảo.
2. Sao chép và dán một bảng từ tài liệu khác khi sử dụng **Trình soạn thảo trực quan**.
3. Viết mã LaTeX cho bảng trong **Trình soạn thảo mã**.

Nếu bạn mới làm quen với LaTeX, sử dụng [thanh công cụ trong **Trình soạn thảo trực quan**](/latex/vi/co-so-tri-thuc/067-how-to-generate-and-insert-latex-tables-in-overleaf.md#inserttable) (tùy chọn 1) là một cách tuyệt vời để bắt đầu. Và bạn có thể chuyển đổi giữa **Trình soạn thảo trực quan** và **Trình soạn thảo mã** để xem mã đằng sau bảng. **Trang này tập trung vào tùy chọn 3.**

## Tạo một bảng đơn giản trong LaTeX

Chúng ta có thể bắt đầu với một trong những ví dụ đơn giản nhất về một bảng:

```latex
\begin{center}
\begin{tabular}{ c c c }
 cell1 & cell2 & cell3 \\
 cell4 & cell5 & cell6 \\
 cell7 & cell8 & cell9
\end{tabular}
\end{center}
```

[Mở ví dụ này trong Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+of+a+basic+table\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bcenter%7D%0A%5Cbegin%7Btabular%7D%7B+c+c+c+%7D%0A+cell1+%26+cell2+%26+cell3+%5C%5C+%0A+cell4+%26+cell5+%26+cell6+%5C%5C++%0A+cell7+%26+cell8+%26+cell9++++%0A%5Cend%7Btabular%7D%0A%5Cend%7Bcenter%7D%0A%5Cend%7Bdocument%7D)

![Ví dụ về một bảng](/files/ad43470284b83dea60bcc00eb92d363ff40f836f)

Tính năng `tabular` môi trường là phương pháp mặc định của LaTeX để tạo bảng. Bạn phải chỉ định một tham số cho môi trường này; ở đây chúng ta dùng `{c c c}` điều này cho LaTeX biết rằng có ba cột và văn bản bên trong mỗi cột phải được căn giữa.

Tính năng `tabular` môi trường cung cấp thêm tính linh hoạt; ví dụ, bạn có thể đặt các đường phân cách giữa từng cột:

```latex
\begin{center}
\begin{tabular}{ |c|c|c| }
 \hline
 cell1 & cell2 & cell3 \\
 cell4 & cell5 & cell6 \\
 cell7 & cell8 & cell9 \\
 \hline
\end{tabular}
\end{center}
```

[Mở ví dụ này trong Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+of+a+basic+table+with+separator+lines\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bcenter%7D%0A%5Cbegin%7Btabular%7D%7B+%7Cc%7Cc%7Cc%7C+%7D+%0A+%5Chline%0A+cell1+%26+cell2+%26+cell3+%5C%5C+%0A+cell4+%26+cell5+%26+cell6+%5C%5C+%0A+cell7+%26+cell8+%26+cell9+%5C%5C+%0A+%5Chline%0A%5Cend%7Btabular%7D%0A%5Cend%7Bcenter%7D%0A%5Cend%7Bdocument%7D)

![Ví dụ về một bảng đơn giản](/files/f8bf38c410e232de160935fe045c02503f81feb9)

Dưới đây là mô tả về các cấu trúc được dùng trong ví dụ trên:

**{ |c|c|c| }**

Khai báo rằng sẽ sử dụng ba cột, được ngăn cách bởi một đường thẳng đứng. Mỗi c nghĩa là nội dung của cột sẽ được căn giữa. Bạn cũng có thể dùng r để căn phải và l để căn trái.

**\hline**

Điều này sẽ chèn một đường ngang ở đầu bảng và cả ở cuối bảng nữa. Không có giới hạn về số lần bạn có thể dùng \hline.

**cell1 & cell2 & cell3 \\\\**

Mỗi & là dấu phân tách ô và dấu gạch chéo kép \\\ đánh dấu kết thúc của hàng này.

Bên dưới bạn có thể thấy ví dụ thứ hai sử dụng nhiều đường thẳng đứng và ngang (thường gọi là "rules"):

```latex
\begin{center}
\begin{tabular}{||c c c c||}
 \hline
 Col1 & Col2 & Col2 & Col3 \\ [0.5ex]
 \hline\hline
 1 & 6 & 87837 & 787 \\
 \hline
 2 & 7 & 78 & 5415 \\
 \hline
 3 & 545 & 778 & 7507 \\
 \hline
 4 & 545 & 18744 & 7560 \\
 \hline
 5 & 88 & 788 & 6344 \\ [1ex]
 \hline
\end{tabular}
\end{center}
```

[Mở ví dụ này trong Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Basic+table+with+horizontal+and+vertical+rules\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bcenter%7D%0A%5Cbegin%7Btabular%7D%7B%7C%7Cc+c+c+c%7C%7C%7D+%0A+%5Chline%0A+Col1+%26+Col2+%26+Col2+%26+Col3+%5C%5C+%5B0.5ex%5D+%0A+%5Chline%5Chline%0A+1+%26+6+%26+87837+%26+787+%5C%5C+%0A+%5Chline%0A+2+%26+7+%26+78+%26+5415+%5C%5C%0A+%5Chline%0A+3+%26+545+%26+778+%26+7507+%5C%5C%0A+%5Chline%0A+4+%26+545+%26+18744+%26+7560+%5C%5C%0A+%5Chline%0A+5+%26+88+%26+788+%26+6344+%5C%5C+%5B1ex%5D+%0A+%5Chline%0A%5Cend%7Btabular%7D%0A%5Cend%7Bcenter%7D%0A%5Cend%7Bdocument%7D)

![Ví dụ về bảng với hline](/files/1b128009217d090afc81294b559f9bf8f47d9287)

## Bảng có độ rộng cố định

Khi định dạng một bảng, bạn có thể cần độ rộng cố định, cho từng cột hoặc cho toàn bộ bảng. Ví dụ sau thêm gói `array` vào phần tiền tố tài liệu:

```latex
\usepackage{array}
```

và dùng nó để đặt độ rộng cột cố định:

```latex
\documentclass{article}
\usepackage{array}
\begin{document}
\begin{center}
\begin{tabular}{ | m{5em} | m{1cm}| m{1cm} | }
  \hline
  cell1 dummy text dummy text dummy text& cell2 & cell3 \\\\
  \hline
  cell1 dummy text dummy text dummy text & cell5 & cell6 \\\\
  \hline
  cell7 & cell8 & cell9 \\
  \hline
\end{tabular}
\end{center}
\end{document}
```

[Mở ví dụ này trong Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Table+with+fixed+column+width\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Barray%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bcenter%7D%0A%5Cbegin%7Btabular%7D%7B+%7C+m%7B5em%7D+%7C+m%7B1cm%7D%7C+m%7B1cm%7D+%7C+%7D+%0A++%5Chline%0A++cell1+dummy+text+dummy+text+dummy+text%26+cell2+%26+cell3+%5C%5C+%0A++%5Chline%0A++cell1+dummy+text+dummy+text+dummy+text+%26+cell5+%26+cell6+%5C%5C+%0A++%5Chline%0A++cell7+%26+cell8+%26+cell9+%5C%5C+%0A++%5Chline%0A%5Cend%7Btabular%7D%0A%5Cend%7Bcenter%7D%0A%5Cend%7Bdocument%7D)

![Ví dụ về bảng có độ rộng cố định](/files/7fe97398d4460a86aa440ab2b59e088dca07b0c6)

Trong `tabular` môi trường, tham số `m{5em}` đặt độ rộng `5em` cho cột đầu tiên (`1cm` cho hai cột còn lại) và căn văn bản ở giữa ô. Các tùy chọn căn chỉnh là `m` cho giữa, `p` cho trên và `b` cho dưới. Khi sử dụng các tham số này, văn bản sẽ tự động được định dạng để vừa trong mỗi ô.

Nếu bạn không cần kiểm soát độ rộng của từng ô mà của cả bảng rồi phân bổ đều khoảng trống bên trong, hãy dùng gói `tabularx` . Xem ví dụ bên dưới:

```latex
\documentclass{article}
\usepackage{tabularx}
\begin{document}
\begin{tabularx}{0.8\textwidth} {
  | >{\raggedright\arraybackslash}X
  | >{\centering\arraybackslash}X
  | >{\raggedleft\arraybackslash}X | }
 \hline
 item 11 & item 12 & item 13 \\\\
 \hline
 item 21  & item 22  & item 23  \\\\
\hline
\end{tabularx}
\end{document}
```

[Mở ví dụ này trong Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Table+example+using+tabularx+package\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btabularx%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btabularx%7D%7B0.8%5Ctextwidth%7D+%7B+%0A++%7C+%3E%7B%5Craggedright%5Carraybackslash%7DX+%0A++%7C+%3E%7B%5Ccentering%5Carraybackslash%7DX+%0A++%7C+%3E%7B%5Craggedleft%5Carraybackslash%7DX+%7C+%7D%0A+%5Chline%0A+item+11+%26+item+12+%26+item+13+%5C%5C%0A+%5Chline%0A+item+21++%26+item+22++%26+item+23++%5C%5C%0A%5Chline%0A%5Cend%7Btabularx%7D%0A%5Cend%7Bdocument%7D)

![Ví dụ về bảng với gói tabularx](/files/12fe383b9598009999d45b889c265d62b18a17bf)

Môi trường `tabularx` tương tự như `tabular` nhưng linh hoạt hơn. Để sử dụng, hãy thêm dòng `\usepackage{tabularx}` vào phần tiền tố tài liệu. Lưu ý rằng câu lệnh mở của môi trường khác nhau, trong ví dụ độ rộng bảng được đặt là `0.8\textwidth`, tức là 80% chiều rộng văn bản của tài liệu. Bạn có thể dùng bất kỳ [đơn vị LaTeX](/latex/vi/dinh-dang/01-lengths-in-latex.md) để đặt giá trị đó.

Phần tiền tố bên trong ngoặc nhọn `| >{\raggedright\arraybackslash}X | >{\centering\arraybackslash}X | >{\raggedleft\arraybackslash}X |` đặt căn lề cho từng cột: cột đầu tiên là *trái*cột thứ hai là *center* và cột thứ ba là *phải*.

## Kết hợp hàng và cột

Có thể gộp hàng và cột để tạo các ô bảng lớn hơn. Ví dụ sau sử dụng lệnh `\multicolumn` để gộp nhiều cột:

```latex
\documentclass{article}
\usepackage{multirow}
\begin{document}
\begin{tabular}{ |p{3cm}||p{3cm}|p{3cm}|p{3cm}|  }
 \hline
 \multicolumn{4}{|c|}{Danh sách quốc gia} \\\\
 \hline
 Tên quốc gia hoặc tên khu vực& Mã ISO ALPHA 2 &Mã ISO ALPHA 3&Mã số ISO\\\\
 \hline
 Afghanistan   & AF    &AFG&   004\\\\
 Aland Islands&   AX  & ALA   &248\\\\
 Albania &AL & ALB&  008\\\\
 Algeria    &DZ & DZA&  012\\\\
 American Samoa&   AS  & ASM&016\\\\
 Andorra& AD  & AND   &020\\\\
 Angola& AO  & AGO&024\\\\
 \hline
\end{tabular}
\end{document}
```

[Mở ví dụ này trong Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+of+table+using+the+multicolumn+command\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bmultirow%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btabular%7D%7B+%7Cp%7B3cm%7D%7C%7Cp%7B3cm%7D%7Cp%7B3cm%7D%7Cp%7B3cm%7D%7C++%7D%0A+%5Chline%0A+%5Cmulticolumn%7B4%7D%7B%7Cc%7C%7D%7BCountry+List%7D+%5C%5C%0A+%5Chline%0A+Country+Name+or+Area+Name%26+ISO+ALPHA+2+Code+%26ISO+ALPHA+3+Code%26ISO+numeric+Code%5C%5C%0A+%5Chline%0A+Afghanistan+++%26+AF++++%26AFG%26+++004%5C%5C%0A+Aland+Islands%26+++AX++%26+ALA+++%26248%5C%5C%0A+Albania+%26AL+%26+ALB%26++008%5C%5C%0A+Algeria++++%26DZ+%26+DZA%26++012%5C%5C%0A+American+Samoa%26+++AS++%26+ASM%26016%5C%5C%0A+Andorra%26+AD++%26+AND+++%26020%5C%5C%0A+Angola%26+AO++%26+AGO%26024%5C%5C%0A+%5Chline%0A%5Cend%7Btabular%7D%0A%5Cend%7Bdocument%7D)

![Ví dụ về bảng sử dụng lệnh multicolumn](/files/7a88a95b415658ed78d6197065f4b434fffd5b4f)

Hãy xem xét từng thành phần của lệnh `\multicolumn{4}{|c|}{Danh sách quốc gia} \\\\`:

**{4}**

Số cột được gộp: trường hợp này là 4.

**{|c|}**

Dấu phân cách và căn lề của ô kết quả: trong trường hợp này văn bản sẽ được căn giữa và một đường thẳng đứng sẽ được vẽ ở mỗi bên của ô.

**{Danh sách quốc gia}**

Văn bản sẽ hiển thị bên trong ô.

Để gộp hàng, bạn cần thêm gói `multirow` vào phần tiền tố tài liệu:

```latex
\usepackage{multirow}
```

Sau đó bạn có thể dùng lệnh `\multirow` trong tài liệu của bạn:

```latex
\documentclass{article}
\usepackage{multirow}
\begin{document}
\begin{center}
\begin{tabular}{ |c|c|c| }
\hline
col1 & col2 & col3 \\\\
\hline
\multirow{3}{4em}{Nhiều hàng} & cell2 & cell3 \\\\
& cell5 & cell6 \\\\
& cell8 & cell9 \\\\
\hline
\end{tabular}
\end{center}
\end{document}
```

[Mở ví dụ này trong Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Multirow+table+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bmultirow%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bcenter%7D%0A%5Cbegin%7Btabular%7D%7B+%7Cc%7Cc%7Cc%7C+%7D+%0A%5Chline%0Acol1+%26+col2+%26+col3+%5C%5C%0A%5Chline%0A%5Cmultirow%7B3%7D%7B4em%7D%7BMultiple+row%7D+%26+cell2+%26+cell3+%5C%5C+%0A%26+cell5+%26+cell6+%5C%5C+%0A%26+cell8+%26+cell9+%5C%5C+%0A%5Chline%0A%5Cend%7Btabular%7D%0A%5Cend%7Bcenter%7D%0A%5Cend%7Bdocument%7D)

![Ví dụ về bảng sử dụng lệnh multirow](/files/3e106f5b479602339ce806a2e80f709d4eb62de3)

Tính năng `multirow` lệnh này có ba tham số; ví dụ của chúng ta dùng các thiết lập sau:

1. số hàng được gộp: `3`
2. độ rộng của cột: `4em`
3. nội dung của ô: `Nhiều hàng`

## Bảng nhiều trang

Nếu bạn phải chèn một bảng rất dài, chiếm hai trang trở lên trong tài liệu, hãy dùng gói `longtable` Trước tiên, thêm dòng sau vào phần tiền tố tài liệu:

```latex
\usepackage{longtable}
```

Sau đó bạn có thể dùng lệnh `longtable` môi trường, như trong ví dụ sau:

```latex
\documentclass{article}
\usepackage{longtable}

\begin{document}

 \begin{longtable}[c]{| c | c |}
 \caption{Chú thích bảng dài.\label{long}}\\

 \hline
 \multicolumn{2}{| c |}{Đầu bảng}\\
 \hline
 Một thứ gì đó & thứ khác\\
 \hline
 \endfirsthead

 \hline
 \multicolumn{2}{|c|}{Tiếp tục bảng \ref{long}}\\
 \hline
 Một thứ gì đó & thứ khác\\
 \hline
 \endhead

 \hline
 \endfoot

 \hline
 \multicolumn{2}{| c |}{Kết thúc bảng}\\
 \hline\hline
 \endlastfoot

 Rất nhiều dòng & như thế này\\
 Rất nhiều dòng & như thế này\\
 Rất nhiều dòng & như thế này\\
 Rất nhiều dòng & như thế này\\
 Rất nhiều dòng & như thế này\\
 Rất nhiều dòng & như thế này\\
 Rất nhiều dòng & như thế này\\
 Rất nhiều dòng & như thế này\\
 ...
 Rất nhiều dòng & như thế này\\
 \end{longtable}
```

![Ví dụ về bảng có rất nhiều dòng](/files/e00989d35f173a3807d60ddaa890665f62e3f779)

[Mở một `longtable` ví dụ này trong Overleaf](https://www.overleaf.com/project/new/template/20823?id=71401569\&templateName=Longtable+example\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

Cách hoạt động của `longtable` tương tự như mặc định `tabular`, nhưng tạo ra các bảng có thể được ngắt bởi thuật toán ngắt trang tiêu chuẩn của LaTeX. Có bốn `longtable`phần tử dành riêng cho

**\endfirsthead**

Mọi thứ ở phía trên lệnh này sẽ xuất hiện ở đầu bảng, trên trang đầu tiên.

**\endhead**

Bất cứ gì bạn đặt trước lệnh này và bên dưới \endfirsthead sẽ được hiển thị ở đầu bảng trên mọi trang trừ trang đầu tiên.

**\endfoot**

Tương tự \endhead, những gì bạn đặt sau \endhead và trước lệnh này sẽ xuất hiện ở cuối bảng trên mọi trang trừ trang cuối cùng.

**\endlastfoot**

Tương tự \endfirsthead. Các phần tử sau \endfoot và trước lệnh này sẽ được hiển thị ở cuối bảng nhưng chỉ ở trang cuối cùng nơi bảng xuất hiện.

## Định vị bảng

Đặt vị trí một bảng rất dễ nếu chúng nằm trong một float `table` môi trường.

```latex
\documentclass{article}
\begin{document}
Dưới đây là một bảng được đặt đúng tại đây:
\begin{table}[h!]
\centering
 \begin{tabular}{||c c c c||}
 \hline
 Col1 & Col2 & Col2 & Col3 \\ [0.5ex]
 \hline\hline
 1 & 6 & 87837 & 787 \\
 2 & 7 & 78 & 5415 \\
 3 & 545 & 778 & 7507 \\
 4 & 545 & 18744 & 7560 \\
 5 & 88 & 788 & 6344 \\ [1ex]
 \hline
 \end{tabular}
\end{table}
\end{document}
```

[Mở ví dụ này trong Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Positioning+a+table\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0ABelow+is+a+table+positioned+exactly+here%3A%0A%5Cbegin%7Btable%7D%5Bh%21%5D%0A%5Ccentering%0A+%5Cbegin%7Btabular%7D%7B%7C%7Cc+c+c+c%7C%7C%7D+%0A+%5Chline%0A+Col1+%26+Col2+%26+Col2+%26+Col3+%5C%5C+%5B0.5ex%5D+%0A+%5Chline%5Chline%0A+1+%26+6+%26+87837+%26+787+%5C%5C+%0A+2+%26+7+%26+78+%26+5415+%5C%5C%0A+3+%26+545+%26+778+%26+7507+%5C%5C%0A+4+%26+545+%26+18744+%26+7560+%5C%5C%0A+5+%26+88+%26+788+%26+6344+%5C%5C+%5B1ex%5D+%0A+%5Chline%0A+%5Cend%7Btabular%7D%0A%5Cend%7Btable%7D%0A%5Cend%7Bdocument%7D)

![Ví dụ về cách định vị bảng](/files/d954d77d269ef54ceb420070d3e2ac91c0e7816e)

Tham số `h!` được truyền vào khai báo môi trường bảng xác định rằng bảng này phải được đặt *ở đây*, và ghi đè các mặc định của LaTeX. Các tham số định vị có thể truyền vào gồm:

**h**

Sẽ đặt bảng ở vị trí gần như tại đây.

**t**

Đặt bảng ở đầu trang.

**b**

Đặt bảng ở cuối trang.

**p**

Đưa bảng vào một trang đặc biệt, chỉ dành cho bảng.

**!**

Ghi đè các tham số nội bộ của LaTeX.

**H**

Đặt bảng tại đúng vị trí này, gần như giống h!.

Để xem thêm ví dụ về định vị bảng, hãy xem [Định vị hình ảnh và bảng](/latex/vi/hinh-va-bang/02-positioning-images-and-tables.md) bài viết.

Trong ví dụ này còn có thêm một vài lệnh:

**\centering**

Căn giữa bảng tương đối so với phần tử chứa float.

**\[1ex]**

Điều này thêm khoảng trắng vào ô.

## Chú thích, nhãn và tham chiếu

Bảng có thể có chú thích, nhãn và tham chiếu bằng lệnh `table` môi trường.

```latex
\documentclass{article}
\begin{document}
Bảng \ref{table:1} là một ví dụ về phần tử \LaTeX{} được tham chiếu.

\begin{table}[h!]
\centering
\begin{tabular}{||c c c c||}
 \hline
 Col1 & Col2 & Col2 & Col3 \\ [0.5ex]
 \hline\hline
 1 & 6 & 87837 & 787 \\
 2 & 7 & 78 & 5415 \\
 3 & 545 & 778 & 7507 \\
 4 & 545 & 18744 & 7560 \\
 5 & 88 & 788 & 6344 \\ [1ex]
 \hline
\end{tabular}
\caption{Table to test captions and labels.}
\label{table:1}
\end{table}
\end{document}
```

[Mở ví dụ này trong Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Table+captions+and+labels\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0ATable+%5Cref%7Btable%3A1%7D+is+an+example+of+a+referenced+%5CLaTeX%7B%7D+element.%0A%0A%5Cbegin%7Btable%7D%5Bh%21%5D%0A%5Ccentering%0A%5Cbegin%7Btabular%7D%7B%7C%7Cc+c+c+c%7C%7C%7D+%0A+%5Chline%0A+Col1+%26+Col2+%26+Col2+%26+Col3+%5C%5C+%5B0.5ex%5D+%0A+%5Chline%5Chline%0A+1+%26+6+%26+87837+%26+787+%5C%5C+%0A+2+%26+7+%26+78+%26+5415+%5C%5C%0A+3+%26+545+%26+778+%26+7507+%5C%5C%0A+4+%26+545+%26+18744+%26+7560+%5C%5C%0A+5+%26+88+%26+788+%26+6344+%5C%5C+%5B1ex%5D+%0A+%5Chline%0A%5Cend%7Btabular%7D%0A%5Ccaption%7BTable+to+test+captions+and+labels.%7D%0A%5Clabel%7Btable%3A1%7D%0A%5Cend%7Btable%7D%0A%5Cend%7Bdocument%7D)

![Ví dụ về các phần tử LaTeX được tham chiếu](/files/4ada46c4e6f2973e72193ffdc512ddbd5e210dd7)

Có ba lệnh quan trọng trong ví dụ:

**\caption{Bảng để kiểm tra chú thích và nhãn}**

Như bạn có thể đoán, lệnh này đặt chú thích cho bảng. Nếu bạn tạo danh sách bảng, chú thích này sẽ được dùng ở đó. Bạn có thể đặt nó phía trên hoặc phía dưới bảng.

**\label{table:1}**

Nếu bạn cần tham chiếu bảng trong tài liệu, hãy đặt nhãn bằng lệnh này. Nhãn sẽ đánh số bảng và khi kết hợp với lệnh \ref sẽ cho phép bạn tham chiếu đến nó.

**\ref{table:1}**

Mã này sẽ được thay bằng số tương ứng với bảng được tham chiếu.

## Danh sách bảng

Để tạo danh sách bảng, hãy dùng lệnh `\listoftables` . Chú thích của mỗi bảng sẽ được dùng để tạo danh sách này. Đối với các ngôn ngữ được gói `babel` hỗ trợ, tiêu đề "Danh sách bảng" sẽ được dịch tương ứng. Xem bài viết về [Hỗ trợ ngôn ngữ quốc tế](/latex/vi/ngon-ngu/03-international-language-support.md) để biết thêm thông tin.

```latex
\documentclass{article}
\begin{document}
\listoftables
\vspace{5pt}
Bảng \ref{table:1} là một ví dụ về các phần tử \LaTeX{} được tham chiếu.

\begin{table}[h!]
\centering
\begin{tabular}{||c c c c||}
 \hline
 Col1 & Col2 & Col2 & Col3 \\ [0.5ex]
 \hline\hline
 1 & 6 & 87837 & 787 \\
 2 & 7 & 78 & 5415 \\
 3 & 545 & 778 & 7507 \\
 4 & 545 & 18744 & 7560 \\
 5 & 88 & 788 & 6344 \\ [1ex]
 \hline
\end{tabular}
\caption{Đây là chú thích cho bảng thứ nhất.}
\label{table:1}
\end{table}

\begin{table}[h!]
\centering
\begin{tabular}{||c c c c||}
 \hline
 Col1 & Col2 & Col2 & Col3 \\ [0.5ex]
 \hline\hline
  4 & 545 & 18744 & 7560 \\
 5 & 88 & 788 & 6344 \\ [1ex]
 \hline
\end{tabular}
\caption{Đây là chú thích cho bảng thứ hai.}
\label{table:2}
\end{table}
\end{document}
```

[Mở ví dụ này trong Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+using+listoftables\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Clistoftables%0A%5Cvspace%7B5pt%7D%0AThe+table+%5Cref%7Btable%3A1%7D+is+an+example+of+referenced+%5CLaTeX%7B%7D+elements.%0A%0A%5Cbegin%7Btable%7D%5Bh%21%5D%0A%5Ccentering%0A%5Cbegin%7Btabular%7D%7B%7C%7Cc+c+c+c%7C%7C%7D+%0A+%5Chline%0A+Col1+%26+Col2+%26+Col2+%26+Col3+%5C%5C+%5B0.5ex%5D+%0A+%5Chline%5Chline%0A+1+%26+6+%26+87837+%26+787+%5C%5C+%0A+2+%26+7+%26+78+%26+5415+%5C%5C%0A+3+%26+545+%26+778+%26+7507+%5C%5C%0A+4+%26+545+%26+18744+%26+7560+%5C%5C%0A+5+%26+88+%26+788+%26+6344+%5C%5C+%5B1ex%5D+%0A+%5Chline%0A%5Cend%7Btabular%7D%0A%5Ccaption%7BThis+is+the+caption+for+the+first+table.%7D%0A%5Clabel%7Btable%3A1%7D%0A%5Cend%7Btable%7D%0A%0A%5Cbegin%7Btable%7D%5Bh%21%5D%0A%5Ccentering%0A%5Cbegin%7Btabular%7D%7B%7C%7Cc+c+c+c%7C%7C%7D+%0A+%5Chline%0A+Col1+%26+Col2+%26+Col2+%26+Col3+%5C%5C+%5B0.5ex%5D+%0A+%5Chline%5Chline%0A++4+%26+545+%26+18744+%26+7560+%5C%5C%0A+5+%26+88+%26+788+%26+6344+%5C%5C+%5B1ex%5D+%0A+%5Chline%0A%5Cend%7Btabular%7D%0A%5Ccaption%7BThis+is+the+caption+for+the+second+table.%7D%0A%5Clabel%7Btable%3A2%7D%0A%5Cend%7Btable%7D%0A%5Cend%7Bdocument%7D)

![Ví dụ về danh sách bảng](/files/e1162f3d48a4270df3b7d7415e39be8779255749)

## Thay đổi hình thức của bảng

Có thể chỉnh sửa nhiều thành phần của bảng để phù hợp với nhu cầu tài liệu của bạn. Dưới đây bạn sẽ học cách thay đổi độ dày đường kẻ, màu đường kẻ và màu nền của các ô trong bảng.

### Độ dày đường kẻ và khoảng đệm ô

Khả năng đọc của một bảng đôi khi có thể được cải thiện bằng cách tăng khoảng cách giữa các cột và độ giãn hàng.

```latex
\documentclass{article}
\setlength{\arrayrulewidth}{0.5mm}
\setlength{\tabcolsep}{18pt}
\renewcommand{\arraystretch}{1.5}
\begin{document}
\begin{tabular}{ |p{3cm}|p{3cm}|p{3cm}|  }
\hline
\multicolumn{3}{|c|}{Danh sách quốc gia} \\\\
\hline
Tên quốc gia hoặc tên khu vực& Mã ISO ALPHA 2 &Mã ISO ALPHA 3 \\\\
\hline
Afghanistan & AF &AFG \\\\
Aland Islands & AX   & ALA \\\\
Albania &AL & ALB \\\\
Algeria    &DZ & DZA \\\\
American Samoa & AS & ASM \\\\
Andorra & AD & AND   \\\\
Angola & AO & AGO \\\\
\hline
\end{tabular}
\end{document}
```

[Mở ví dụ này trong Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Changing+table+spacing\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Csetlength%7B%5Carrayrulewidth%7D%7B0.5mm%7D%0A%5Csetlength%7B%5Ctabcolsep%7D%7B18pt%7D%0A%5Crenewcommand%7B%5Carraystretch%7D%7B1.5%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btabular%7D%7B+%7Cp%7B3cm%7D%7Cp%7B3cm%7D%7Cp%7B3cm%7D%7C++%7D%0A%5Chline%0A%5Cmulticolumn%7B3%7D%7B%7Cc%7C%7D%7BCountry+List%7D+%5C%5C%0A%5Chline%0ACountry+Name+or+Area+Name%26+ISO+ALPHA+2+Code+%26ISO+ALPHA+3+%5C%5C%0A%5Chline%0AAfghanistan+%26+AF+%26AFG+%5C%5C%0AAland+Islands+%26+AX+++%26+ALA+%5C%5C%0AAlbania+%26AL+%26+ALB+%5C%5C%0AAlgeria++++%26DZ+%26+DZA+%5C%5C%0AAmerican+Samoa+%26+AS+%26+ASM+%5C%5C%0AAndorra+%26+AD+%26+AND+++%5C%5C%0AAngola+%26+AO+%26+AGO+%5C%5C%0A%5Chline%0A%5Cend%7Btabular%7D%0A%5Cend%7Bdocument%7D)

![Ví dụ về khoảng cách cột](/files/dbd206e0269efbf65b716df8cac0e80ea767a96e)

Mô tả các lệnh được trình bày bên dưới:

**\setlength{\arrayrulewidth}{0.5mm}**

Lệnh này đặt độ dày của viền bảng. Trong ví dụ là 0.5mm nhưng bạn có thể dùng các đơn vị khác—xem bài viết Lengths in LaTeX để có danh sách đầy đủ.

**\setlength{\tabcolsep}{18pt}**

Khoảng cách giữa văn bản và đường viền trái/phải của ô chứa nó được đặt là 18pt bằng lệnh này. Một lần nữa, bạn có thể dùng các đơn vị khác nếu cần.

**\renewcommand{\arraystretch}{1.5}**

Chiều cao mỗi hàng được đặt bằng 1.5 lần chiều cao mặc định của nó.

### Tô màu xen kẽ các hàng

Bạn có thể áp dụng màu xen kẽ cho các hàng của bảng bằng cách dùng gói `xcolor` với tùy chọn `table` , như minh họa trong ví dụ sau:

```latex
\documentclass{article}
\usepackage[table]{xcolor}
\setlength{\arrayrulewidth}{0.5mm}
\setlength{\tabcolsep}{18pt}
\renewcommand{\arraystretch}{2.5}
\begin{document}
{\rowcolors{3}{green!80!yellow!50}{green!70!yellow!40}
\begin{tabular}{ |p{3cm}|p{3cm}|p{3cm}|  }
\hline
\multicolumn{3}{|c|}{Danh sách quốc gia} \\\\
\hline
Tên quốc gia hoặc tên khu vực& Mã ISO ALPHA 2 &Mã ISO ALPHA 3 \\\\
\hline
Afghanistan & AF &AFG \\\\
Aland Islands & AX   & ALA \\\\
Albania &AL & ALB \\\\
Algeria    &DZ & DZA \\\\
American Samoa & AS & ASM \\\\
Andorra & AD & AND   \\\\
Angola & AO & AGO \\\\
\hline
\end{tabular}}
\end{document}
```

[Mở ví dụ này trong Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Changing+row+colours\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Btable%5D%7Bxcolor%7D%0A%5Csetlength%7B%5Carrayrulewidth%7D%7B0.5mm%7D%0A%5Csetlength%7B%5Ctabcolsep%7D%7B18pt%7D%0A%5Crenewcommand%7B%5Carraystretch%7D%7B2.5%7D%0A%5Cbegin%7Bdocument%7D%0A%7B%5Crowcolors%7B3%7D%7Bgreen%2180%21yellow%2150%7D%7Bgreen%2170%21yellow%2140%7D%0A%5Cbegin%7Btabular%7D%7B+%7Cp%7B3cm%7D%7Cp%7B3cm%7D%7Cp%7B3cm%7D%7C++%7D%0A%5Chline%0A%5Cmulticolumn%7B3%7D%7B%7Cc%7C%7D%7BCountry+List%7D+%5C%5C%0A%5Chline%0ACountry+Name+or+Area+Name%26+ISO+ALPHA+2+Code+%26ISO+ALPHA+3+%5C%5C%0A%5Chline%0AAfghanistan+%26+AF+%26AFG+%5C%5C%0AAland+Islands+%26+AX+++%26+ALA+%5C%5C%0AAlbania+%26AL+%26+ALB+%5C%5C%0AAlgeria++++%26DZ+%26+DZA+%5C%5C%0AAmerican+Samoa+%26+AS+%26+ASM+%5C%5C%0AAndorra+%26+AD+%26+AND+++%5C%5C%0AAngola+%26+AO+%26+AGO+%5C%5C%0A%5Chline%0A%5Cend%7Btabular%7D%7D%0A%5Cend%7Bdocument%7D)

![Ví dụ về tô màu hàng trong bảng](/files/6edc84403679ece0c7483b0196e9c3d7292d718c)

Lưu ý dấu ngoặc nhọn ngay trước lệnh

```latex
\rowcolors{3}{green!80!yellow!50}{green!70!yellow!40}
```

và sau `tabular` môi trường. Lệnh `\rowcolors` nhận ba tham số, mỗi tham số được truyền trong ngoặc nhọn:

* hàng bắt đầu,
* màu cho các hàng lẻ và
* màu cho các hàng chẵn.

Xem `xcolor` tài liệu gói (ở [đọc thêm](#further-reading) mục section) để xem danh sách màu có sẵn và cách tạo màu riêng của bạn. Trong ví dụ, màu xanh lá và vàng được trộn với các tỷ lệ khác nhau.

Để lệnh hoạt động, hãy chắc chắn thêm

```latex
\usepackage[table]{xcolor}
```

vào phần tiền tố của tệp LaTeX.

### Tô màu bảng (ô, hàng, cột và đường kẻ)

Tất cả các phần tử trong bảng có thể được tùy chỉnh để dùng một màu cụ thể. Một lần nữa, chức năng này được cung cấp bởi **xcolor** nên bạn phải thêm

```latex
\usepackage[table]{xcolor}
```

vào phần tiền tố. Dưới đây bạn có thể xem một ví dụ.

```latex
\documentclass{article}
\usepackage[table]{xcolor}
\setlength{\arrayrulewidth}{1mm}
\setlength{\tabcolsep}{18pt}
\renewcommand{\arraystretch}{2.5}
\newcolumntype{s}{>{\columncolor[HTML]{AAACED}} p{3cm}}
\arrayrulecolor[HTML]{DB5800}
\begin{document}
\begin{tabular}{ |s|p{3cm}|p{3cm}| }
\hline
\rowcolor{lightgray} \multicolumn{3}{|c|}{Danh sách quốc gia} \\\\
\hline
Tên quốc gia hoặc tên khu vực& Mã ISO ALPHA 2 &Mã ISO ALPHA 3 \\\\
\hline
Afghanistan & AF &AFG \\\\
\rowcolor{gray}
Aland Islands & AX & ALA \\\\
Albania   &AL & ALB \\\\
Algeria  &DZ & DZA \\\\
American Samoa & AS & ASM \\\\
Andorra & AD & \cellcolor[HTML]{AA0044} AND    \\\\
Angola & AO & AGO \\\\
\hline
\end{tabular}
\end{document}
```

[Mở ví dụ này trong Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+of+using+colour+in+a+table\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Btable%5D%7Bxcolor%7D%0A%5Csetlength%7B%5Carrayrulewidth%7D%7B1mm%7D%0A%5Csetlength%7B%5Ctabcolsep%7D%7B18pt%7D%0A%5Crenewcommand%7B%5Carraystretch%7D%7B2.5%7D%0A%5Cnewcolumntype%7Bs%7D%7B%3E%7B%5Ccolumncolor%5BHTML%5D%7BAAACED%7D%7D+p%7B3cm%7D%7D%0A%5Carrayrulecolor%5BHTML%5D%7BDB5800%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btabular%7D%7B+%7Cs%7Cp%7B3cm%7D%7Cp%7B3cm%7D%7C+%7D%0A%5Chline%0A%5Crowcolor%7Blightgray%7D+%5Cmulticolumn%7B3%7D%7B%7Cc%7C%7D%7BCountry+List%7D+%5C%5C%0A%5Chline%0ACountry+Name+or+Area+Name%26+ISO+ALPHA+2+Code+%26ISO+ALPHA+3+%5C%5C%0A%5Chline%0AAfghanistan+%26+AF+%26AFG+%5C%5C%0A%5Crowcolor%7Bgray%7D%0AAland+Islands+%26+AX+%26+ALA+%5C%5C%0AAlbania+++%26AL+%26+ALB+%5C%5C%0AAlgeria++%26DZ+%26+DZA+%5C%5C%0AAmerican+Samoa+%26+AS+%26+ASM+%5C%5C%0AAndorra+%26+AD+%26+%5Ccellcolor%5BHTML%5D%7BAA0044%7D+AND++++%5C%5C%0AAngola+%26+AO+%26+AGO+%5C%5C%0A%5Chline%0A%5Cend%7Btabular%7D%0A%5Cend%7Bdocument%7D)

![Ví dụ về màu tùy chỉnh trong bảng](/files/32a45afae9ad4bb595df31993661f53ce3525727)

Dưới đây là mô tả về cách thay đổi màu của từng phần tử trong bảng:

* **Màu của các đường kẻ**. Lệnh `\arrayrulecolor` được dùng cho việc này. Trong ví dụ, định dạng HTML được sử dụng, nhưng các định dạng khác cũng có sẵn; xem tài liệu xcolor để biết danh sách đầy đủ (liên kết được cung cấp ở [đọc thêm](#further-reading) mục section).
* **Màu nền của một ô**. Dùng lệnh `\cellcolor`. Bạn có thể nhập trực tiếp tên màu trong ngoặc nhọn (red, gray, green, v.v.) hoặc truyền tham số định dạng trong ngoặc vuông (HTML trong ví dụ) rồi đặt màu mong muốn trong ngoặc nhọn theo định dạng đã chọn.
* **Màu nền của một hàng**. Trong trường hợp này `\rowcolor` sẽ thực hiện điều đó. Những lưu ý về chọn màu đã đề cập ở hai lệnh trước cũng áp dụng cho lệnh này.
* **Màu nền của một cột**. Phần này hơi phức tạp, nhưng cách dễ nhất là định nghĩa một kiểu cột mới. Lệnh

  ```latex
  \newcolumntype{s}{>{\columncolor[HTML]{AAACED}} p{3cm}}
  ```

  định nghĩa một kiểu cột gọi là `s` với căn lề là `p`, độ rộng cột là `3cm` và màu được đặt bằng định dạng HTML là `AAACED`. Kiểu cột mới này được dùng trong `tabular` môi trường.

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

Mô tả ngắn gọn về các tham số trong `tabular` môi trường.

Có thể tạo bảng bằng cách sử dụng `tabular` môi trường.

```
\begin{tabular}[pos]{cols}
 nội dung bảng
\end{tabular}
```

trong đó các tùy chọn có thể là:

* **`pos`** : Vị trí dọc. Nó có thể nhận các giá trị sau:

|                   |                                                        |
| ----------------- | ------------------------------------------------------ |
| `t`               | đường ở trên cùng được căn với đường cơ sở của văn bản |
| `b`               | đường ở dưới cùng được căn với đường cơ sở của văn bản |
| `c` hoặc không có | bảng được căn giữa theo đường cơ sở của văn bản        |

* **`cols`** : Xác định căn lề và đường viền của từng cột. Nó có thể có các giá trị sau:

|                |                                                                                          |
| -------------- | ---------------------------------------------------------------------------------------- |
| `l`            | cột căn trái                                                                             |
| `c`            | cột căn giữa                                                                             |
| `r`            | cột căn phải                                                                             |
| `p{'width'}`   | cột đoạn văn với văn bản căn dọc ở phía trên                                             |
| `m{'width'}`   | cột đoạn văn với văn bản căn dọc ở giữa (cần `array` gói)                                |
| `b{'width'}`   | cột đoạn văn với văn bản căn dọc ở dưới (cần `array` gói)                                |
| `\|`           | đường thẳng đứng                                                                         |
| `\|\|`         | đường thẳng đứng kép                                                                     |
| `*{num}{form}` | định dạng form được lặp lại *num* lần; ví dụ `*{3}{\|l}\|` tương đương với `\|l\|l\|l\|` |

Để phân tách giữa các ô và tạo dòng mới, hãy dùng các lệnh sau:

|               |                                                                                                                   |
| ------------- | ----------------------------------------------------------------------------------------------------------------- |
| `&`           | dấu phân tách cột                                                                                                 |
| `\\`          | bắt đầu hàng mới (có thể chỉ định thêm khoảng trắng sau `\\` bằng cách dùng ngoặc vuông, chẳng hạn như `\\[6pt]`) |
| `\hline`      | đường ngang giữa các hàng                                                                                         |
| `\newline`    | bắt đầu một dòng mới trong một ô (trong cột đoạn văn)                                                             |
| `\cline{i-j}` | đường ngang một phần bắt đầu ở cột *i* và kết thúc ở cột *j*                                                      |

## Đọc thêm

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

* [Cách chèn bảng trong Overleaf](/latex/vi/co-so-tri-thuc/067-how-to-generate-and-insert-latex-tables-in-overleaf.md)
* [Định vị hình ảnh và bảng](/latex/vi/hinh-va-bang/02-positioning-images-and-tables.md)
* [Danh sách bảng biểu và hình vẽ](/latex/vi/hinh-va-bang/03-lists-of-tables-and-figures.md)
* [Độ dài trong LaTeX](/latex/vi/dinh-dang/01-lengths-in-latex.md)
* [Sử dụng màu trong LaTeX](/latex/vi/dinh-dang/13-using-colors-in-latex.md)
* [Tài liệu gói xcolor](http://mirrors.ctan.org/macros/latex/contrib/xcolor/xcolor.pdf)
* [Tài liệu gói tabularx](https://texdoc.org/pkg/tabularx)
* [Tài liệu gói longtable](http://mirrors.ctan.org/macros/latex/required/tools/longtable.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/hinh-va-bang/01-tables.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.
