强制 Kile 创建页面宽度内的表格

强制 Kile 创建页面宽度内的表格

我正在使用 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是更改​​特定列的宽度。默认列类型(rcl)不会被 修改tabularx,因此它们的行为不会有任何不同。相反,X定义了一种新的列类型,它允许文本换行,并且其宽度会根据其他列的宽度而变化。请参阅中的示例手册

因此,当使用 justlccolumns 时,它们的宽度将与其最宽的内容一样宽。

如果希望某一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}

相关内容