Arbitrary order xparse e type arguments (embellishments)?
ฉันสามารถใช้อาร์กิวเมนต์ e-type xparse เพื่อกำหนดวิธีการที่ตัวห้อยและตัวยกทำงานสำหรับคำสั่ง (เช่น make \ mybeta ใส่ sub / super scripts ทั้งหมดใน parens) ได้หรือไม่ ฉันพยายามกำหนด
\NewDocumentCommand{\mybeta}{e_e^}{\beta_{(#1)}^{(#2)}}
และดูเหมือนว่าจะทำงานได้ดีถ้าฉันวางตามลำดับอาร์กิวเมนต์ที่ระบุไว้ แต่ไม่ใช่เมื่อฉันลอง
\mybeta^{n}_{s}
ที่ฉันได้รับคำเตือนตัวห้อยสองครั้งเมื่อฉันต้องการ $\beta^{(n)}_{(s)}$
ฉันเดาว่าบางทีฉันอาจต้องใช้ e {_ ^} เป็นข้อกำหนดของอาร์กิวเมนต์ แต่ถ้าฉันทำเช่นนั้นฉันจะแยกอาร์กิวเมนต์ _ และ ^ ออกจากกันหรือกู้คืนได้อย่างไร หรือมีวิธีที่แตกต่าง / ดีกว่าที่ฉันควรทำเกี่ยวกับเรื่องนี้และฉันเข้าใจผิดเกี่ยวกับการปรุงแต่งทั้งหมดหรือไม่?
คำตอบ
วิธีแก้ปัญหาคือตามที่คุณคาดการณ์ไว้เพื่อใช้e{_^}ในข้อกำหนดอาร์กิวเมนต์ของคุณ ลำดับของการปรุงแต่งไม่สำคัญ และใช่มันน่าทึ่งมากที่ได้ผล!
เห็นได้ชัดว่า (ขอบคุณ @LateXeraXeTal) ที่คุณเพิ่งใช้
\NewDocumentCommand{\mybeta}{e{_^}}{\beta_{(#1)}^{(#2)}}
ฉันยอมรับว่าฉันสับสนเล็กน้อยว่าทำไมคุณไม่ใช้ตัวระบุประเภทอาร์กิวเมนต์ e หลายตัวเพื่อทำสิ่งนี้ เราจะเคยใช้อาร์กิวเมนต์ e หลายประเภทหรือไม่?