3

好的,这听起来很容易,但我已经花了几个小时在谷歌上搜索,我只是找不到解决方案,这并不复杂。我想创建一个包含图像和文本的表格。我希望表格的每一行都具有相同的高度。我希望文本始终从顶部开始。IE

\begin{tabular}{l l}
some text & some text and some more text...\\ %both starting at the same height.
\includegraphics{aImage.eps} & (*)Some text...   %both starting at the same height.
\end{tabularx}

在我的直觉中,asterix(*) 处的文本开头应该垂直对齐到 aImage 的顶部,但事实并非如此,我也无法正确理解。添加 [b] 或 [t] 没有帮助。我完全错了什么,因为我不能成为唯一想要这个的人。

4

2 回答 2

1

也许 TikZ 是一种可能的方式。图形可以包含在 TikZ 节点中\node{\includegraphics{myfile.ext}},然后可以绘制框或网格。文本节点可以在您放置它们的任何位置保存文本。如果你需要(足够的图片让它值得)你可以使用 pgffor 循环创建它。

\documentclass{article}

\usepackage{tikz}

\begin{document}
\begin{tikzpicture}

\draw[step=2cm] (-4cm,0) grid (4cm,4cm);

\node at (-3cm,3cm) {Text};
\node at (-3cm,1cm) {includegraphics};

\end{tikzpicture}
\end{document}

它不是一个完美的答案,它需要比许多 LaTeX 用户喜欢的更多的调整。但是,这种灵活性可能会以“让某些东西正常工作”的方式帮助您解决问题。

希望能帮助到你。

于 2010-11-10T02:14:42.960 回答
0

据我了解,问题在于 LaTeX 将包含的图形视为单行文本,恰好在该行上方延伸了相当多的位置,因此该行的顶部仍然只是高于基线的字体大小,而不是在图像的顶部,因此与其对齐不会很好。

我似乎通常解决这个问题的方法是将文本包装在一个合适的里面parbox,就像这样

\includegraphics{aImage.eps} & \parbox[b]{0.4\linewidth}{(*)Some text\vspace{3\baselineskip}}

这里的要点是我将底部parbox与图像的底部对齐,然后在其底部添加垂直空间,以便它是对齐的垂直空间的底部,并且文本在顶部很好地对齐。当然,您需要根据表格单元格的宽度和图像的高度来确定宽度(此处0.4\linewidth)和所需的垂直空间(此处),因此此解决方案并不能真正推广到您可以宏3\baselineskip离开。尽管如此,在需要时使用它还是相当简单的,即使它需要一些手动调整才能正确对齐。

于 2010-11-09T23:42:03.343 回答