我在使用某些图形+标题时遇到了麻烦\afterpage
,这些图形调整得太过或直接超出了文档的页边距(我认为这是导致\afterpage
表现异常的原因)。我不介意这些图形超出页边距,但我需要将它们放置在靠近引用的位置,并且它们不断被推到文档末尾,留下大片空白。有人有解决方法吗?
图片是我得到的一个例子,我希望图片和标题放在第二页,其余文本放在最后一页。我搜索了论坛,但找不到合适的解决方案。
谢谢你!
梅威瑟:
\documentclass[a5paper,twoside,openright]{report}
\usepackage{lipsum}
\usepackage{showframe}
\usepackage{afterpage}
\usepackage{mwe}
\usepackage[fontsize=9pt]{scrextend}
\begin{document}
\lipsum[2-3]
*********After page goes here**********
% It works with a short caption:
%
%\afterpage{%
%
%\begin{figure*}
%
% \makebox[\textwidth][c]{
%
% \includegraphics[width=\textwidth]{example-image}}
%
% \caption[A caption]{Short caption.}
%
%\end{figure*}
%}
% It does not work with a long caption:
\afterpage{%
\begin{figure*}
\makebox[\textwidth][c]{
\includegraphics[width=\textwidth]{example-image}}
\caption[A caption]{\lipsum[1]}
\end{figure*}
}
\lipsum[2-3]
\end{document}
答案1
在您使用的形式中,只能\afterpage
使浮动远离插入点,或者最多没有任何效果,因为它会延迟插入,但随后会像往常一样浮动。我猜您打算\clearpage
在之后\end{figure}
,但我根本不会\afterpage
在这里使用。
此外,由于它是单列文档,因此figure
不使用figure*
(尽管它们是相同的),并且\makebox
不执行任何操作,因为图像已经缩放到\textwidth
。
\clearpage
该图形将浮动,直到由于尺寸过大而被强制移出,LaTeX 警告
LaTeX Warning: Float too large for page by 13.15417pt on input line 43.
\afterpage
并没有改变这一点。
您可以使用\clearpage
(或\afterpage{\clearpage}
),但我只会使浮动更小,如警告所示,14pt 就足够了,然后确保它不是顶部浮动,因此负空间不会过度打印下面的文本。
\documentclass[a5paper,twoside,openright]{report}
\usepackage{lipsum}
\usepackage{showframe}
\usepackage{afterpage}
\usepackage{mwe}
\usepackage[fontsize=9pt]{scrextend}
\begin{document}
\lipsum[2-3]
*********After page goes here**********
\begin{figure}[bp]
\includegraphics[width=\textwidth]{example-image}
\caption[A caption]{\lipsum[1]}
\vspace{-14pt}
\end{figure}
\lipsum[2-3]
\end{document}