任意顺序 xparse e 类型参数(修饰)?

任意顺序 xparse e 类型参数(修饰)?

我可以使用 xparse e-type 参数重新定义命令中上标和下标的工作方式吗(例如,让 \mybeta 将所有上标和下标放在括号中)?我尝试定义

 \NewDocumentCommand{\mybeta}{e_e^}{\beta_{(#1)}^{(#2)}}

如果我按照指定参数的顺序放置它们,它似乎可以正常工作,但当我尝试

 \mybeta^{n}_{s}

当我想要 $\beta^{(n)}_{(s)}$ 时收到双下标警告

我猜也许我需要使用 e{_^} 作为参数规范,但如果我这样做,我该如何区分 _ 和 ^ 参数或恢复它们?或者我应该采取不同的/更好的方法来解决这个问题,而我完全误解了这些修饰?

答案1

正如您所预料的,解决方案是在您的论证规范中使用e{_^}。修饰的顺序无关紧要。是的,它确实有效,真是太神奇了!

答案2

显然(感谢@LateXeraXeTal)你只需使用

 \NewDocumentCommand{\mybeta}{e{_^}}{\beta_{(#1)}^{(#2)}}

我承认我有点困惑,为什么不使用多个 e 参数类型说明符来执行此操作。有人会使用多个 e 类型参数吗?

相关内容