Bài viết này sẽ hướng dẫn bạn cách nhanh gọn để chia cột văn bản trong LaTeX cùng một số tùy chỉnh của nó.
Cách đơn giản nhất với gói lệnh multicol
Công cụ được sử dụng ở đây là gói lệnh multicol. Bạn có thể thử ngay bằng cách tạo một tài liệu mới và dán đoạn code sau đây vào.
\documentclass{article} \usepackage{lipsum} %tạo đoạn văn bản để thử nghiệm \usepackage{multicol} \begin{document} \begin{multicols}{3} \lipsum[1-4] %tạo đoạn văn bản để thử nghiệm \end{multicols} \end{document}
Nhìn vào đoạn code trên, bạn có thể thấy ta cần dùng gói lệnh
\usepackage{multicol}
Cách sử dụng (thay số 3 bởi số cột mà bạn muốn)
\begin{multicols}{3} ... \end{multicols}
Tăng độ rộng giữa các cột
Bạn đặt câu lệnh sau ở trước \begin{document} và ngay sau \usepackage{multicol}, thay "1cm" bởi độ rộng bạn muốn, bạn có thể dùng "em" hay "px" (pixel) thay vì "cm".
\setlength{\columnsep}{1cm}
Làm mất căn bằng các cột
Mặc định thì độ dài của văn bản sẽ chia đều cho các cột, nói cách khác, độ dài chữ của các cột sẽ gần bằng nhau. Bây giờ nếu bạn dùng đoạn code sau, chữ sẽ hiện ra ở cột thứ nhất cho đến hết trang rồi nó mới sang đến cột thứ hai (khi ấy cột cuối sẽ ngắn chữ hơn những cột đầu)
\begin{multicols*}{4} ... \end{multicols*}
Chèn hình và bảng ngay bên trong cột
Bạn có thể chèn hình lấn chữ (float image) và chèn bảng (float table) ngay bên trong cột như hình dưới đây Không có gì đặc biệt cả, bạn cứ chèn hình như bình thường trong môi trường multicols là được, xem thêm bài viết về chèn hình trong LaTeX.
Thêm lằn thẳng đứng giữa các cột
Bạn đặt những câu lệnh sau ở trước **\**begin{document} và ngay sau \****usepackage{multicol}, thay "1pt" bởi độ dày của thanh, "blue" bởi những màu khác.
\usepackage{color} \setlength{\columnseprule}{1pt} \def\columnseprulecolor{\color{blue}}
Dùng column break (ngắt dòng sang cột khác)
Bạn có thể ngắt một đoạn nào đó và ép nó sang cột kế tiếp bằng câu lệnh sau (đặt ngay trước dòng mà bạn muốn ngắt trong văn bản)
%đoạn trước \columnbreak %đoạn sau
Chia cột với độ rộng khác nhau
Ở trên mình hướng dẫn bạn dùng gói lệnh multicols để chia cột một cách nhanh chóng, tuy nhiên nhược điểm của nó là độ rộng các cột là bằng nhau.
Dùng gói lệnh parcolumns
Cách dùng như đoạn code bên dưới
\usepackage{parcolumns} % đặt trước \begin{document} \begin{parcolumns}[colwidths={1=.3\textwidth},rulebetween=true]{2} \colchunk{% cột trái nội dung cột thứ nhất } \colchunk{% cột phải nội dung cột thứ 2 } \end{parcolumns}
Trong đó, 1=.3\textwidth cho bạn biết rằng độ rộng của cột 1 bằng 30% độ dài của văn bản.
Dùng gói lệnh vwcol
\usepackage{vwcol} % trước \begin{document} \begin{vwcol}[widths={0.3,0.7}, sep=.8cm, justify=flush,rule=0pt,indent=1em] Nội dung văn bản. \end{vwcol}
Trong đó,
- widths={0.3,0.7} : tỷ lệ tính theo % độ rộng của cột thứ nhất và cột thứ hai xét theo độ rộng của toàn bộ văn bản.
- sep=.8cm : khoảng cách giữa 2 cột.
- justify=flush : canh đều văn bản, bạn có thể bỏ nó đi để có canh trái.
- rule=0pt : lằn giữa, thay 0 bởi số khác với 0pt là độ đậm của lằn.
- indent=1em : Thụt đầu dòng ở đầu mỗi đoạn.