可能重复:
带有和不带有可选参数的不同命令定义
我想定义一个宏,它接受一个可选参数,并根据是否给出可选参数以不同的方式运行。作为一个非常简单的例子,我想定义一个新的宏
\newcommand{\example}[0][]{
macro definition
}
输出
optional argument was omitted
如果省略可选参数,并且
optional argument was given
如果给出了可选参数。我该如何实现这一点?
答案1
\documentclass[parskip]{scrartcl}
\usepackage[margin=15mm]{geometry}
\usepackage{xifthen}
\newcommand{\test}[1][]{%
\ifthenelse{\equal{#1}{}}{omitted}{given}%
}
\begin{document}
The optional argument was \test[].
The optional argument was \test[shubidu].
\end{document}
其结果是