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