目前,附录中的浮动元素也重新定位到了文档末尾。有没有办法将它们从 endfloat 中排除?
答案1
这既使用\processdelayedfloats
又创建一个新环境。(没有它也可以工作\processdelayedfloats
,但数字计数器会变得混乱。)
\documentclass{article}
\usepackage{endfloat}
\makeatletter
\newenvironment{nodelay}[1][tp]{\@float{figure}[#1]}{\end@float}
\makeatother
\begin{document}
text 1
\begin{figure}
\caption{endfloat test}
\end{figure}
text2
\processdelayedfloats
\begin{nodelay}[h]
\caption{nodelay test}
\end{nodelay}
\end{document}
答案2
该endfloat
包使用一个名为的宏\efloat@restorefloats
来恢复其已重新定义的所有环境的旧定义。
因此,紧接着使用\csname efloat@restorefloats\endcsname
(或)即可完成此工作:\makeatletter\efloat@restorefloats\makeatother
\processdelayedfloats
\documentclass{article}
\usepackage{endfloat}
\begin{document}
\section{Whatever}
\begin{figure}
\caption{Figure 1}
\end{figure}
\begin{table}
\caption{Table 1}
\end{table}
\processdelayedfloats
\csname efloat@restorefloats\endcsname
\section{Appendix}
\begin{figure}
\caption{Figure 2}
\end{figure}
\begin{table}
\caption{Table 2}
\end{table}
\end{document}
缺点:这使用了软件包的内部命令endfloat
。但由于它已经存在很长时间了(我在网上能找到的最旧版本是 1995 年的 v2.4),所以它不太可能在未来消失。