如何使多列宽度等于每列声明宽度的总和?

如何使多列宽度等于每列声明宽度的总和?

例如我有这张表:

\begin{longtable}[c]{ p{1.0in} p{1.5in} p{2.0in} p{2.5in} }
   \multicolumn{3}{l}{ Partner } & \hfill Total \\ 
\end{longtable}

但结果是“合作伙伴”部分将根据合作伙伴名称的长度进行调整。总宽度应固定为 4.5 英寸(1.0 + 1.5 + 2.0)。

答案1

在第二个参数中,\multicolumn您可以使用p{...}所需宽度的列类型。由于您需要考虑列的填充(列边框与其内容之间的空间),因此正确的宽度为4.5in+4\tabcolsep

\documentclass{book}
\usepackage{longtable}

\begin{document}

\begin{longtable}[c]{p{1.0in}p{1.5in}p{2.0in}p{2.5in}}
   \multicolumn{3}{p{\dimexpr4.5in+4\tabcolsep\relax}}{Partner} & \hfill Total \\
\end{longtable}

\end{document}

很容易给出一个普遍的表达式:

假设多列将跨越k具有格式的列p{w1}, p{w2},...,p{wk}(这里w1,w2,...,wk是每列的长度);那么您需要用作w1+w2+...+wk+2(k-1)\tabcolsep的宽度\multicolumn

相关内容