亲爱的老朋友 StackOverflow,
我跟随本教程关于如何设置可选命令值:在类似这样的多值配置中\newcommand{\price}[2][42]{\pounds #2 excl VAT @ #1\%}
,命令输出\price{100}
给出等于的输出\price[42]{100}
。
我的问题是关于泛化方向的:命令中有可选参数和强制参数。这意味着,我们可以将它们组织为两个集合,前者是强制的,后者是可选的。如果没有满足任何可选条件,则每个默认值都必须提供其内容。
我的特殊情况压力较小:提供一个\documentpath
给出自定义用户定义字符串的命令:
\documentpath{Luke Skywalker}
==>Luke Skywalker
\documentpath
==>Darth Vader
答案1
该参数是可选的,因此应该使用[]
:
\documentclass{article}
\newcommand\documentpath[1][Darth Vader]{#1}
\begin{document}
1: \documentpath[Luke Skywalker]
2: \documentpath
\end{document}
或者保存内部变量的版本:
\documentclass{article}
%\newcommand\documentpath[1][Darth Vader]{#1}
\newcommand\savedpath{NOT SET}
\newcommand\documentpath[1][Darth Vader]{\def\savedpath{#1}}
\begin{document}
0: The saved path is \savedpath
1: \documentpath[Luke Skywalker]%
The saved path is \savedpath
2: \documentpath
The saved path is \savedpath
\end{document}