我想定义一个宏,调用它\func
,这样\func
就会输出\phi
,并且\func[i]
会输出\phi(i)
。
实现这一目标的最简单的方法是什么?
我知道还有其他问题可以解决这个问题 - 我想其中一个正是我的问题,但我只是不明白:)
答案1
您可以定义\func
一个可选参数:
\documentclass{article}
\newcommand\func[1][]{\phi\ifx\\#1\\\else(#1)\fi}
\begin{document}
$\func\quad\func[i]$
\end{document}
答案2
xparse
的解决方案
\documentclass{article}
\usepackage{xparse}
\NewDocumentCommand{\func}{o}{%
\phi
\IfNoValueF{#1}{(#1)}%
}
\begin{document}
$\func\quad\func[i]$
\end{document}
您需要一个可选 (' o
-type') 参数。