%3F.png)
Kann ich xparse e-type-Argumente verwenden, um neu zu definieren, wie hoch- und tiefgestellte Zeichen für einen Befehl funktionieren (z. B. \mybeta alle hoch- und tiefgestellten Zeichen in Klammern setzen lassen)? Ich habe versucht zu definieren
\NewDocumentCommand{\mybeta}{e_e^}{\beta_{(#1)}^{(#2)}}
Und es scheint gut zu funktionieren, wenn ich sie in der Reihenfolge platziere, in der die Argumente angegeben sind, aber nicht, wenn ich versuche
\mybeta^{n}_{s}
wo ich eine Warnung mit doppeltem Index erhalte, wenn ich $\beta^{(n)}_{(s)}$ möchte
Ich vermute, dass ich vielleicht e{_^} als Argumentspezifikation verwenden muss, aber wenn ich das tue, wie kann ich die Argumente _ und ^ auseinanderhalten oder wiederherstellen? Oder gibt es einen anderen/besseren Weg, wie ich vorgehen sollte und ich habe die Verschönerungen völlig missverstanden?
Antwort1
Die Lösung besteht, wie Sie vorhergesagt haben, e{_^}
in Ihrer Argumentspezifikation. Die Reihenfolge der Ausschmückungen spielt keine Rolle. Und ja, es ist erstaunlich, dass es funktioniert!
Antwort2
Anscheinend (danke an @LateXeraXeTal) benutzt man einfach
\NewDocumentCommand{\mybeta}{e{_^}}{\beta_{(#1)}^{(#2)}}
Ich gebe zu, ich bin etwas verwirrt, warum Sie hierfür nicht mehrere e-Argumenttypspezifizierer verwenden. Würde man jemals mehrere e-Typargumente verwenden?