強制 Kile 建立頁面寬度內的表格

強制 Kile 建立頁面寬度內的表格

我正在使用 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,它允許文字中斷,並且寬度根據其他列的寬度而變化。請參閱中的範例手冊

因此,當使用 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}

相關內容