我正在使用 Kile 上的 Tabular Wizard 为我的一个表格创建一个\tabularx
环境,并且我希望它适合页面。目前这是我的设置:
{%
\newcommand{\mc}[3]{\multicolumn{#1}{#2}{#3}}
\begin{center}
\begin{tabularx}{\textwidth}[]{l|c|c|c|}\cline{2-4}
%data ....
\end{tabularx}
\end{center}
}%
但是,即使使用 \textwidth 参数,我的表格仍然超出了页面的限制。
我尝试阅读以下讨论:-如何强制表格适合页面宽度?
但它没有帮助,选择的解决方案似乎不起作用。我该如何解决这个问题?
答案1
调整表格宽度的方法tabularx
是更改特定列的宽度。默认列类型(r
、c
、l
)不会被 修改tabularx
,因此它们的行为不会有任何不同。相反,X
定义了一种新的列类型,它允许文本换行,并且其宽度会根据其他列的宽度而变化。请参阅中的示例手册。
因此,当使用 justl
和c
columns 时,它们的宽度将与其最宽的内容一样宽。
如果希望某一X
列的内容右对齐,请使用 来>{\raggedleft\arraybackslash}
居中,并\raggedleft
用替换\centering
。\arraybackslash
实际上只有最后一列才需要 ,但下面我在所有列中都添加了 。
\documentclass[border=2mm]{standalone}
\usepackage{tabularx}
\newcommand\word{a bunch of text and some more text and yet more text}
\begin{document}
\begin{tabularx}{8cm}{
|>{\raggedleft\arraybackslash}X
|>{\centering\arraybackslash}X
|>{\raggedright\arraybackslash}X
| X |}
Right & Center & Left & Justified \\ \hline
\word & \word & \word & \word
\end{tabularx}
\end{document}