\mycommand\mycommand etwas anderes tun lassen als \mycommand zweimal

\mycommand\mycommand etwas anderes tun lassen als \mycommand zweimal

Gibt es eine Möglichkeit, einen Befehl \mycommandso zu definieren, dass er bei isolierter Verwendung eine Sache bewirkt, bei aufeinanderfolgender Verwendung jedoch eine andere?

Ich möchte außerdem zulassen, dass „\mycommand“ (optionale) Argumente haben kann.

Antwort1

Der einfachste Weg, dies zu implementieren, ist die Verwendung \NewDocumentCommandmit dem t-Argumenttyp:

\documentclass{article}

\NewDocumentCommand \mycommand { t{\mycommand} O{} }
  {%
    \IfBooleanTF{#1}{Duplicated}{Single} variant.
    Optional argument: #2.%
  }

\begin{document}
\mycommand[abc]

\mycommand\mycommand[def]
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen