默认值及其泛化

默认值及其泛化

亲爱的老朋友 StackOverflow,

我跟随本教程关于如何设置可选命令值:在类似这样的多值配置中\newcommand{\price}[2][42]{\pounds #2 excl VAT @ #1\%},命令输出\price{100}给出等于的输出\price[42]{100}

我的问题是关于泛化方向的:命令中有可选参数和强制参数。这意味着,我们可以将它们组织为两个集合,前者是强制的,后者是可选的。如果没有满足任何可选条件,则每个默认值都必须提供其内容。

我的特殊情况压力较小:提供一个\documentpath给出自定义用户定义字符串的命令:

  1. \documentpath{Luke Skywalker}==>Luke Skywalker
  2. \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}

相关内容