заставить \mycommand\mycommand сделать что-то другое, чем \mycommand дважды

заставить \mycommand\mycommand сделать что-то другое, чем \mycommand дважды

Можно ли как-то определить команду \mycommandтак, чтобы она выполняла одно действие при использовании изолированно и другое — при последовательном использовании?

Я также хочу разрешить `\mycommand' иметь (необязательные) аргументы.

решение1

Самый простой способ реализовать это — использовать \NewDocumentCommandтип t-argument:

\documentclass{article}

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

\begin{document}
\mycommand[abc]

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

введите описание изображения здесь

Связанный контент