我对 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