2010-11-09 73 views
3

好吧,这听起来很容易,但我花了数小时搜索,我只是找不到一个解决方案,这并不复杂。 我想创建一个包含图像和文本的表格。我希望表格的每一行具有相同的高度。我希望文本始终始于顶部。 即表,表格,tabularx垂直对齐,乳胶

\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]没有帮助。 我完全错了什么,因为我不能是唯一想要这个的人。

回答

0

问题是,据我了解,LaTeX将包含的图形视为一行文本,恰好延伸到该行的上方,因此该行的顶部仍然只是字体的大小基线,而不是在图像的顶部,所以与它对齐并不会很好。

的方式我似乎通常解决了,这是包装一个合适的parbox中的文本,像这样

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

这里的关键是,我对准底部parbox与图像的底部,但然后在它的底部添加垂直空间,以便它对齐的垂直空间的底部,并且文本在顶部很好地对齐。当然,宽度(这里是0.4\linewidth)和需要的垂直空间(这里是3\baselineskip)需要根据表格单元的宽度和图像的高度来确定自己,所以这个解决方案并没有真正推广到你可以只是远离宏观。尽管如此,在需要的时候使用它仍然非常简单,即使它需要一些手动调整才能正确对齐。

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} 

它不是一个完美的答案,它需要比许多乳胶用户喜欢多一点调整。然而,这种灵活性可能会让你解决你的问题,在一个“只是让事情工作”的方式。

希望它有帮助。