使用 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]
结果:
Wrapfig 看起来像这样(如果我们解决 list/acro 问题)。
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}
。