我知道每次增加时\newcounter{newctr}[oldctr]
都会重置newctr
为 0。我怎样才能始终拥有完全相同的值?oldctr
newctr
oldctr
换句话说,我该如何指定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 都会增加两者。