我有一张表格,第一列是文本,第二列是图像。我希望两列都顶部对齐。我使用以下代码:
\begin{tabular}{p{3cm}l}
Internal state after adding 2 elements & \includegraphics[scale=0.4]{pics/queue_after_add.png} \\
Internal state non-concurrent execution & \includegraphics[scale=0.4]{pics/queue_sequential.png} \\
Internal state concurrent execution & \includegraphics[scale=0.4]{pics/queue_concurrent.png}\\
\end{tabular}
结果如下:
我也尝试按照某些线程的建议插入 \vspace{0pt},但结果是一样的。
答案1
\vspace{0pt}
如果图形位于 类型的列中,则可以工作p{..}
。在l
列中,您必须使用 将图形移动到基线以下\raisebox{-\height}{....}
。
答案2
解决方案是使用“array”包。然后使用 m 代替表格环境参数中的 p 框。
\usepackage{array}
\begin{tabular}{m{3cm}m{5cm}}
Internal state after adding 2 elements & \includegraphics[scale=0.4]{pics/queue_after_add.png} \\
Internal state non-concurrent execution & \includegraphics[scale=0.4]{pics/queue_sequential.png} \\
Internal state concurrent execution & \includegraphics[scale=0.4]{pics/queue_concurrent.png}\\
\end{tabular}
现在我不知道这是怎么回事。经过 4 个小时的痛苦尝试解决类似问题后,我在网上找到了这个解决方案。而且似乎没有论坛解释为什么表格环境本身无法解决这个问题。太违反直觉了!