这个问题是强制浮动至 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}