在 \NewDocumentCommand 中使用參數作為分隔符

在 \NewDocumentCommand 中使用參數作為分隔符

使用\NewDocumentCommand,可以指定分隔參數(例如,r()括號中的必需參數)。是否可以在同一命令中使用其他參數作為這些分隔符號?例如,是否可以做這樣的事情,或者是否有任何解決方法?

\documentclass{article}

\NewDocumentCommand\getbetween { m m r#1#2 } { #3 }

\begin{document}

\getbetween() (abc)

\end{document}

(上面的程式碼產生的錯誤是“\__tl_map_1:w 的定義中存在非法參數號碼。”並且“命令 '\get Between' 中存在無效的參數類型 '##'。”)

答案1

如果你想要這個,你可以分兩步驟完成:

\documentclass{article}

\NewDocumentCommand\getbetweenx{}{}

\NewDocumentCommand\getbetween { m m}{%
 \RenewDocumentCommand\getbetweenx{r#1#2 } {arg was: ``##1''}%
 \getbetweenx}

\begin{document}

\getbetween() (abc)

\end{document}

相關內容