
我想建立一個跨越頁面整個寬度的表格,其中一列的大小是另一列大小的一半。按照建議這裡,我用tabularx
它。然而,由於某種原因,我的表格不想跨越整個頁面。在下面的 MWE 中,我為頂行指定了顏色,這樣可以看出最後一列的儲存格寬度不合適。
\documentclass{article}
\usepackage{colortbl}
\usepackage{tabularx}
\newcolumntype{Y}{>{\hsize=0.5\hsize}X} % Half the size of X.
\begin{document}
\begin{tabularx}{\linewidth}{XXY} % E.g., XYY does work...
\hline
% The first row is given a color to clearly show the cell width.
\rowcolor{blue} A & B & Lorem ipsum dolor sit amet\\ \hline
a & b & c \\ \hline
\end{tabularx}
\end{document}
如程式碼中所見,我使用了X
普通列和Y
一半大小的列。當我使用 columns 時XYY
,它似乎有效。因此,對我來說這似乎很隨機。有人可以解釋出了什麼問題嗎?按照我想要的方式建立列的正確方法是什麼(即 40%、40%、20%)?
答案1
您只是誤用了 中的係數\hsize=...
:它們實際上並不是比例係數,而是重心係數,即它們的總和必須等於 X 類型列的總數。換句話說,在這裡,你要求解線性方程組:2x+y=3,x=2y。
將您的係數結果與正確係數的結果進行比較。我新增了垂直規則來視覺化每列的確切寬度:
\documentclass{article}
\usepackage{colortbl}
\usepackage{tabularx}
\newcolumntype{Y}{>{\hsize=0.5\hsize}X} % Half the size of X.
\begin{document}
\begin{tabularx}{\linewidth}{XXY} % E.g., XYY does work...
\hline
% The first row is given a color to clearly show the cell width.
\rowcolor{blue} A & B & Lorem ipsum dolor sit amet\\ \hline
a & b & c \\ \hline
\end{tabularx}
\end{document}