问题标题确实说明了一切 - 你能抓住
\stepcounter{mycounter}
这可能归结为(我很可能错了)
\advance \mycounter by 1
这是可以钩住的东西吗?
编辑:
我不确定这是否有帮助,但用 LaTeX3 回答也是可以的:)
答案1
在这个特定情况下,是的,但你需要确定这个进步的基本组件。涉及的宏包括和\refstepcounter
。以下是它们的定义,取自\stepcounter
\addtocounter
latex.ltx
:
\def\refstepcounter#1{\stepcounter{#1}%
\protected@edef\@currentlabel
{\csname p@#1\endcsname\csname the#1\endcsname}%
}
\def\stepcounter#1{%
\addtocounter{#1}\@ne
\begingroup
\let\@elt\@stpelt
\csname cl@#1\endcsname
\endgroup}
\def\addtocounter#1#2{%
\@ifundefined{c@#1}%
{\@nocounterr{#1}}%
{\global\advance\csname c@#1\endcsname #2\relax}}
\refstepcounter
用于\stepcounter
进步,\stepcounter
用于\addtocounter
进步。所以,利用\addtocounter
是最好的。您可以更新它以连接到参数#1
(计数器)或#2
(数量/数字)。
如果您尝试接入页面计数器,则应考虑使用\label
-\pageref
系统,因为输出例程具有异步特性。为此,使用refcount
它提供了\setcounterpageref
和\getpagerefnumber
,这两者都可能有帮助。