LaTeX p 单元宽度

LaTeX p 单元宽度

我对 LaTeX 非常陌生,今天出现了这个问题:

我有一张由 17 列组成的表格。每列宽 0.6 厘米。

\begin{tabular}{p{0.6cm}|p{0.6cm}|p{0.6cm}|p{0.6cm}|p{0.6cm}|p{0.6cm}|p{0.6cm}|p{0.6cm}|p{0.6cm}|p{0.6cm}|p{0.6cm}|p{0.6cm}|p{0.6cm}|p{0.6cm}|p{0.6cm}|p{0.6cm}|p{0,6cm}}

效果非常好。但我在几行中也有 2 个单元格,它们与 \multicolumn 组合在一起,如下所示:

\multicolumn{2}{|p{1.2cm}|}{\cellcolor{grey}Inverse dependency ratio}

因为这个多列合并了两个不同的单元格,所以我算出 0,6 + 0,6 = 1,2。对吗?所以我给它的宽度设为 1,2cm...然而发生了以下情况:

在此处输入图片描述

组合后的 \multicolumn 无法容纳其底部的 2 列。我做错了什么?

答案1

最好发布一份完整的(小型)文档,显示所有使用的包。

除了第一列,如果你看看

|p{0.6cm}|p{0.6cm}|

并希望跨越这两列,第一列|位于以前的列,因此跨度不应该以|(除非这个第一列)。然后是 的填充\tabcolsep,然后是 的列内容0.6cm,然后是\tabcolsep,然后是|。在原始 LaTeX 中,tabular这不占用空间,但您使用了\cellcolor,因此您必须已加载colortbl(或xcolor加载colortbl),这意味着array包已加载。在array包 tabular中|,占据规则的宽度\arrayrulewidth,然后再次有\tabcolsep填充、0.6cm内容、\tabcolsep填充和另一条|规则。

所以你想要一个

\multicolumn{2}{p{\dimexpr (0.6cm)*2+1\arrayrulewidth+2\tabcolsep\relax}|}{...}

请注意,这在左侧没有|,并且包括跨列之间的填充和规则占用的空间。

答案2

您需要包含列分隔值。

你应该试试

\dimexpr1.6cm+2\tabcolsep

相关内容