包含包名称的宏名称的命名约定

包含包名称的宏名称的命名约定

背景

许多软件包提供的命令以软件包的全名或缩写作为命令名的一部分。有时软件包名称(或缩写)位于命令名的开头,有时则位于后面。例如,许多软件包都提供设置宏。有时其形式为 ,\set<pkg><param>而在其他情况下我们有\<pkg>set<param>。一个例子是\setbeamercolor\pgfsetarrowoptions。我相信pgfbeamer都是由同一作者创建的。还有一些情况是,软件包提供的命令执行的操作类似于内置命令,因此名称也相似。因此,我们有from和from\input形式的变体。\VerbatimInputfancyvrb\inputmintedminted

问题

当命令名称包含包名称(或缩写)时,包名称出现的位置是否有任何约定?我主要考虑的是针对用户的宏,而不是内部宏或针对包编写者的宏。将包名放在命令名的开头比将包名放在后面有什么好处吗?还是只是个人喜好问题?是否有理由偏爱其中一种方法而不是另一种方法?

反思

我能想到每种方法可能都有用的一些可能原因。将包名称(缩写)放在首位可以使命令名称具有良好的统一性,因此当有很多命令命名(pgf可能是一个例子)。同时,将包名称放在后面可能会使命令听起来更像自然语言或听起来更活跃,因此可能更容易记住(在这种\input情况下,我们想要一种特定类型的\input)。

答案1

就我个人而言,我更喜欢后缀

\getthemacro@cx \andaddto@cx \checkthereadabilty@cx 

并比较

\cx@getthemacro@cx \cx@andaddto \cx@checkthereadabilty 

对于用户来说也许GetTheMacro如果你遵循 LaTeX2e 约定,说实话我不太喜欢...

我猜这是个人偏好,如果我转向具有标准约定的 LaTeX3,它注定会消失。

相关内容