Estoy tratando de escribir un comando de ejemplo simple que no imprime nada sin un argumento, pero con un argumento lo rodea con algo.LaTeX newcommand argumento predeterminado: ¿está vacío?
He leído que el valor por defecto debe ser \@empty
y el simple \ifx\@empty#1
condición debe hacer el trabajo:
\newcommand{\optarg}[1][\@empty]{%
\ifx\@empty#1 {} \else {(((#1)))} \fi
}
\optarg % (((empty)))
\optarg{} % (((empty)))
\optarg{test} % (((empty))) test
Los últimos tres comandos todo Imprimir la palabra empty
por alguna razón, y quiero que la primera dos para imprimir nada y el último para imprimir (((test)))
.
Estoy usando TeXLive/Ubuntu. ¿Ideas?
¡Funciona como un amuleto, gracias! :) – kolypto