tex中的表格4:自动表格宽度自动换行tabularx宏包
在 LaTeX 里,tabularx 是一个很实用的包,它能够创建宽度固定的表格,而且可以自动对列宽进行调整。\newcolumntype{L}{>{\raggedright\arraybackslash}X} % 左对齐\newcolumntype{C}{>{\centering\arraybackslash}X} % 居中对齐\newcolumntype{R}{>{\raggedleft\ar
·
介绍
在 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}

更多推荐
所有评论(0)