wrapfig 未检测到段落

wrapfig 未检测到段落

使用 wrapfig 时我遇到了一些奇怪的行为,涉及使用命令(acro 包)来开始一个段落(类似于此:lettrine 和 wrapfig)。Wrapfig 无法检测段落的开始,更糟糕的是,它无法检测段落的结束。

有没有什么办法可以解决这个问题?谢谢。

数学方程

\documentclass[12pt]{memoir}

\usepackage{wrapfig}
\usepackage{acro}
\usepackage{lipsum}

\DeclareAcronym{bosscha}{   short =     {Bosscha},   long =      {Johannes Bosscha Jr\acdot}, }

\begin{document}

\begin{wrapfigure}{R}{0.4\textwidth}
    \centering 
    \rule{3cm}{7cm}
    \caption{V.S.M. van der Willigen}
\end{wrapfigure}

\ac{bosscha}, 17 years of age, \lipsum

\end{document}

平均能量损失

编辑:

使用答案中的 InsertBoxR 解决方案时我遇到了一些布局问题。

脚本: \InsertBoxR{0}{\begin{minipage}[t]{0.4\textwidth} \centering \includegraphics[width=0.95\textwidth]{./Figures/06vdWilligen} \captionof{figure}{\acl{willigen}} \end{minipage}}[2] 结果: 使用 InsertBoxR。不理想的是换行符和标题似乎覆盖了未换行的文本。

Wrapfig 看起来像这样(如果我们解决 list/acro 问题)。使用 Wrapfig。图片上方的空间很漂亮,没有包裹问题

PS:我在使用wrapfig和color包的时候也遇到了类似的问题。

答案1

\ac在段落开头的本地组内开始段落,这会使 wrapfig 感到困惑。像 Anton 所说的那样开始段落,或者\mbox{}\ac{bosscha}或者leavevmode\ac{bosscha}或者\indent\ac{bosscha}。位置和换行将是正确的。

请注意,这在内部\ac确实如此\leavevmode,但不是在开始处,而是在分组内部。

答案2

你可以用insbox 纯 TeX宏包:使用\InsertBoxR{no of unshortened lines}{inserted object}[corrective number]

可选的修正数字是额外的较短行的数量,以防 TeX 无法计算出正确的数字。

您不能在此宏的第二个参数中使用浮动环境,因此只需插入图形,然后使用\captionof以下命令caption

\documentclass[12pt]{memoir}
\usepackage{caption}
\usepackage{acro}
\usepackage{lipsum}
\input{insbox}
\DeclareAcronym{bosscha}{ short = {Bosscha}, long = {Johannes Bosscha Jr\acdot}, }

\makeatletter
\@InsertBoxMargin=8pt %% default is 2 mm
\makeatother

\begin{document}

\setcounter{chapter}{3}
\InsertBoxR{0}{\begin{minipage}[t]{0.4\textwidth}
    \captionsetup{format=hang, justification=raggedright, font=small}
    \centering \rule{3cm}{7cm}
    \captionof{figure}{V.S.M. van der Willigen}
  \end{minipage}}[2]

\ac{bosscha}, 17 years of age, \lipsum

\end{document} 

在此处输入图片描述

答案3

尝试写 \mbox{\ac{bosscha}}而不是\ac{bosscha}

相关内容