![wrapfigure 在页面末尾截断图像](https://linux22.com/image/245167/wrapfigure%20%E5%9C%A8%E9%A1%B5%E9%9D%A2%E6%9C%AB%E5%B0%BE%E6%88%AA%E6%96%AD%E5%9B%BE%E5%83%8F.png)
我使用了这里让文本环绕图像,但每当我在页面末尾附近放置一张长图像时,它就会超出页面范围并被截断。我该如何解决这个问题?
答案1
在定位包装的浮动元素时,可以指定大写L
或R
来代替小写l
, r
。这样可以让wrapfigure
环境浮动,而 LaTeX 可以移动它以避免页面溢出。
答案2
您可以将以下内容添加到文档序言中:
\makeatletter
\newcommand{\checkheight}[1]{%
\par \penalty-100\begingroup%
\setbox8=\hbox{#1}%
\setlength{\dimen@}{\ht8}%
\dimen@ii\pagegoal \advance\dimen@ii-\pagetotal
\ifdim \dimen@>\dimen@ii
\break
\fi\endgroup}
\makeatother
然后使用
\checkheight{\includegraphics[..]{...}}
\begin{wrapfigure}...\end{wrapfigure}
检查图像是否适合页面。如果适合,则不会发生任何事情。如果不适合,则发出中断(页面或列),因此下一个段落将从新页面开始。
上述代码取自极简needspace
包裹。