更改 xparse 命令可选参数的默认值

更改 xparse 命令可选参数的默认值

假设我创建一个命令xparse

NewDocumentCommand{\myCommand}{ m O{} }{ #1 and #2 }

我可以稍后在文档中更改 arg two 的默认值吗?也许可以按照以下方法操作?

\def\@myCommand@args@II{New Default}

(II 表示第二个参数)

这样稍后\myCommand{Hello}就会产生“Hello and New Default”

答案1

你可能会

\NewDocumentCommand{\myCommand}{ m O{\DefaultArgForMyCommand} }{ #1 and #2 }
\NewDocumentCommand{\DefaultArgForMyCommand}{}{}% initially empty

然后做

\RenewDocumentCommand{\DefaultArgForMyCommand}{}{whatever}

当您希望可选参数改变其默认值时。

但是,除非您毫无疑问地知道\DefaultArgForMyCommand任何给定点的值是多少(我不确定您是否可以),否则我不建议这样做。

相关内容