应该避免使用 xparse g 参数吗?

应该避免使用 xparse g 参数吗?

新版本的xparse手册中指出了以下内容:(在 2.向后兼容性中)

xparse 的一个作用是描述现有的 LaTeX 接口,包括一些在 LaTeX 中相当不常见的接口(与纯 TeX 等格式相反),例如分隔参数。因此,该包定义了一些参数说明符,这些说明符现在应该尽量避免使用,因为在包中使用它们会导致用户界面不一致。最简单的语法通常是最好的,参数说明符如 mmmm 或 ommmm (...)

例如,使用 g 参数或 G 参数时,可能会出现哪些类型的问题,比如‘不一致的用户界面’?

我是依赖于基于这些参数的宏的类的作者,并且很高兴知道 LaTeX3 的作者是否xparse会放弃对这些参数的支持,或者在什么情况下可能出现什么问题......

编辑:由于并非所有人都熟悉该包提供的不同参数类型,因此这里是来自文档的xparse描述:gG

g:一对 TeX 组标记(在标准 LaTeX 中,)内给出的可选参数{...}-NoValue-如果不存在则返回。
G:与此相同,但如果没有给出值则g返回: 。<default>G{<default>}

答案1

xparse软件包主要用于定义“LaTeX2e 类”命令,但它也可以标准化更广泛的接口描述。LaTeX2e 内核在使用{...}强制参数和[...]可选参数((...)用于图片模式参数)方面非常一致。因此,g-type 参数是一个异常值:它根本不是标准的 LaTeX2e 用法。我们将其包括在内,因为它确实出现在例如 beamer

\begin{frame}{title}{sub-title}

可能,今天写的人们通常会使用 keyval 系统来处理这种情况。

\begin{frame}[title = ..., subtitle = ...]

一般来说,我会避免使用g-type 参数新的命令。

相关内容