宏名称中只有一个数字,如 \2,这是一种不好的做法吗?

宏名称中只有一个数字,如 \2,这是一种不好的做法吗?

我知道不建议使用宏,\H0因为它包含非字母字符。

但是,如果宏名称\2只有一个数字,LaTeX 却允许使用,这很不妥。这是一种不好的做法吗?

例如,很容易让\2成为一半的快捷方式,即:

\newcommand{\2}{\frac{1}{2}}

答案1

用单个数字定义控制序列是否是一种不好的做法,完全是个人观点的问题。

在纯文本中,这些是“开放”的,以供作者临时使用,并且据我所知,没有公共的 latex 包将它们定义为除“临时”用途之外的任何用途。(但我可能错了;有很多包我还没有探索过。)

我不建议创建一个为一位数控制序列分配“永久”定义的包;而是让它们可供最终用户使用。

答案2

不是一个答案,但这里有一个提示,由AJ希尔德布兰德,使用单字母宏:

避免使用单字母宏

许多单字母序列具有预定义的含义,因此如果您尝试将它们用于自己的宏,则会导致冲突。大多数这些单字母宏都是 TeX 核心的一部分,通常不会在 Latex 书籍中记录。因此,如果宏未列在 Latex 书籍的索引中,并不意味着它未被使用。要确定宏未被使用,除了全面的 Latex 参考资料外,您还必须查看原始的 Knuth TeXbook。

通过在宏名称中使用至少两个字母,您可以在很大程度上避免遇到此类问题。虽然存在一些(不明显的)具有预定义含义的双字母序列(例如 \aa),但这些序列非常罕见,绝大多数双字母序列都可以用作宏名称。例如,要定义 \mathbf{v},请使用 \vv 或 \bv(表示“粗体 v”),而不是 \v。后者 \v 是预定义的,而 \vv 和 \bv 都可用。

他的网站提供了更多有关 LaTeX 的其他有用技巧,如果感兴趣的话可以仔细阅读。

相关内容