我試著使用 tabular 或 tabularx 來獲得一張包含 3 個部分的桌子,均勻地出現,但我得到了 3 個不同寬度的桌子,彼此堆疊在一起。
\begin{table}
\begin{tabular*}{\linewidth}[b]{lcr}
1 - 50 & \bf{The Balanced Table Header} & Sides: 44 - 1365 \\
\end{tabular*}
\begin{tabular*}{\linewidth}[b]{|c|c|c|c|c|c|}
100 & 101 & 10000000001 & 2000000002 & 3000000003 & 400000000004 \\
\end{tabular*}
\begin{tabular*}{\linewidth}[b]{lr}
BeEF - 20:7:7:16 & 20:7:7:16 - Total
\end{tabular*}
\end{table}
這不是所需要的,我希望表格擴展到最大寬度,但第一行均勻分佈有 3 個項目,第二行有 6 個項目,第三行左側有一個項目,左側有一個項目正確的。
我不能讓一行上的任何列破壞或擴大任何其他行上的列寬度,每一行都不能影響上方或下方的行。當然,我希望表格的中間有一組相同的行。
對我來說最簡單的方法是簡單地在表內動態重新定義列佈局,但我還沒有找到一種方法來做到這一點。
有什麼想法如何獲得所有行都具有全寬度的表格嗎?
答案1
雖然很難推薦,但聽起來好像您想要的東西大致如下所示:
我認為相當醜陋,但似乎滿足了需求。
\documentclass{article}
\usepackage{array,tabularx}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\newcolumntype{L}{>{\raggedright\arraybackslash}X}
\newcolumntype{R}{>{\raggedleft\arraybackslash}X}
\begin{document}
\begin{table}
\begin{tabularx}{\linewidth}{>{\hsize=.75\hsize}L>{\hsize=1.5\hsize}C>{\hsize=.75\hsize}R}
1 - 50 & \textbf{The Balanced Table Header} & Sides: 44 - 1365
\end{tabularx}
\begin{tabularx}{\linewidth}{|l|c|*{3}{C|}R|}
100 & 101 & 10000000001 & 2000000002 & 3000000003 & 400000000004
\end{tabularx}
\begin{tabularx}{\linewidth}{LR}
BeEF - 20:7:7:16 & 20:7:7:16 - Total
\end{tabularx}
\end{table}
\end{document}
請考慮閱讀booktabs
手冊並遵循其建議。特別要注意的是,垂直規則很少是明智的選擇。