表格,表格化的,tabularx垂直对齐,LaTeX。

3

好的,这听起来很容易,但我已经花了几个小时在谷歌上搜索,却找不到一个简单的解决方案。 我想创建一个包含图片和文字的表格。我希望每一行表格的高度都相同,并且我希望文本始终从顶部开始。 例如:

\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}

在我的直觉中,文本的开头在星号(*)处应该与aImage的顶部垂直对齐,但实际上并没有,我无法正确地调整它。 添加[b]或[t]没有帮助。 我到底错在哪里了,因为我不可能是唯一想要这样的人。

2个回答

1

也许TikZ是一个可行的选择。可以使用\node{\includegraphics{myfile.ext}}在TikZ节点中包含图形,然后可以绘制框或网格。文本节点可以将文本放置在任何位置。如果需要(有足够多的图片使其值得),可以使用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用户喜欢的要更加灵活。然而,这种灵活性可能以“只需让某些东西工作”为方式解决您的问题。

希望能有所帮助。


1
问题在于LaTeX将包含的图形视为一行文本,只是恰好延伸到线上方很多,因此该行的顶部仍然只是字体大小高于基线,而不是图像的顶部,因此与其对齐不会非常有效。我理解的问题是这样的。
我通常解决这个问题的方法是将文本包装在适当的parbox中,类似于这样。
\includegraphics{aImage.eps} & \parbox[b]{0.4\linewidth}{(*)Some text\vspace{3\baselineskip}}

这里的重点是我将parbox的底部与图像的底部对齐,但是在其底部添加了垂直空间,以便对齐垂直空间的底部,并使文本在顶部对齐。当然,宽度(这里为0.4\linewidth)和所需的垂直空间(这里为3\baselineskip)需要根据表格单元的宽度和图像的高度自行确定,因此这种解决方案并不适用于可以轻松宏处理的通用情况。尽管如此,每当需要时使用它仍然相当简单,尽管需要一些手动调整才能正确对齐。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接