Argumentos de ordem arbitrária xparse e type (enfeites)?

Argumentos de ordem arbitrária xparse e type (enfeites)?

Posso usar argumentos xparse e-type para redefinir como os subscritos e sobrescritos funcionam para um comando (por exemplo, fazer \mybeta colocar todos os sub/super scripts entre parênteses)? Eu tentei definir

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

E parece funcionar bem se eu os colocar na ordem em que os argumentos são especificados, mas não quando tento

 \mybeta^{n}_{s}

onde recebo um aviso de subscrito duplo quando quero $\beta^{(n)}_{(s)}$

Estou supondo que talvez eu precise usar e{_^} como a especificação do argumento, mas se eu fizer isso, como posso diferenciar os argumentos _ e ^ ou recuperá-los? Ou há uma maneira diferente/melhor de fazer isso e entendi totalmente mal os enfeites?

Responder1

A solução é, como você previu, usar e{_^}na especificação do seu argumento. A ordem dos enfeites não importa. E sim, é incrível que funcione!

Responder2

Aparentemente (graças a @LateXeraXeTal) você acabou de usar

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

Admito que estou um pouco confuso sobre por que você não usa vários especificadores de tipo de argumento e para fazer isso. Alguém usaria vários argumentos do tipo e?

informação relacionada