计数器始终等于其他计数器(始终如此)

计数器始终等于其他计数器(始终如此)

我知道每次增加时\newcounter{newctr}[oldctr]都会重置newctr为 0。我怎样才能始终拥有完全相同的值?oldctrnewctroldctr

换句话说,我该如何指定newctr指定未重置递增每当oldctr增加?

您可能想知道为什么我需要始终使用完全相同的值来计数。这是因为我已定义\subsubsection使用斜体标题但使用直数字:

\renewcommand\thesubsubsection
            {\textup{\thesubsection.\arabic{subsubsection}}}

但是,当我定义一个\newtheorem{foo}[subsubsection]{Something}时,语句的数字foo被直接排版(尽管我希望它是斜体),因为\thesubsubsection包含\textup命令。所以我认为如果我有另一个计数器subsubsectionitalics,其值与 相同,subsubsection但不同\thesubsubsectionitalics,那么我的问题就解决了,我只需要将foo语句定义为\newtheorem{foo}[subsubsectionitalics]{Something}

我尝试subsubsectionitalics使用以下内容定义一个新的计数器\thesubsubsectionitalics

\newcounter{subsubsectionitalics}[subsection]
\renewcommand\thesubsubsectionitalics
            {\thesubsection.\arabic{subsubsection}}

但它不起作用:虽然在\thesubsubsectionitalics命令定义中我不要使用计数器的值subsubsectionitalics,但我得到的却是零值。(为什么?)

答案1

这实际上是对系统的滥用,更好的做法是只显示\thesubsection数字,而让字体根据部分布局自行改变。

但如果你去

\makeatletter
\let\c@foo\c@subsection
\newcommand\thefoo{\arabic{foo}}

然后\thesubsection\thefoo可以分别指定,并且增加 foo 或 subsection 都会增加两者。

相关内容