Tạo bảng dài trong LaTex, và tô màu cho bảng trong LaTeX
Như bạn đã biết, việc trình bày dữ liệu dưới dạng bảng sẽ mang lại cho người dùng rất nhiều lợi ích. Vì vậy, bảng thường được sử dụng rất nhiều trong quá trình học tập cũng như làm việc.
Ở bài viết trước, mình đã hướng dẫn khá chi tiết và đầy đủ về cách tạo và định dạng bảng trong LaTeX với sự hỗ trợ của các gói lệnh. tabular
Tuy nhiên, gói lệnh tabular
chỉ hỗ trợ chúng tôi tạo một bảng phù hợp với bên trong một trang. Trong trường hợp cần tạo một bảng dài kéo dài nhiều trang, bạn phải sử dụng gói lệnh longtable
Bài viết này sẽ giúp bạn biết cách sử dụng gói lệnh này, ngoài ra mình cũng sẽ hướng dẫn bạn tô màu bảng bằng gói lệnh. colortbl
Đọc thêm:
I. Cách tạo bảng dài trong LaTex
Ví dụ, chúng ta cần tạo một bảng như hình dưới đây. Bảng này kéo dài 3 trang và bao gồm 49 dòng, một trong số đó là dòng “tiêu đề” được lặp lại 3 lần ở đầu bảng mỗi khi bạn cuộn sang trang mới.
#đầu tiên. Khai báo gói lệnh
Để tạo một bảng như trên chúng ta cần khai báo gói lệnh longtable
. Tức là thêm dòng lệnh usepackage{longtable}
trước dòng lệnh begin{document}
# 2. Cấu trúc cơ bản của một bảng dài trong LaTex
Trong phạm vi bài viết này, tôi sẽ phân chia môi trường longtable
ra hai phần đầu tiên từ begin{longtable}{…}
….
… đến nơi endlastfoot
và phần thứ hai là từ endlastfoot
đến nơi end{longtable}
Phần một Họ quan tâm đến bốn lệnh sau: endfirsthead, endhead, endfoot và endlastfoot
Tên dòng lệnh | Ý nghĩa của dòng lệnh |
endfirsthead | Văn bản từ dòng lệnh begin {longtable} {…} đến dòng lệnh này sẽ xuất hiện ở đầu bảng, cụ thể là trang đầu tiên mà bảng xuất hiện và chỉ trang đầu tiên |
endhead | Văn bản từ dòng lệnh endfirsthead đến dòng lệnh này sẽ xuất hiện ở đầu bảng của mọi trang không bao gồm trang đầu tiên. |
endfoot | Văn bản từ dòng lệnh endhead đến dòng lệnh này sẽ xuất hiện ở cuối bảng của mỗi trang trừ trang cuối cùng |
endlastfoot | Văn bản từ dòng lệnh endfoot đến dòng lệnh này sẽ xuất hiện ở cuối bảng, cụ thể là trang cuối cùng mà bảng xuất hiện và chỉ trang cuối cùng |
Tổng cộng có bốn lệnh nhưng thường chúng ta chỉ sử dụng lệnh endhead
và nếu chỉ lệnh này được sử dụng, vị trí hiển thị của lệnh endfirsthead
sẽ được hiển thị bằng lệnh này.
Thật vậy, chúng ta thường chỉ cần hiển thị lại dòng “tiêu đề” ở đầu bảng mỗi khi bảng chuyển sang trang mới.
Hình ảnh minh họa về cách sử dụng cụ thể của 4 lệnh này, vui lòng xem file đính kèm tại đây hoặc tại đây!
File này chứa mã nguồn do mình soạn sẵn, bạn chỉ cần dùng TeXstudio mở lên sau đó biên dịch là sẽ hiểu và biết cách áp dụng 4 lệnh trên sao cho phù hợp nhất.
Phần thứ hai là nội dung chính của bảng, nó tương tự như bảng rút gọn.
# 3. Mã nguồn
Dưới đây là một phần mã nguồn để tạo bảng cho ví dụ minh họa ở trên. Mã nguồn đầy đủ bạn có thể tải về tại đây hoặc tại đây!
Tạo bảng dài cũng tương tự như tạo bảng ngắn, chỉ có một số điểm khác biệt như gói lệnh và môi trường, các thành phần còn lại đều giống nhau.
Trong bảng này, dòng “tiêu đề” sẽ được lặp lại ở đầu bảng mỗi khi bảng chuyển sang trang mới, vì vậy chúng tôi sẽ đưa chúng vào begin{longtable}{…} … endhead
II. Tô màu bảng trong LaTex
Tương tự như văn bản thuần túy hoặc công thức Toán học, LaTeX cũng cho phép chúng ta tô màu bảng. Cụ thể, chúng ta có thể tô màu cho hàng, cột và ô.
Cách vẽ không khó, cái khó là làm sao để làm nổi bật nội dung bên trong. Một chiếc bảng sặc sỡ như cầu vồng chắc chắn không đẹp, một chiếc bảng như hình dưới đây mới là hàng đẹp.
#đầu tiên. Màu sắc và tỷ lệ pha màu
Trước khi tìm hiểu về cách pha màu, bạn cần tìm hiểu về tỷ lệ pha màu. Tại sao phải nghiên cứu vấn đề này? Nó rất đơn giản vì hai lý do:
- Đầu tiên là nếu chúng ta sử dụng tên màu, chúng ta có rất ít màu để điền vào một bảng cụ thể chỉ có Đỏ, Vàng, Xanh lá cây, Xanh lam, Đen và Trắng
- Thứ hai là để có được tỷ lệ pha màu phù hợp để có màu đẹp không hề đơn giản.
Đầu tiên bạn có thể sử dụng bảng màu bên dưới để vẽ. Các màu này được pha trộn trên hệ màu RGB
.
Để có được nhiều màu sắc hơn, bạn chỉ cần thay đổi tỷ lệ pha trộn. Cụ thể, bạn có thể dựa vào ba màu cơ bản Đỏ, Xanh lá, Xanh lam rồi pha với tỷ lệ thích hợp theo một số phân đoạn. [0 ; 1] là được.
Do kiến thức về màu sắc còn hạn chế nên mình không thể hướng dẫn chi tiết cho các bạn được. Bạn có thể tham khảo bảng mã màu đầy đủ và chi tiết tại đây để có được mã màu ưng ý:
Tuy nhiên, trong bài Xuất bảng từ Excel sang LaTeX bằng Excel2LaTeX Sau đó, tôi sẽ hướng dẫn bạn một Mẹo để bạn có thể lấy mã màu từ các màu có sẵn trong Excel. Bài viết này nằm trong phần tiếp theo.
Trong Excel có rất nhiều màu rất đẹp và việc trộn các màu này không hề đơn giản nên có lẽ đây là một mẹo rất hữu ích. Tôi đã thử nhiều lần để pha trộn nhưng kết quả thường rất tệ, sự pha trộn màu sắc rất tệ
# 2. Tô màu các đường trong LaTex
Để tô màu cho bảng nói chung hay dòng nói riêng, việc đầu tiên bạn cần làm là khai báo gói lệnh colortbl
.
Sau khi khai báo gói lệnh, bạn có thể sử dụng lệnh rowcolor{color}
hoặc rowcolor[color model]{color}
để tô màu cho đường kẻ.
Comeinand rowcolor[color model]{color}
cho phép chúng ta tô rất nhiều màu bằng cách trộn các màu cơ bản ban đầu nên mình chủ yếu hướng dẫn các bạn vẽ bằng lệnh này.
Comeinand rowcolor[color model]{color}
đặt dòng nào thì dòng đó sẽ được điền. Lệnh này có 2 tham số, 1 tùy chọn và 1 bắt buộc cụ thể.
- Mô hình màu là hệ màu có thể rgb, cmy, cmyk, hsb, hsb … Thường thì chúng ta sẽ sử dụng hệ màu RGB.
- Màu sắc là tỷ lệ pha trộn màu.
# 3. Tô màu các cột trong LaTex
Tô màu cột tương tự như tô màu hàng, thêm lệnh nếu bạn muốn tô màu cột >{columncolor [color model]{color}}
tại vị trí của cột đó.
#4. Tô màu các ô trong LaTex
Để tô màu ô, bạn thêm lệnh cellcolor[color model]{color}
tại vị trí của ô đó là được.
III. Phần kết
Cách phối màu cho bàn dài hoàn toàn có thể áp dụng cho bàn ngắn. Đối lập với các lệnh diagbox{…}{…},
multicolumn {n} {c |} {…} multirow {m} {… cm} {…} và cline {… -…} được sử dụng cho các bảng ngắn, bạn cũng có thể sử dụng cho các bảng dài.
Điều quan trọng là bạn phải sử dụng đúng cú pháp của lệnh.
Trong bài viết này mình chưa hướng dẫn cách tô màu cho các đường ngang và dọc nên nếu muốn bạn có thể tự tìm hiểu thêm trong gói The colortbl (link dự phòng) của tác giả David Carlisle.
Cảm ơn vì đã xem. Xin chào tạm biệt và hẹn gặp lại các bạn trong những bài viết tiếp theo!
CTV: Nhựt Nguyễn – phanmemdownload.com
Ghi chú: Bài viết này có hữu ích cho bạn không? Đừng quên đánh giá bài viết, thích và chia sẻ nó với bạn bè và gia đình của bạn!
Như bạn đã biết, việc trình bày dữ liệu dưới dạng bảng sẽ mang lại cho người dùng rất nhiều lợi ích. Vì vậy, bảng thường được sử dụng rất nhiều trong quá trình học tập cũng như làm việc.
Ở bài viết trước, mình đã hướng dẫn khá chi tiết và đầy đủ về cách tạo và định dạng bảng trong LaTeX với sự hỗ trợ của các gói lệnh. tabular
Tuy nhiên, gói lệnh tabular
chỉ hỗ trợ chúng tôi tạo một bảng phù hợp với bên trong một trang. Trong trường hợp cần tạo một bảng dài kéo dài nhiều trang, bạn phải sử dụng gói lệnh longtable
Bài viết này sẽ giúp bạn biết cách sử dụng gói lệnh này, ngoài ra mình cũng sẽ hướng dẫn bạn tô màu bảng bằng gói lệnh. colortbl
Đọc thêm:
I. Cách tạo bảng dài trong LaTex
Ví dụ, chúng ta cần tạo một bảng như hình dưới đây. Bảng này kéo dài 3 trang và bao gồm 49 dòng, một trong số đó là dòng “tiêu đề” được lặp lại 3 lần ở đầu bảng mỗi khi bạn cuộn sang trang mới.
#đầu tiên. Khai báo gói lệnh
Để tạo một bảng như trên chúng ta cần khai báo gói lệnh longtable
. Tức là thêm dòng lệnh usepackage{longtable}
trước dòng lệnh begin{document}
# 2. Cấu trúc cơ bản của một bảng dài trong LaTex
Trong phạm vi bài viết này, tôi sẽ phân chia môi trường longtable
ra hai phần đầu tiên từ begin{longtable}{…}
….
… đến nơi endlastfoot
và phần thứ hai là từ endlastfoot
đến nơi end{longtable}
Phần một Họ quan tâm đến bốn lệnh sau: endfirsthead, endhead, endfoot và endlastfoot
Tên dòng lệnh | Ý nghĩa của dòng lệnh |
endfirsthead | Văn bản từ dòng lệnh begin {longtable} {…} đến dòng lệnh này sẽ xuất hiện ở đầu bảng, cụ thể là trang đầu tiên mà bảng xuất hiện và chỉ trang đầu tiên |
endhead | Văn bản từ dòng lệnh endfirsthead đến dòng lệnh này sẽ xuất hiện ở đầu bảng của mọi trang không bao gồm trang đầu tiên. |
endfoot | Văn bản từ dòng lệnh endhead đến dòng lệnh này sẽ xuất hiện ở cuối bảng của mỗi trang trừ trang cuối cùng |
endlastfoot | Văn bản từ dòng lệnh endfoot đến dòng lệnh này sẽ xuất hiện ở cuối bảng, cụ thể là trang cuối cùng mà bảng xuất hiện và chỉ trang cuối cùng |
Tổng cộng có bốn lệnh nhưng thường chúng ta chỉ sử dụng lệnh endhead
và nếu chỉ lệnh này được sử dụng, vị trí hiển thị của lệnh endfirsthead
sẽ được hiển thị bằng lệnh này.
Thật vậy, chúng ta thường chỉ cần hiển thị lại dòng “tiêu đề” ở đầu bảng mỗi khi bảng chuyển sang trang mới.
Hình ảnh minh họa về cách sử dụng cụ thể của 4 lệnh này, vui lòng xem file đính kèm tại đây hoặc tại đây!
File này chứa mã nguồn do mình soạn sẵn, bạn chỉ cần dùng TeXstudio mở lên sau đó biên dịch là sẽ hiểu và biết cách áp dụng 4 lệnh trên sao cho phù hợp nhất.
Phần thứ hai là nội dung chính của bảng, nó tương tự như bảng rút gọn.
# 3. Mã nguồn
Dưới đây là một phần mã nguồn để tạo bảng cho ví dụ minh họa ở trên. Mã nguồn đầy đủ bạn có thể tải về tại đây hoặc tại đây!
Tạo bảng dài cũng tương tự như tạo bảng ngắn, chỉ có một số điểm khác biệt như gói lệnh và môi trường, các thành phần còn lại đều giống nhau.
Trong bảng này, dòng “tiêu đề” sẽ được lặp lại ở đầu bảng mỗi khi bảng chuyển sang trang mới, vì vậy chúng tôi sẽ đưa chúng vào begin{longtable}{…} … endhead
II. Tô màu bảng trong LaTex
Tương tự như văn bản thuần túy hoặc công thức Toán học, LaTeX cũng cho phép chúng ta tô màu bảng. Cụ thể, chúng ta có thể tô màu cho hàng, cột và ô.
Cách vẽ không khó, cái khó là làm sao để làm nổi bật nội dung bên trong. Một chiếc bảng sặc sỡ như cầu vồng chắc chắn không đẹp, một chiếc bảng như hình dưới đây mới là hàng đẹp.
#đầu tiên. Màu sắc và tỷ lệ pha màu
Trước khi tìm hiểu về cách pha màu, bạn cần tìm hiểu về tỷ lệ pha màu. Tại sao phải nghiên cứu vấn đề này? Nó rất đơn giản vì hai lý do:
- Đầu tiên là nếu chúng ta sử dụng tên màu, chúng ta có rất ít màu để điền vào một bảng cụ thể chỉ có Đỏ, Vàng, Xanh lá cây, Xanh lam, Đen và Trắng
- Thứ hai là để có được tỷ lệ pha màu phù hợp để có màu đẹp không hề đơn giản.
Đầu tiên bạn có thể sử dụng bảng màu bên dưới để vẽ. Các màu này được pha trộn trên hệ màu RGB
.
Để có được nhiều màu sắc hơn, bạn chỉ cần thay đổi tỷ lệ pha trộn. Cụ thể, bạn có thể dựa vào ba màu cơ bản Đỏ, Xanh lá, Xanh lam rồi pha với tỷ lệ thích hợp theo một số phân đoạn. [0 ; 1] là được.
Do kiến thức về màu sắc còn hạn chế nên mình không thể hướng dẫn chi tiết cho các bạn được. Bạn có thể tham khảo bảng mã màu đầy đủ và chi tiết tại đây để có được mã màu ưng ý:
Tuy nhiên, trong bài Xuất bảng từ Excel sang LaTeX bằng Excel2LaTeX Sau đó, tôi sẽ hướng dẫn bạn một Mẹo để bạn có thể lấy mã màu từ các màu có sẵn trong Excel. Bài viết này nằm trong phần tiếp theo.
Trong Excel có rất nhiều màu rất đẹp và việc trộn các màu này không hề đơn giản nên có lẽ đây là một mẹo rất hữu ích. Tôi đã thử nhiều lần để pha trộn nhưng kết quả thường rất tệ, sự pha trộn màu sắc rất tệ
# 2. Tô màu các đường trong LaTex
Để tô màu cho bảng nói chung hay dòng nói riêng, việc đầu tiên bạn cần làm là khai báo gói lệnh colortbl
.
Sau khi khai báo gói lệnh, bạn có thể sử dụng lệnh rowcolor{color}
hoặc rowcolor[color model]{color}
để tô màu cho đường kẻ.
Comeinand rowcolor[color model]{color}
cho phép chúng ta tô rất nhiều màu bằng cách trộn các màu cơ bản ban đầu nên mình chủ yếu hướng dẫn các bạn vẽ bằng lệnh này.
Comeinand rowcolor[color model]{color}
đặt dòng nào thì dòng đó sẽ được điền. Lệnh này có 2 tham số, 1 tùy chọn và 1 bắt buộc cụ thể.
- Mô hình màu là hệ màu có thể rgb, cmy, cmyk, hsb, hsb … Thường thì chúng ta sẽ sử dụng hệ màu RGB.
- Màu sắc là tỷ lệ pha trộn màu.
# 3. Tô màu các cột trong LaTex
Tô màu cột tương tự như tô màu hàng, thêm lệnh nếu bạn muốn tô màu cột >{columncolor [color model]{color}}
tại vị trí của cột đó.
#4. Tô màu các ô trong LaTex
Để tô màu ô, bạn thêm lệnh cellcolor[color model]{color}
tại vị trí của ô đó là được.
III. Phần kết
Cách phối màu cho bàn dài hoàn toàn có thể áp dụng cho bàn ngắn. Đối lập với các lệnh diagbox{…}{…},
multicolumn {n} {c |} {…} multirow {m} {… cm} {…} và cline {… -…} được sử dụng cho các bảng ngắn, bạn cũng có thể sử dụng cho các bảng dài.
Điều quan trọng là bạn phải sử dụng đúng cú pháp của lệnh.
Trong bài viết này mình chưa hướng dẫn cách tô màu cho các đường ngang và dọc nên nếu muốn bạn có thể tự tìm hiểu thêm trong gói The colortbl (link dự phòng) của tác giả David Carlisle.
Cảm ơn vì đã xem. Xin chào tạm biệt và hẹn gặp lại các bạn trong những bài viết tiếp theo!
CTV: Nhựt Nguyễn – phanmemdownload.com
Ghi chú: Bài viết này có hữu ích cho bạn không? Đừng quên đánh giá bài viết, thích và chia sẻ nó với bạn bè và gia đình của bạn!