如何让两个现有的计数器真正同步?

如何让两个现有的计数器真正同步?

在我的文档中,有一个对象应该与 共享相同的计数器(值)section,也就是说,当计数器section发生变化时,它应该相应地变化,反之亦然。我通过将\c@...和设置\the...为与 相同来实现这一点section

但是,使用此方法,当我的自定义计数器改变其值时(的值也会相应改变),在(例如)section内编号的子计数器不会被重置。sectionsubsection

例如,在下面的 MWE 中,我希望第二小节被编号1.1而不是1.2\stepcounter{testcounter}已经改变了计数器的值section,但是,与不同\stepcounter{section},子计数器subsection在这里不会被重置)。

如何实现这一目标?

\documentclass{article}

\begin{document}

\newcounter{testcounter}

\makeatletter
\ExplSyntaxOn

\cs_new:Nn \mymodule_counter_alias:nn
  {
    \cs_set_eq:cc { c@ #1 } { c@ #2 }
    \cs_set_eq:cc { the #1 } { the #2 }
  }

\mymodule_counter_alias:nn { testcounter } { section }

\ExplSyntaxOff
\makeatother

\subsection{Test}

\stepcounter{testcounter} % 1.2
% \stepcounter{section}   % 1.1

\subsection{Test}

\end{document}

相关内容