简单而强大的方法,垂直对齐文本和图像

简单而强大的方法,垂直对齐文本和图像

是否有任何语法上简单且强大的解决方案来将图像放置在具有正确垂直对齐方式(和吸引人的水平间距)的文本右侧(或左侧)?

语法上简单,我的意思是它应该至少像下面(不起作用的)最小示例一样简单。取消注释这些行%\hspace{1ex}% \null\hfill\\[-\dimexpr\baselineskip+0.7em\relax]使其工作,但语法上不再简单。特别是因为您需要0.7em手动调整(在其他用例中可能是另一个值),这使得使用起来很麻烦。

所谓稳健,我的意思是它也应该适用于列表而不是文本,以及定理环境内部(特别是来自ntheorem);比较:在定理环境中使用 minipage 进行间距 (ntheorem)

tikz与使用图像相比,使用图片时其工作方式应该相同pstricks

据我所知,类似wrapfig或类似的东西picins在这一点上并不强大。

请注意,我不需要像上面的包中那样让文本环绕图像(但这也可以)。

\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{lipsum}


\begin{document}

\begin{minipage}[t]{0.6\linewidth}
  \lipsum[1]
\end{minipage}%
%\hspace{1ex}
\begin{minipage}[t]{0.4\linewidth}
%  \null\hfill\\[-\dimexpr\baselineskip+0.7em\relax]
  \includegraphics[draft,height=4cm, width=5cm]{imageName}
\end{minipage}
\end{document}

在此处输入图片描述

答案1

您正在使用[t]它们将两者minipage在其顶行的基线上对齐。

在第二种情况下,minipage这是图像的基线。

使用[b]或默认设置[c]将使布局更合理。如果你想使用, [t]那么第二个minpage实际上并没有做任何事情,你可以轻松地使用

\begin{minipage}[t]{0.6\linewidth}
  \lipsum[1]
\end{minipage}%
\includegraphics[draft,width=.4\linewidth]{imageName}

(不要一起使用height和,width除非你使用keepaspectratio

为了使它看起来更好,你需要将图像的基线移到顶部或靠近顶部。传统上,这可以通过

\raisebox{-\height}{\includeimage....}

尽管该adjustbox软件包使得添加tT对齐选项变得更容易\includegraphics

请注意,所有这些只是关于对齐框的一般考虑,并没有关于minipage或的具体内容\includegraphics

相关内容