Je tente d'écrire une commande exemple simple qui n'imprime rien sans argument, mais qui entoure quelque chose avec un argument.
J'ai lu que la valeur par défaut devrait être \@empty
et que la condition simple \ifx\@empty#1
devrait faire l'affaire :
\newcommand{\optarg}[1][\@empty]{%
\ifx\@empty#1 {} \else {(((#1)))} \fi
}
\optarg % (((vide)))
\optarg{} % (((vide)))
\optarg{test} % (((vide))) test
Les trois dernières commandes impriment toutes le mot vide
pour une raison quelconque, et je veux que les deux premières n'impriment rien et la dernière imprime (((test)))
.
J'utilise TeXLive/Ubuntu. Des idées ?