![更改 xparse 命令可选参数的默认值](https://linux22.com/image/439841/%E6%9B%B4%E6%94%B9%20xparse%20%E5%91%BD%E4%BB%A4%E5%8F%AF%E9%80%89%E5%8F%82%E6%95%B0%E7%9A%84%E9%BB%98%E8%AE%A4%E5%80%BC.png)
假设我创建一个命令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
任何给定点的值是多少(我不确定您是否可以),否则我不建议这样做。