在每个附录环境中重置节计数器

在每个附录环境中重置节计数器

我正在尝试使用以下命令创建以下简单文档结构(但不仅仅包含两个部分)scrartcl

文档结构

我习惯\counterwithin*{section}{part}对部分内的章节进行编号。对于附录,我希望该appendix包是解决方案:

\documentclass{scrartcl}

\usepackage{appendix}
\usepackage{chngcntr}
\usepackage{hyperref}

\counterwithin*{section}{part}

\begin{document}

\part{First Part}
\section{First Section} \label{sec:first-first}
\section{Second Section}

\begin{appendices}
    \section{First Appendix} \label{sec:app-first-first}
    \section{Second Appendix}
\end{appendices}

\part{Second Part}
\section{First Section} \label{sec:second-first}
\section{Second Section}
\begin{appendices}
    \section{First Appendix} \label{sec:app-second-first}
    \section{Second Appendix}
\end{appendices}

\end{document}

问题:这似乎忽略了\counterwithin。第二部分()中的第一个附录sec:app-second-first编号为“C”,而不是预期的“A”。

我尝试过的方法

  1. 明确添加\AtBeginEnvironment{appendices}{\counterwithin*{section}{part}}没有效果。
  2. 我也试图避免使用包,只在每个附录之前和之后appendix添加,但这会造成混淆:和都会跳转到。\setcounter{section}{0} \renewcommand{\thesection}{\Alph{section}}\renewcommand{\thesection}{\arabic{section}}hyperrefsec:app-first-firstsec:app-second-firstsec:first-first
  3. [更新] 我发现 (2) 中的解决方法与hypertexnames=false作品(全 MWE),但使用appendices环境似乎是“更清洁”的,受到推崇的解决方案,我仍然想知道如何调整其中的编号appendices

问题:我怎样才能在每个环境中重置部分计数器appendices(不破坏超链接)?

答案1

附录包添加了几个新的计数器:@ppsaveapp@ppsavesec。我尝试了\counterwithin它们两个,但只@ppsaveapp产生了差异。

\documentclass{scrartcl}

\usepackage{appendix}
\usepackage{chngcntr}
\usepackage{hyperref}

\counterwithin*{section}{part}
\counterwithin*{@ppsaveapp}{part}

\begin{document}

\part{First Part}
\section{First Section} \label{sec:first-first}
\section{Second Section}

\begin{appendices}
    \section{First Appendix} \label{sec:app-first-first}
    \section{Second Appendix}
\end{appendices}

\part{Second Part}
\section{First Section} \label{sec:second-first}
\section{Second Section}
\begin{appendices}
    \section{First Appendix} \label{sec:app-second-first}
    \section{Second Appendix}
\end{appendices}

\end{document}

答案2

添加\appendix而不是\begin{appendices}...\end{appendices}可能会解决您的问题。

完整工作示例:

\documentclass{scrartcl}

\usepackage{appendix}
\usepackage{chngcntr}
\usepackage{hyperref}

\counterwithin*{section}{part}

\begin{document}

\part{First Part}
\section{First Section} \label{sec:first-first}
\section{Second Section}

\begin{appendices}
    \section{First Appendix} \label{sec:app-first-first}
    \section{Second Appendix}
\end{appendices}

\part{Second Part}
\section{First Section} \label{sec:second-first}
\section{Second Section}
\appendix
\section{First Appendix} \label{sec:app-second-first}
\section{Second Appendix}


\end{document}

相关内容