我的论文有一个格式要求,即所有图表必须出现在首次提及的页面之后,并与任何文本分开。如果页面上提到了多个图表,它们可以放在不同的页面上。因此,如果我第一次在一页上提到 3 个图表,则接下来的 3 页将是图表。我在正确格式化它时遇到了问题。我无法执行,\clearpage
因为我不能让一页几乎是空白的,所以页面必须保持完整。我试过了\begin{figure}[p!]
,虽然它可以按我想要的方式对图表进行分组,但它并没有将它们放在正确的位置。
答案1
该flafter
包(在base
latex 发行版中)将阻止浮动“向后”浮动到当前页面的顶部。因此,如果您将图形源放在图形的第一个引用点,那么您的要求应该可以满足。
答案2
\begin{figure}[p!]
应该可以工作,但是您必须重新定义\floatpagefraction
,以便小图形可以位于它们自己的浮动页面上(它定义了需要被浮动图形占用的页面的最小部分,以便形成浮动页面。)
\documentclass{article}
\usepackage{lipsum}
\renewcommand\floatpagefraction{0} %default 0.5
\begin{document}
abc
\begin{figure}[!p]
FIGURE
\end{figure}
\lipsum \lipsum
\end{document}
答案3
这个例子实现了你所要求的功能,但你必须把它放在上下文中才能说它是一个通用的解决方案。
\documentclass{article}
\usepackage{lipsum}
\usepackage{afterpage}
\usepackage{color}
\usepackage[demo]{graphicx}
%------------------------------------------------
% Inspired by:
% https://tex.stackexchange.com/a/334993/231952
\usepackage{environ}
\def\afterpagebody#1{%
\afterpage{%%
\begin{figure}
\centering
#1
\end{figure}
\clearpage
}}
\NewEnviron{myfigure}{%%
\expandafter\afterpagebody\expandafter{\BODY}%%
}
%------------------------------------------------
\begin{document}
\section{A page with one figure}
\lipsum[1]
\textcolor{red}{See figure \ref{fig1}}
\begin{myfigure}
\includegraphics{test}
\caption{}\label{fig1}
\end{myfigure}
\lipsum[2-9]
\section{A page with three figures}
\lipsum[11]
\textcolor{red}{See figure \ref{fig2}}
\begin{myfigure}
\includegraphics{test}
\caption{}\label{fig2}
\end{myfigure}
\lipsum[11]
\textcolor{red}{See figure \ref{fig3}}
\begin{myfigure}
\includegraphics{test}
\caption{}\label{fig3}
\end{myfigure}
\lipsum[11]
\textcolor{red}{See figure \ref{fig4}}
\begin{myfigure}
\includegraphics{test}
\caption{}\label{fig4}
\end{myfigure}
\lipsum
\end{document}
答案4
你写了,
所有图表必须出现在首次提及的页面之后,并与任何文本分开。如果页面上提及了多个图表,则它们可以位于不同的页面上。... 我无法执行,
\clearpage
因为我不能让一页几乎空白,所以页面必须保持完整。
这后页包可能是你的朋友。
\documentclass{article}
\usepackage{afterpage}
\begin{document}
As shown in Figures \ref{fig:xxx}, \ref{fig:yyy}, and \ref{fig:zzz}, \dots
% right after the end of this paragraph:
\afterpage{%
\begin{figure}[p]
\caption{xxx} \label{fig:xxx}
\end{figure} \clearpage
\begin{figure}[p]
\caption{xxx} \label{fig:yyy}
\end{figure} \clearpage
\begin{figure}[p]
\caption{xxx} \label{fig:zzz}
\end{figure}
} % end of scope of `\afterpage` directive
\dots % remainder of document
\end{document}