在 LaTeX 中定义多个缺省参数的命令

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 站点.