表格实际列宽

表格实际列宽

我正在尝试将表格放在文档的页眉中。在此文档中,页眉的宽度大于文本正文。页眉的宽度必须正好是 183 毫米,其中有一个宽度为 183 毫米的表格,列的宽度为 70、93 和 20 毫米。因此,我将文档设置为

\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyheadoffset[L]{0.9cm} %header offset
\fancyheadoffset[R]{0.9cm} %header offset

使用这些设置(以及我省略的其他设置),标题的宽度为 183 毫米(正确!)

然后我尝试将表格放在标题中

\fancyhead[C]{
\begin{tabular}{|p{70mm}|p{93mm}|p{20mm}|}
\hline
first & second & third\\
\hline
\end{tabular}
}

这会导致表格的单元格比我使用的值更宽(大约宽 4 毫米),并且我收到过满警告。例如,为了清楚起见,第一列的宽度是 74 毫米,而不是 70 毫米。我认为差异是由于p{70mm}我设置了文本宽度而不是列宽度,这导致两个边距都有小偏移(实际上列线和第一个字母之间有一点空间)。

有没有办法将列宽设置为两条线之间的距离?否则,我需要将列宽减少几毫米,导致工作不太精确。

谢谢!

答案1

您需要2\tabcolsep像这样从每一列中减去:

\begin{tabular}{|p{\dimexpr70mm-2\tabcolsep}|p{\dimexpr93mm-2\tabcolsep}|p{\dimexpr20mm-2\tabcolsep}|}
\hline
first & second & third\\
\hline
\end{tabular}

但是此方法会在第一列和最后一列之前和之后分别留下一些空间。如果要删除该空间,请使用以下列规范:

{|@{}p{\dimexpr70mm-\tabcolsep}|p{\dimexpr93mm-2\tabcolsep}|p{\dimexpr20mm-\tabcolsep}@{}|}

相关内容