Я пытаюсь написать команду простого примера, которая ничего не печатает без аргумента, но с аргументом она что-то окружает чем-то.
Я читал, что значение по умолчанию должно быть \@empty
, и простое условие \ifx\@empty#1
должно выполнить задание:
\newcommand{\optarg}[1][\@empty]{%
\ifx\@empty#1 {} \else {(((#1)))} \fi
}
\optarg % (((empty)))
\optarg{} % (((empty)))
\optarg{test} % (((empty))) test
Последние три команды по какой-либо причине печатают слово empty
, и я хочу, чтобы первые два ничего не печатали, а последние печатали (((test)))
.
Я использую TeXLive/Ubuntu. Идеи?