[英]table, tabular, tabularx vertical alingment, latex
好吧,这听起来很容易,但我花了几个小时谷歌搜索,我只是找不到解决方案,这并不复杂。 我想创建一个包含图像和文本的表。 我希望桌子的每一行都有相同的高度。 我希望文本始终从顶部开始。 即
\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]没有帮助。 我完全错了什么,因为我不能成为唯一想要这个的人。
也许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用户更多的调整。 然而,这种灵活性可能会让你解决问题,在“只是让事情变得有效”的方式。
希望能帮助到你。
根据我的理解,问题是LaTeX将包含的图形视为单行文本,恰好在线上方延伸了一点,所以该行的顶部仍然只是字体大小高于基线,而不是在图像的顶部,因此与它的对齐不会很好地工作。
我似乎通常解决这个问题的方法是将文本包装在合适的parbox
,就像这样
\includegraphics{aImage.eps} & \parbox[b]{0.4\linewidth}{(*)Some text\vspace{3\baselineskip}}
这里的要点是我将底部parbox
与图像的底部对齐,然后在其底部添加垂直空间,使其垂直空间的底部对齐,文本在顶部对齐。 当然,宽度(这里是0.4\\linewidth
)和所需的垂直空间(这里是3\\baselineskip
)你需要根据表格单元格的宽度和图像的高度来确定自己,所以这个解决方案并没有真正概括你可能只是宏观的东西。 尽管如此,在需要时使用它仍然相当简单,即使它需要一些手动调整才能使对齐正确。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.