Mit \NewDocumentCommand
ist es möglich, ein durch Trennzeichen getrenntes Argument anzugeben (z. B. r()
für ein erforderliches Argument in Klammern). Ist es möglich, im selben Befehl andere Argumente als diese Trennzeichen zu verwenden? Ist es beispielsweise möglich, so etwas zu tun, oder gibt es Workarounds?
\documentclass{article}
\NewDocumentCommand\getbetween { m m r#1#2 } { #3 }
\begin{document}
\getbetween() (abc)
\end{document}
(Der obige Code erzeugt die Fehler „Ungültige Parameternummer in der Definition von \__tl_map_1:w.“ und „Ungültiger Argumenttyp ‚##‘ im Befehl ‚\getbetween‘.“)
Antwort1
Wenn Sie dies möchten, können Sie es in zwei Schritten tun:
\documentclass{article}
\NewDocumentCommand\getbetweenx{}{}
\NewDocumentCommand\getbetween { m m}{%
\RenewDocumentCommand\getbetweenx{r#1#2 } {arg was: ``##1''}%
\getbetweenx}
\begin{document}
\getbetween() (abc)
\end{document}