在以下 MWE 中,我只是尝试创建一个数组,其宽度等于文本宽度,基本上我希望我的数组与文档允许的一样大。这就是我在实际报告中所做的,所以我认为它很有代表性。
这是我的 MWE:
\documentclass{report}
\usepackage{booktabs}
\begin{document}
\begin{tabular}{llr}
\toprule
\multicolumn{2}{p{\textwidth}}{Item} \\
\cmidrule(r){1-2}
Animal & Description & Price (\$) \\
\midrule
Gnat & per gram & 13.65 \\
& each & 0.01 \\
Gnu & stuffed & 92.50 \\
Emu & stuffed & 33.33 \\
Armadillo & frozen & 8.99 \\
\bottomrule
\end{tabular}
\end{document}
但是,我得到的\hbox
宽度超过了 77.5pt。这背后的原因是什么?
答案1
您强制条目变宽\textwidth
,但表格前有段落缩进,4\tabcolsep
列周围的单元格填充以及第三列中最宽条目的宽度,所有这些都需要适应\textwidth
。
将表格列拉开没有任何好处,只会让阅读变得更加困难,只需使用
\documentclass{report}
\usepackage{booktabs}
\begin{document}
\centering
\noindent X\dotfill X
\noindent\begin{tabular}{llr}
\toprule
Item \\
\cmidrule(r){1-2}
Animal & Description & Price (\$) \\
\midrule
Gnat & per gram & 13.65 \\
& each & 0.01 \\
Gnu & stuffed & 92.50 \\
Emu & stuffed & 33.33 \\
Armadillo & frozen & 8.99 \\
\bottomrule
\end{tabular}
\end{document}