
我正在使用 Kile 上的表格精靈為我的一個表格建立一個\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}