Arbitralna kolejność argumentów typu xparse e (ozdoby)?

Sep 05 2020

Czy mogę używać argumentów typu e-xparse, aby przedefiniować sposób działania indeksów dolnych i górnych dla polecenia (np. Spraw, aby \ mybeta umieściło wszystkie pod / super skrypty w parenach)? Spróbowałem zdefiniować

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

Wydaje się, że działa dobrze, jeśli ustawię je w kolejności, w jakiej argumenty są określone, ale nie podczas próby

 \mybeta^{n}_{s}

gdzie otrzymuję ostrzeżenie o podwójnym indeksie dolnym, kiedy chcę $\beta^{(n)}_{(s)}$

Domyślam się, że być może muszę użyć e {_ ^} jako specyfikacji argumentu, ale jeśli to zrobię, jak rozróżnić argumenty _ i ^ lub je odzyskać? A może jest inny / lepszy sposób, w jaki powinienem się do tego zabrać i całkowicie źle zrozumiałem ozdoby?

Odpowiedzi

3 LaTeXereXeTaL Sep 05 2020 at 08:44

Rozwiązaniem jest, zgodnie z przewidywaniami, użycie e{_^}w specyfikacji argumentu. Kolejność zdobień nie ma znaczenia. I tak, to niesamowite, że działa!

PeterGerdes Sep 05 2020 at 08:43

Najwyraźniej (dzięki @LateXeraXeTal) po prostu używasz

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

Przyznaję, jestem trochę zdezorientowany, dlaczego nie używasz do tego wielu specyfikatorów typu e-argumentów. Czy kiedykolwiek można by użyć wielu argumentów typu e?