我可以使用 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 类型参数吗?