在此示例中
\documentclass{article}
\usepackage{graphicx}
\usepackage{lipsum}
\usepackage{wrapfig}
\begin{document}
foo \begin{minipage}[t]{.9\linewidth}
\lipsum[1]
\end{minipage}
bar \begin{minipage}[t]{.9\linewidth}
\begin{wrapfigure}{r}{0pt}
\includegraphics[width=3cm]{example-image-a}
\end{wrapfigure}
\lipsum[2]
\end{minipage}
\end{document}
第一个小页的垂直对齐符合要求,第一行\lipsum
与外部完美对齐foo
。
然而,在第二个小页面中,文本的垂直对齐被关闭。这是因为wrapfigure
在 的顶部创建了一个基线minipage
,这样第一个实际行的基线位置就不再可用了。这导致小页面的最顶部与 的基线对齐bar
。
有什么办法吗
- 恢复该信息
或者
- 强制第一行的基线与小页面的顶部保持特定的距离,以便小页面可以升高特定的量?
答案1
我找到了一种实现第二种选择的方法,即插入一个支柱并相应地调整 minipage。该adjustbox
软件包提供了所需的一切:
\documentclass{article}
\usepackage{graphicx}
\usepackage{lipsum}
\usepackage{wrapfig}
\usepackage{calc}
\usepackage{adjustbox}
\newlength{\strutheight}
\begin{document}
\settoheight{\strutheight}{\strut}
foo \begin{minipage}[t]{.9\linewidth}
\lipsum[1]
\end{minipage}
bar \begin{adjustbox}{valign=T,raise=\strutheight,minipage={.85\linewidth}}
\begin{wrapfigure}{r}{0pt}
\includegraphics[width=3cm]{example-image-a}
\end{wrapfigure}
\strut \lipsum[2]
\end{adjustbox}
\end{document}