LaTeX 提供的 \newcommand
命令只能在定义时给第一个参数赋初值, 而要需要两个或更多的缺省参数时, 则无能为力, 当然使用 TeX 底层语言除外. 不过有宏包可以比较简单地达到目的. 借助 xargs 宏包提供的 \newcommandx
可以轻松地定义此类命令. 先看一个简单示例.
\documentclass{article}
\usepackage{xargs}
\newcommandx\gougu[3][1=a,2=b,3=c,usedefault]{#1^2 + #2^2 = #3^2}
\begin{document}
\[
\gougu\
\gougu[3][4][5]\
\gougu[][d]\
\gougu[][][g]
\]
\end{document}
其中 usedafault
顾名思义就是在缺省情况下使用初值, 参考例子中第三个和第四个的使用.
更详细复杂的使用建议查看 xargs 文档, 通过 texdoc xargs
或者 CATN 站点.