定义宏时如何在参数和键之间进行选择

定义宏时如何在参数和键之间进行选择

我想知道是否有针对程序包编写者的指南,指导他们如何将参数传递给宏。假设我正在编写一个用于排版标题页的程序包。有三个主要选项:

  1. LaTeX 宏样式\titlepage[color]{<title>}{<author>}
  2. 键值风格\titlepage{author=..., title=..., color=...}
  3. “声明式”风格\author{...}\title{...}\maketitlepage

现在,我更喜欢 2 和 3 而不是 1,因为它们不需要用户记住参数的顺序,它们更“有文化”,而且似乎更容易扩展。

此外,假设我想让我的标题页“可主题化”。混合“数据”(作者/标题)和“外观”(颜色)的键是否可以接受?key-val 是否更适合定制而不是内容规范?

我认为,以统一的传递方式为目标,使包裹的采用更加顺利,这一点很重要,但我找不到明确的指导方针。

答案1

我的经验法则是:如果可能的参数数量很少,并且除了一两个参数之外其他都是必需的,那么我会使用标准参数。如果数量很大,或者有几个可选参数,那么键值接口可能更好。

相关内容