带下划线和可选参数的 xparser

带下划线和可选参数的 xparser

我需要一个宏来按如下方式处理其输入:

  1. \foo A> #2 = A
  2. \foo{A}> #2 = A
  3. \foo(B)> #3 = A(圆括号)
  4. \foo_m A> #1 = m, #2 = A
  5. \foo_m{A}> #1 = m, #2 = A
  6. \foo_m(B)> #1 = m, #3 = B(圆括号)
  7. \foo_{m}(B)> #1 = m, #3 = B (与 类似(B) = {A}

\foo_m {A}如果和\foo_m (B)(带有额外的空格)也像 5 和 6 那样映射,则可获得加分。(备注:如果我在上面的列表中省略了一个参数,则需要 #? = NoValue。)

我尝试了以下定义

\NewDocumentCommand\foo{t_ m g d()}

但这并非在所有情况下都有效(3.和4.除外)。

相关内容