文章目录
- 介绍
- 语法规则
- 示例
- 自定义 X 列的对齐方式
- 多行与多列
- 处理长表格
介绍
在 LaTeX 里,tabularx 是一个很实用的包,它能够创建宽度固定的表格,而且可以自动对列宽进行调整。
语法规则
\usepackage{tabularx}
\begin{tabularx}{总宽度}{列格式}% 表格内容
\end{tabularx}
这里的 总宽度 一般设为 \textwidth
,也就是页面的宽度。列格式 除了能使用 l
(左对齐)、c
(居中对齐)、r
(右对齐)这些常规格式外,还能使用 X
列。X 列会按照比例自动占据剩余宽度。
示例
\begin{tabularx}{\textwidth}{|X|c|r|}\hline这是一个会自动换行的长文本 这是一个会自动换行的长文本 这是一个会自动换行的长文本 & 居中 & 右对齐 \\\hline自动填充剩余宽度 & 数据 & 123 \\\hline
\end{tabularx}
在这个例子中,第一列是 X 列,它会自动填充剩余宽度,并且文本能够自动换行;第二列是居中对齐;第三列则是右对齐。
自定义 X 列的对齐方式
如果想让 X 列以不同方式对齐,可借助 array 包自定义列类型:
\usepackage{array}
\newcolumntype{L}{>{\raggedright\arraybackslash}X} % 左对齐
\newcolumntype{C}{>{\centering\arraybackslash}X} % 居中对齐
\newcolumntype{R}{>{\raggedleft\arraybackslash}X} % 右对齐\begin{tabularx}{\textwidth}{|L|C|R|}\hline左对齐文齐文齐文齐文齐文齐文本 & 齐文齐文齐文齐文齐文齐文齐文居中对齐文本 & 齐文齐文齐文齐文齐文齐文齐文右对齐文本 \\\hline
\end{tabularx}
多行与多列
在 tabularx 中可以使用 \multicolumn 来跨列:
\begin{tabularx}{\textwidth}{|X|X|}\hline\multicolumn{2}{|c|}{合并两列} \\\hline第一列 & 第二列 \\\hline
\end{tabularx}
处理长表格
若表格内容较多,需要跨页显示,可搭配使用 longtable
和 ltablex
包:
\usepackage{ltablex}
\begin{tabularx}{\textwidth}{|X|c|}\hline标题1 & 标题2 \\\hline\endfirsthead\hline标题1 & 标题2 \\\hline\endhead% 表格内容数据 & 1 \\数据 & 2 \\% 更多行...\hline
\end{tabularx}