假设在第3我有定理3.17. 我需要获取“17”,而不是“3.17”,后者可以使用\label
then轻松获得\ref
。我该怎么做?
编辑: (可能是一个更宽松的条件):我需要数字“17”大部分位于当前定理环境内或附近(正下方)。
答案1
如果你不想引用某个定理,而只是引用即将到来的定理的编号,那么说
\number\value{theorem}
在您想要的位置。(此解决方案假设theorem
是负责定理环境的计数器。)
正如用户 tohecz 之前所述,\ref
可以使用包来更改输出。varioref
如果要将计数器前进一,则有三种可能性,但不应同时应用:
\stepcounter{theorem}
或者
\refstepcounter{theorem}
或者
\addtocounter{theorem}{1}
如果您想添加(甚至减去)另一个值,可以应用最后一种方法 - 只需将数字“1”替换为正整数或负整数。
答案2
如果你只想知道计数器的当前值,theorem
你也可以使用
\the\value{theorem}
如果你想给这个值添加一个数字,你可以使用构造
\the\numexpr<calculation>\relax
例如,要将 1 添加到该值
\the\numexpr\the\value{theorem}+1\relax
以下是 MWE:
\documentclass{book}
\newtheorem{theorem}{Theorem}[chapter]
\begin{document}
\setcounter{chapter}{2} % only for the example
\chapter{Test}
\setcounter{theorem}{16} % only for the example
\begin{theorem}
This is my theorem
\end{theorem}
\noindent Here I want to know which is the number of the current theorem:
\the\value{theorem}
\noindent Here I want to know which is the number of the next theorem:
\the\numexpr\the\value{theorem}+1\relax
\end{document}
输出: