You need to join this project to post message / question. See Help for details.
Trình bày bảng (cơ bản)¶
Ghi chú: Tài liệu này được biên soạn dựa trên hướng dẫn của phuoclh trong một những buổi cuối cùng của TeXOption_112008. kyanh trích mã nguồn và biên soạn các bản thảo đầu tiên của tài liệu wiki.
- Trình bày bảng (cơ bản)
- Bảng đơn giản (built-in)
- Bảng với caption và label
- Bảng với màu sắc cho chữ
- Bảng với màu sắc cho nền
- Trộn các cột
- Trộn các dòng
- Chiều rộng của cột và bảng
- Bảng với ô có gạch chéo
Bảng đơn giản (built-in)¶
\begin{tabular}{|c|c|l|r|}
\hline
STT & Ho va ten & Nam/nữ & Lớp\\\hline
1 & Nguyen Van A & Nam & 1A \\
2 & Nguyen Thi B & Nu & 2B \\\hline
\end{tabular}
- Trong bảng này, các ký tự
c,l, $r@ để thực hiện canh giữa, trái và phải. - Trong khi đó, các ký hiệu
|dùng để tạo đường kẻ dọc. Lệnh\hlinetạo đường kẻ ngang. Lệnh\\để tạo một hàng mới của bảng. - Do đó, ta chưa thể tạo các văn bảng có nhiều dòng trong một ô.
- Để ý các ký tự
&dùng để phân cách các ô. Nếu cóba cộtthì sẽ cóba - 1 = hai &. Nếu quên sẽ gây nhầm lẫn.

Bảng với caption và label¶
\begin{table}
\centering
\begin{tabular}{|r|c|l|}
\hline
STT & Ho va ten & Ghi chu\\\hline
1 & Nguyen Van A & Nam\\
2 & Nguyen Thi B & Nu\\\hline
\end{tabular}
\caption{bang 1}
\label{tab:table2}
\end{table}
- Trong ví dụ này, ta dùng bảng
tabularvới môi trường tạofloatlàtable. Nhờ đó, vị trí của bảng được bố trí tự động cho phù hợp với các văn bản. - Bảng sẽ có
caption(tên của bảng) tạo bởi lệnh\caption. - Đi theo sau lệnh
\captionlà lệnh tạo nhãn\label{tab:table2} - Sau này, muốn tham khảo tới bảng ở trên, ta dùng ví dụ
Xem Bảng~\ref{tab:table2}. Nhớ rằngtab:chỉ là tiền tố phân biệt cách nhãn với nhau thôi.

Bảng với màu sắc cho chữ¶
% \usepackage{array,color,colortbl}
\begin{tabular}{|>{\color{blue}\bfseries}c|c|}
\hline
Đội & \textcolor{mycol}{\bfseries Hạng}\\\hline
Vietnam & I\\
Thailand & II\\
Malaysia & III\\\hline
\end{tabular}
- Trong bảng này, ta dùng gói
arrayđể tạo tiền/hậu tố. Và vài gói khác - Để ý đến tham số của môi trường
tabular, hơi rắc rối là>{\color{blue}\bfseries}c.- Bình thường, ta chỉ dùng
ccđể tạo ra bảng hai cột - Trong ví dụ này, ta thay thế chữ
cđầu tiên bởi>{\color{blue}\bfseries}-- để tạo cột thứ nhất. - Việc thêm này được hỗ trợ nếu bạn dùng gói
array. Nó cho phép dùng kèm với mỗi chữc,l,rhai ký hiệu nữa là>và<. - Chữ
>cho biết là tất cả mọi ô của cột thứ nhất sẽ được tự động bắt đầu bằng các lệnh{\color{blue}\bfseries}(in đậm cùng với tô màu xanh). - Như bạn thấy trong kết quả, cột đầu tiên được tô xanh. Nhưng mã nguồn của cột đầu tiên thì rất sạch sẽ.
- Bình thường, ta chỉ dùng

Bảng với màu sắc cho nền¶
Nếu thích mà nền cho các ô thì thử ví dụ sau. Nhớ rằng các gói đưọc nạp cũng như ở ví dụ ở trên
% \usepackage{array,color,colortbl}
% \definecolor{mycol}{rgb}{1,0.2,0.8}
\begin{tabular}{|>{\columncolor{blue}\color{white}\bfseries}c|c|}
\hline
\rowcolor[gray]{0.5}
Đội & \textcolor{mycol}{\bfseries Hạng}
\\\hline
\cellcolor{red}Vietnam
& I\\
Thailand & II\\
Malaysia & III\\\hline
\end{tabular}
- Ta định nghĩa thêm lệnh tạo màu mới
mycolor - Trong ví dụ này, ta thay chữ
cđể tạo cột đầu tiên bởi>{\columncolor{blue}\color{white}\bfseries}c - Theo đó, nội dung tất cả các ô ở cột đầu tiên sẽ được in đậm, tô màu chữ trắng nền xanh
- Mặc dầu vậy, như ta thấy trong kết quả, các ô đầu tiên và thứ nhì của cột 1 vẫn có màu khác, do sử dụng thêm các lệnh
\rowcolorvà\cellcolor

Trộn các cột¶
\begin{tabular}{|l|l|}
\hline
\multicolumn{1}{|c|}{Thành thị} & \multicolumn{1}{c|}{Nông thôn}\\\hline
\multicolumn{2}{|c|}{Giao thông}\\\hline
Đường nhựa, rộng rãi & Đường mòn, đường đan, hẹp\\
Phương tiện đa dạng & Xe máy, xe đạp\\
Thường kẹt xe & Hiếm kẹt xe\\\hline
\multicolumn{2}{|c|}{Môi trường}\\\hline
Khói bụi nhiều & Không khí trong lành\\
Sông nước đen & Sông còn xanh mát\\
\hline
\end{tabular}
- Để trộn chung các cột thì đơn giản, không cần dùng thêm gói nào
- Ví dụ, để trộn hai cột ở hàng thứ hai, ta dùng
\multicolumn{2}{|c|}{Giao thông}.- Rõ ràng, số 2 cho biết ta sẽ trộn hai cột
- Ký tự
cđược dùng để canh giữa cho cột mới được tạo ra. - Các ký tự
|để thêm các gạch đứng ở hai đầu của ô trộn. Nếu bỏ đi thì sao, bạn tự thử nghiệm xem! - Để ý rằng, nếu ta có một hàng với 3 cột, ta sẽ dùng 2 chữ
&. Sau khi trộn lại thì ta sẽ bớt đi một chữ& - Trong ví dụ ở trên, ở hàng thứ hai chẳng có chữ
&nào cả
- phuoclh cũng đề nghị lệnh
\multicolumn{1}{|c|}{Thành thị}. Đây là cách dùng khá thông minh.- Bởi vì theo thiết lập thì tất cả các ô đều được canh trái như ở
\begin{tabular}{|l|l|} - Nhưng chuyện gì xảy ra nếu ta muốn một ô canh giữa? Chỉ việc trộn 1 cột, và thiết lập chế độ canh giữa cho cột đó là xong.
- Bởi vì theo thiết lập thì tất cả các ô đều được canh trái như ở

Trộn các dòng¶
% \usepackage{multirow}
\begin{tabular}{|l|l|l|l|}
\hline
\multirow{4}{.5em}{2 0 0 8}
& Quí 1 & Bắt đầu cuộc đua vào nhà trắng & Thị trờng BĐS VN đóng băng \\\cline{2-4}
& Quí 2 & B.Obama giành quyền đại diện đảng dân chủ & Kinh tế thế giới bắt đầu suy thoái \\\cline{2-4}
& Quí 3 & Hạ viện Mỹ thông qua gói cứu trợ kinh tế & Giá xăng dầu VN lên 19000/l \\\cline{2-4}
& Quí 4 & Lớp Latex khoa Toán -- Tin ĐHSP hoàn tất & B.Obama trở thành tổng thống Mỹ \\\hline
\end{tabular}
Ví dụ này thì quá rõ rồi, bạn tự ngâm cứu. Chú ý sự xuất hiện của các lệnh \cline

Chiều rộng của cột và bảng¶
Tôi mệt quá rồi, không làm thêm các hình nữa. Bạn tự thử nghiệm các ví dụ sau đây:) Nếu bạn thử nghiệm thành công, vui lòng chụp vài hình và gửi đến ViệtTUG qua email vietug{@}gmail.com. Chúng tôi sẽ tải hình minh hoạt lên trang wiki này.
% \usepackage{tabularx}
\begin{tabular}{|p{5cm}|p{2cm}|}
\hline
Độ rộng của cột này là 5cm. Đây là cách để xác định độ rộng theo ý mình.
& và đây là độ rộng 2cm
\\\hline
\end{tabular}
\begin{tabularx}{400pt}{|c|l|X|c|X|}
\hline
STT & Ho va ten & Uu diem & So thich & Ghi chu\\\hline
1 & Nguyen Van A & Tot bung & bong da & Lam viec tai HCMC\\
2 & Le Thi B & Nang dong & am nhac & Lam viec tai Ha Noi\\\hline
\end{tabularx}
\begin{tabularx}{\linewidth}{|X|X|X|X|}
\hline
Các cột được phân chia độ rộng cân bằng nhau
& Mỗi cột có độ rộng bằng tổng độ rộng cả dòng chia 4
& Ta dùng để tạo ra các bảng có độ rộng trọn chiều ngang trang giấy
& và có số lượng cột theo ý mình
\\\hline
\end{tabularx}
\begin{tabularx}{\linewidth}{|X|X|}
\hline
Bảng được chia thành hai phần bằng nhau
& Hãy so sánh với bảng dưới đây\\\hline
\end{tabularx}
\begin{tabularx}{\linewidth}{|>{\setlength\hsize{.75\hsize}}X|>{\setlength\hsize{1.25\hsize}}X|}
\hline
So sánh với bảng trên
& Bảng này có độ rộng hai cột không cân bằng nhau
\\\hline
\end{tabularx}
Bảng với ô có gạch chéo¶
Xem ở slashbox