Urutan sembarang argumen tipe e xparse (hiasan)?

Sep 05 2020

Dapatkah saya menggunakan argumen tipe-e xparse untuk mendefinisikan ulang bagaimana subskrip dan superskrip bekerja untuk sebuah perintah (misalnya, make \ mybeta meletakkan semua skrip sub / super dalam tanda kurung)? Saya mencoba mendefinisikan

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

Dan tampaknya berfungsi dengan baik jika saya menempatkannya dalam urutan argumen yang ditentukan tetapi tidak saat saya mencobanya

 \mybeta^{n}_{s}

di mana saya mendapatkan peringatan subskrip ganda saat saya mau $\beta^{(n)}_{(s)}$

Saya menduga bahwa mungkin saya perlu menggunakan e {_ ^} sebagai spesifikasi argumen, tetapi jika saya melakukannya, bagaimana cara membedakan argumen _ dan ^ atau memulihkannya? Atau apakah ada cara lain / lebih baik yang harus saya lakukan tentang hal ini dan saya telah salah paham sepenuhnya tentang hiasan itu?

Jawaban

3 LaTeXereXeTaL Sep 05 2020 at 08:44

Solusinya adalah, seperti yang Anda prediksi, gunakan e{_^}dalam spesifikasi argumen Anda. Urutan hiasan tidak masalah. Dan ya, sungguh menakjubkan bahwa ini berhasil!

PeterGerdes Sep 05 2020 at 08:43

Rupanya (berkat @LateXeraXeTal) Anda baru saja menggunakan

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

Saya akui saya agak bingung mengapa Anda tidak menggunakan beberapa penentu tipe argumen untuk melakukan ini. Akankah seseorang menggunakan beberapa argumen tipe e?