我有一个复杂的longtable,有几个级别的嵌套表格环境。要在单元格内换行并使内容在顶部对齐,我使用\parbox[t][][t],但是,计算parbox的高度时没有任何边距,因此下面的行与文本重叠。
再现这种行为的一个最小例子是
documentclass{article}
begin{document}
begin{tabular} {|p{0.2textwidth}|}
hline
This cell looks good. \
hline
parbox[t][][t]{1.0linewidth}{
Not so happy with this.
} \
hline
end{tabular}
end{document}
这会产生以下输出(很抱歉,还不能发布图像):生成的输出的图像
当然,没有理由在上面的例子中使用parbox,但我需要在实际文档中使用它们。
我希望避免提供parbox的高度(例如\parbox[t][5cm][t])。有没有一种干净的方法可以在parbox底部或hline之前添加边距?
很抱歉回答我自己的问题,但我已经找到了一个解决方案,将vspace添加到parbox外的每个单元格中。
这是代码:
documentclass{article}
begin{document}
newcommand{pb}[1]{parbox[t][][t]{1.0linewidth}{#1} vspace{-2pt}}
begin{tabular} {|p{0.2textwidth}|}
hline
This cell looks good. \
hline
pb{
Now I'm happy with this.
} \
hline
end{tabular}
end{document}
输出:生成的输出的图像
我之前错过了,因为我在标准杆的最后一个支架和vspace之间没有空间。事实证明,空间是至关重要的。