Wrapfigure 將影像放置在頁面的錯誤一側

Wrapfigure 將影像放置在頁面的錯誤一側

我正在使用 wrapfigure 將圖像放置在文件的外 (o) 邊緣。大多數情況下,它似乎工作正常,但有時圖像會放置在錯誤的一側。

您可以在第 3 頁上看到問題。

我認為這與某人幫助我編寫的一個命令有關,該命令強制結束了包裝圖環境:

\documentclass[10pt]{report}
\usepackage{graphicx}
\usepackage{wrapfig}
\usepackage[latin]{babel}
\usepackage{blindtext}
\usepackage{forloop}    
\usepackage[twoside,a4paper,portrait,lmargin=10mm,rmargin=10mm,tmargin=14mm,bmargin=9mm]{geometry}  
\begin{document}
% make a command, wrapfill, that forces the end of a wrapfigure
\makeatletter
\def\wrapfill{\par
  \ifx\parshape\WF@fudgeparshape
    \nobreak
    \ifnum\c@WF@wrappedlines>\@ne
      \advance\c@WF@wrappedlines\m@ne
      \vskip\c@WF@wrappedlines\baselineskip
      \global\c@WF@wrappedlines\z@
    \fi
    \allowbreak
    \WF@finale
  \fi
}
\makeatother
\newcounter{ct}
\forloop{ct}{1}{\value{ct} < 12 }%
{
\begin{wrapfigure}{o}{0pt}
  \includegraphics[width=12cm,height=25mm,keepaspectratio=true]{test.jpg}
\end{wrapfigure}
\blindtext
\blindtext
\wrapfill
}
\end{document}

tex 檔:https://www.dropbox.com/s/30rg37nv2dkpc56/t1.tex
測試.jpg:https://www.dropbox.com/s/w5y7ys7twvpmi9c/test.jpg

稍後我會發布 PDF 連結。由於聲譽 < 10,我只能包含 2 個連結。

知道我如何追蹤正在發生的事情或如何解決它嗎?

答案1

一篇相關文章似乎給了答案。

Wrapfigure 顯然在下一頁創建了虛擬空間

我需要將 \leavevmode 新增到 wrapfill 巨集的末尾:

\makeatletter
\def\wrapfill{\par
  \ifx\parshape\WF@fudgeparshape
    \nobreak
    \ifnum\c@WF@wrappedlines>\@ne
      \advance\c@WF@wrappedlines\m@ne
      \vskip\c@WF@wrappedlines\baselineskip
      \global\c@WF@wrappedlines\z@
    \fi
    \allowbreak
    \WF@finale
  \fi
\leavevmode
}
\makeatother

相關內容