如何强制使用命令别名?

如何强制使用命令别名?

我尝试在我的论文中使用描述性宏来提高灵活性,以便将来可以改变符号。

\documentclass{article}
\pagestyle{empty}

\def\energy{\gamma}

\begin{document}
  Suppose that $\energy = 10$ joules...
  Many paragraphs later we recall that $\gamma = 10$ joules.
\end{document}

现在我的论文很长,有时我会忘记使用 \energy 宏,而只是输入 \gamma。有什么方法可以让 latex 警告我或阻止我在文档的任何地方使用 \gamma?

答案1

困难的是

\newcommand\energy{} % check whether \energy is already defined
\let\energy\gamma
\let\gamma\undefined

那么每次使用时,LaTeX 都会给出错误“未定义的控制序列” \gamma

答案2

我以为你可以用

\expandafter\def\expandafter\energy\expandafter{\gamma}
\let\gamma\energy

如果可扩展的话,这个方法应该可以工作\gamma,但奇怪的是它不能。下面的方法可以工作:

\def\energy{\mathchar"10D}
\let\gamma\energy

\gamma它需要知道我通过写作得到了什么含义\show\gamma。我不知道这有多强大。

相关内容