Thủ Thuật

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.

how-to-mau-cho-bang-in-latex (1)

#đầ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}

how-to-mau-cho-bang-in-latex (1)

# 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}

how-to-mau-cho-bang-in-latex (2)

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!

how-to-mau-cho-bang-in-latex (3)

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.

how-to-mau-cho-bang-in-latex (4)

#đầ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.

tao-bang-dai-in-latext

Để 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.

way-to-mau-cho-bang-in-latex (5)

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.

how-to-mau-cho-bang-in-latex (6)

# 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 đó.

how-to-mau-cho-bang-in-latex (7)

#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.

how-to-mau-cho-bang-in-latex (8)

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

Xem thêm các bài cùng Series

Chuyển bảng tính Excel sang bảng LaTeX với Excel2LaTeX >>

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.

how-to-mau-cho-bang-in-latex (1)

#đầ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}

how-to-mau-cho-bang-in-latex (1)

# 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}

how-to-mau-cho-bang-in-latex (2)

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!

how-to-mau-cho-bang-in-latex (3)

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.

how-to-mau-cho-bang-in-latex (4)

#đầ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.

tao-bang-dai-in-latext

Để 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.

way-to-mau-cho-bang-in-latex (5)

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.

how-to-mau-cho-bang-in-latex (6)

# 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 đó.

how-to-mau-cho-bang-in-latex (7)

#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.

how-to-mau-cho-bang-in-latex (8)

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

Xem thêm các bài cùng Series

Chuyển bảng tính Excel sang bảng LaTeX với Excel2LaTeX >>

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!

Related Articles

Back to top button