如何根据首次使用对常量进行编号?

如何根据首次使用对常量进行编号?

就像这个问题,我想自动对文档中的一些常量进行编号。一个相对简单的方法是创建一个新的计数器,在第一次使用时为每个常量分配一个标签,然后在文档中稍后引用它(请参阅这些 答案)。

不过,我希望能够使用我的常量使用相同的命令在整个文档中,并根据第一次使用进行编号,以便以下示例可以起作用:

Here are some constants $\C{first}, \C{second}$.

Later, we reference $\C{first}$.
Actually, we forgot that $\C{important}$ should come first!
Here are some constants $\C{first}, \C{second}$.

Later, we reference $\C{first}$.

分别导致:

这里有一些常数$c_1, c_2$。

稍后我们引用$c_1$。

实际上,我们忘记了 $c_1$ 应该放在第一位!这里有一些常数 $c_2、c_3$。

稍后我们引用$c_2$。

如果有帮助的话,你可以假设我会使用该memoir课程。

答案1

在此处输入图片描述

或者取消注释第一行

在此处输入图片描述

\documentclass{memoir}

\newcounter{Ccnt}
\makeatletter
\newcommand\C[1]{%
\@ifundefined{C-#1}%
  {\stepcounter{Ccnt}\expandafter\xdef\csname C-#1\endcsname{\arabic{Ccnt}}}%
  {}%
c_{\csname C-#1\endcsname}}
\makeatother
\begin{document}

%Actually, we forgot that $\C{important}$ should come first!
Here are some constants $\C{first}, \C{second}$.

Later, we reference $\C{first}$.


\end{document}

相关内容