在 Latex 的命令中,为什么我们只使用小写?

在 Latex 的命令中,为什么我们只使用小写?

在 Latex 的命令中,我发现所有命令都是小写的?这样很难区分单词?我们为什么不使用 CamelCase?有什么原因吗?

答案1

大多数 LaTeX 文档命令都是小写的,但这并不普遍:核心中有类似的东西\Phi,如评论中指出的那样,但也有一些包添加了一些混合或大写的命令。可能最明显的混合大小写命令就是\LaTeX它自己!然而,有人可能会说,文档命令的模式就像你说的那样,它们是小写的,除了将某些字符大写具有直接语义含义的情况:希腊语/俄语大写字符的命令、徽标等。

设计/软件包命令往往采用驼峰式大小写。这使得它们“脱颖而出”,主要针对软件包作者。例如,在软件包中,您可能会看到\ProvidesPackage\DeclareRobustCommand等。这些在文档中通常并不常见。

全大写命令的数量非常有限。对我来说最明显的命令\SI来自我的siunitx包,但还有其他命令。一般来说,尽量避免使用全大写。这使得该区域的名称对于调试非常有用:\ERROR例如,LaTeX 团队经常在创建错误条件时将其用作占位符。

答案2

这是一个任意的惯例,但保持一致很重要。如果 Donald E. Knuth 有时使用小写字母,有时使用驼峰式字母表,有时使用 PascalCase,用于 TeX 基元,那么记住命令是\baselineskip\baselineSkip还是\BaselineSkip,或者是就会困难得多\BaseLineSkip。原始设计中的少数例外非常合乎逻辑,例如\Theta大写字母\theta\TeX与徽标的字体相匹配。Leslie Lamport 最初也坚持使用这种格式来处理 LaTeX(除了前面提到的 ,\LaTeX遵循 的示例\TeX)。

事实上,大多数较新的 LaTeX 内核命令遵循不同的约定,对于 expl3 语法中的任何内容,要么是\PascalCase,要么是 。因此,,但是,并且您只需要记住任何给定命令是否比更改旧还是新。在这里,记住命令几乎总是较新的会有所帮助。对于诸如 之类的东西,它们不可能与 TeX 原语 发生冲突,不是吗?但是对于和 之类的命令,您只需逐个记住它们即可。其他一些软件包(例如)使用,这让我困扰了不止一次。您可能会或可能不会同意这个决定,但至少如果您知道该命令来自哪个模块以及它使用哪种约定,您就可以保持直线。\scope_snake_case_type:xyz\newcommand\DeclareRobustcommand\Declare\IfFileExists\if\providecommand\ProvidesPackageucharclasses\camelCase

相关内容