使用 \DeclareKeys 作为文档作者/设计者

使用 \DeclareKeys 作为文档作者/设计者

假设我想使用一个包l3keys对于它的选项,例如我想使用打印数字siunitx\num。我用我想要的默认选项加载它(例如只是\usepackage{siunitx}),但有一个重复的用例,其中我想将许多不同的设置传递给\num。我不想每次都输入所有选项,而是有一个自定义的快捷键来为我完成它(例如\num[foo]{<number>}。我应该只\DeclareKeys在序言中使用吗?例如

\DeclareKeys[siunitx]{
  foo .meta:n = {
      round-mode      = figures     ,
      round-precision = 3           ,
      exponent-mode   = scientific  ,
    },
}

此宏的文档位于clsguide.pdf并且没有提到usrguide.pdf这让我不确定它是否适合这样的用例。向“命名空间”添加键也感觉有点奇怪siunitx,但我猜这对于预期用途来说是不可避免的。

答案1

pgf向包命名空间添加键在概念上与声明键时的操作完全相同.style,只是您可能没有注意到它。(我同意这很可能应该记录下来,并指导什么是良好做法。)

具体来说,如果您想直接添加到,siunitx那么您可以使用\DeclareKeys,但我认为最好将其视为 API 的“程序员”使用并\keys_define:nn在上下文中使用\ExplSyntaxOn。(所有siunitx程序员 API 都是正式记录的,因此您可以依赖此命名空间中的键的名称 - 手册中明确提到了这一点。)

相关内容