LaTeX tips: 计数器重置

可以利用 \@addtoreset 将一个计数器加到另一个计算器, 使得第二个被增量及重置时第一个计数器会重置为 0. 但从计数器的重置列解除重置要麻烦一些:
\makeatletter
\def\rmreset#1#2{%
 \begingroup
 \def\@elt##1{%
   \expandafter\ifx\csname c@#1\expandafter\endcsname\csname c@##1\endcsname
   \else\noexpand\@elt{##1}\fi
 }
 \expandafter\xdef\csname cl@#2\endcsname{\csname cl@#2\endcsname}%
 \endgroup
}%
\makeatother
然后, 比如, 你可以这样用: \rmreset{subsection}{section}

No comments: