就像这个问题,我想自动对文档中的一些常量进行编号。一个相对简单的方法是创建一个新的计数器,在第一次使用时为每个常量分配一个标签,然后在文档中稍后引用它(请参阅这些 答案)。
不过,我希望能够使用我的常量使用相同的命令在整个文档中,并根据第一次使用进行编号,以便以下示例可以起作用:
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}