更改附录的图形编号 - 使用端浮动和双倍行距时

更改附录的图形编号 - 使用端浮动和双倍行距时

我正在尝试更改文档附录中的图号格式。我还想在文档中使用双倍行距并使用包endfloat。对于仅更改图号格式的基本情况,我可以完美地遵循此示例回答对于这个问题:更改附录的图号。但是,当我尝试添加两个都包装endfloat和双倍行距,解决方案就失败了。奇怪的是,单独使用它们都可以正常工作。下面是一个基于上面引用的答案的最小工作示例。如果我做任何一个通过以下两种修改,示例成功改变了图形编号的格式,但缺少了这一点,它并没有:

  1. 注释掉\begin{spacing}{2}\end{spacing}

  2. 注释掉\usepackage[notablist,nofiglist,nomarkers]{endfloat}\processdelayedfloats

\documentclass{article}
\usepackage[notablist,nofiglist,nomarkers]{endfloat}  %% places all figures and tables at the end.
\usepackage{setspace} % Allows for double spacing
\begin{document}

\begin{spacing}{2}

Body Text.

\begin{figure}
\centering\rule{1cm}{1cm}
\caption{This is a figure}
\end{figure}

\processdelayedfloats  

\appendix
\renewcommand\thefigure{\thesection.\arabic{figure}}    
\section{Appendix}
\setcounter{figure}{0}

Appendix Text.

\begin{figure}
\centering\rule{1cm}{1cm}
\caption{This is a figure in appendix A}
\end{figure}

\end{spacing}
\end{document}

我也尝试了建议的解决方案这里。我不相信它有效,但问题中没有提供任何可重现的例子,答案也没有明确说明如何/在何处实现它,因此可能存在一种使用这些技术的机制,而我却无法理解。

答案1

引入的嵌套\begin{spacing}...\end{spacing}阻止了\thefigure按预期工作——所做的更改仅在本地进行,但不能在外部工作,即在文档末尾的\renewcommand写入过程中,即超出环境范围。解决方案是使用以全局启用更改。endfloatspacing\gdef\thefigure{...}

这当然会改变任何\thefigure事情,但由于这是在附录中完成的,所以在我看来,这应该不会造成麻烦。

\documentclass{article}
\usepackage[notablist,nofiglist,nomarkers]{endfloat}  %% places all figures and tables at the end.
\usepackage{setspace} % Allows for double spacing
\begin{document}

\begin{spacing}{2}

Body Text.

\begin{figure}
\centering\rule{1cm}{1cm}
\caption{This is a figure}
\end{figure}

\processdelayedfloats  

\appendix
\gdef\thefigure{\thesection.\arabic{figure}}    
\section{Appendix}
\setcounter{figure}{0}

Appendix Text.

\begin{figure}
\centering\rule{1cm}{1cm}
\caption{This is a figure in appendix A}
\end{figure}

\end{spacing}
\end{document}

在此处输入图片描述

相关内容