如何修复带有内部环绕图形的迷你页面的垂直对齐问题

如何修复带有内部环绕图形的迷你页面的垂直对齐问题

在此示例中

\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. 恢复该信息

或者

  1. 强制第一行的基线与小页面的顶部保持特定的距离,以便小页面可以升高特定的量?

答案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}

相关内容