Я пытаюсь написать простую команду примера, которая ничего не печатает без аргумента, но с аргументом она что-то окружает.LaTeX newcommand аргумент по умолчанию: пуст?
Я прочитал, что значение по умолчанию должно быть \@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. Идеи?
Работает как очарование, спасибо! :) – kolypto