当前位置:  开发笔记 > 编程语言 > 正文

LaTeX:如何将必需的arg用作可选参数的默认值?

如何解决《LaTeX:如何将必需的arg用作可选参数的默认值?》经验,为你挑选了1个好方法。

我正在尝试创建带有两个参数的LaTeX命令,其中之一是可选的。通常我会这样做

\newcommand{\whatever}[2][default]{first #1 second #2}

其中default,第一个参数的默认值。但是对于此命令,我希望将第二个参数的值用作第一个参数的默认值-也就是说,

\whatever{blah}
\whatever{foo}
\whatever[lol]{rofl}

相当于

\whatever[blah]{blah}
\whatever[foo]{foo}
\whatever[lol]{rofl}

有谁知道如何做到这一点?如有必要,我可以使用普通的TeX。



1> Will Roberts..:

尽管LaTeX内核没有得到广泛使用,但它具有一种内置的方法。这是一个例子:

\makeatletter
\newcommand\@foo[2][]{[1: #1, 2: #2.] }
\newcommand\foo{\@dblarg\@foo}
\makeatother

\foo{same}
\foo[hello]{world}

显然,\makeatletter如果您在.sty.cls文件中执行此操作,则可以删除这些命令。

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有