强制浮动至 pdf 末尾,每章数量,带附录

强制浮动至 pdf 末尾,每章数量,带附录

这个问题是强制浮动至 PDF 末尾,但保留每章的编号(两个版本的 PDF 文档)

与原帖一样,我希望我的文档有一个版本,其中所有图表都放在末尾。图表的编号应与文档的正常文本中的编号相同(图 1.1、图 1.2 是第 1 章中的前两个图表)。

链接帖子中的解决方案效果很好,直到我添加附录。附录命令使章节从 A 开始,因此第 1 章的前两个图的标题为 A.1 和 A.2(第 2 章的第一个图的标题为 B.1)。我尝试 \setcounter{chapter}{0} 在附录后添加,但这没有帮助。

代码看起来非常接近我想要做的。是否有一些简单的附加功能可以使其与附录配合使用?谢谢!

以下是 MWE:

\usepackage{etoolbox}
\usepackage{appendix}

\usepackage[nomarkers]{endfloat}
\makeatletter
\@ifpackageloaded{endfloat}
{
 \efloat@condopen{fff}
 \pretocmd\@chapter{\immediate\write\efloat@postfff{\noexpand\stepcounter{chapter}}}{}{\fail}
 \AtBeginFigures{\setcounter{chapter}{0}}
}{}
\makeatother
\usepackage{hyperref}
\begin{document}
\chapter{A}
\begin{figure}
\caption{a figure in chapter 1}\label{fig:1}
\end{figure}

\begin{figure}
\caption{a second figure in chapter 1}
\end{figure}

see \ref{fig:1} and \ref{fig:2}

\chapter{B}
\begin{figure}
\caption{a figure in chapter 2}
\end{figure}

\begin{figure}
\caption{a second figure in chapter 2}\label{fig:2}
\end{figure}

\appendix 

\chapter{Appendix A}
this is the appendix 

\setcounter{chapter}{0} % <-- no difference 
% \renewcommand{\thechapter}{\numeric{\the\value{\chapter}}} % <-- this causes an error but maybe on the right track? 

\end{document}

答案1

我采用了不同的方法,将计数器值复制到 fff 文件。由于\setcounter没有激活\counterwithin,我还重置了图形计数器。

\documentclass{report}
\usepackage{etoolbox}
\usepackage{appendix}

\usepackage[nomarkers]{endfloat}
\makeatletter
\apptocmd{\@chapter}{\addtodelayedfloat*{figure}{\string\setcounter{chapter}{\arabic{chapter}}}%
  \addtodelayedfloat*{figure}{\string\setcounter{figure}{0}}}{}{FAILED}
\makeatother

\usepackage{hyperref}
\begin{document}
\chapter{A}
\begin{figure}
\caption{a figure in chapter \thechapter}\label{fig:1}
\end{figure}

\begin{figure}
\caption{a second figure in chapter 1}
\end{figure}

see \ref{fig:1} and \ref{fig:2}

\chapter{B}
\begin{figure}
\caption{a figure in chapter 2}
\end{figure}

\begin{figure}
\caption{a second figure in chapter 2}\label{fig:2}
\end{figure}

\appendix 

\chapter{Appendix A}
this is the appendix 

\renewcommand{\thechapter}{\arabic{chapter}}% not \Alph{chapter}
\end{document}

只是为了好玩:

\documentclass{report}
\usepackage{etoolbox}
\usepackage{appendix}

\usepackage[nomarkers]{endfloat}
\makeatletter
\apptocmd{\@chapter}{\addtodelayedfloat*{figure}{\string\renewcommand{\string\thechapter}{\thechapter}}%
  \addtodelayedfloat*{figure}{\string\setcounter{figure}{0}}}{}{FAILED}
\makeatother

\usepackage{hyperref}
\begin{document}
\chapter{A}
\begin{figure}
\caption{a figure in chapter \thechapter}\label{fig:1}
\end{figure}

\begin{figure}
\caption{a second figure in chapter 1}
\end{figure}

see \ref{fig:1} and \ref{fig:2}

\chapter{B}
\begin{figure}
\caption{a figure in chapter 2}
\end{figure}

\begin{figure}
\caption{a second figure in chapter 2}\label{fig:2}
\end{figure}

\appendix 

\chapter{Appendix A}
this is the appendix 

\end{document}

相关内容