gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 00:09:14 26 4
gpt4 key购买 nike

我正在尝试创建一个带有两个参数的 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。

最佳答案

LaTeX 内核有一个内置的方法来做到这一点,尽管它没有被广泛使用。下面是一个例子:

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

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

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

关于LaTeX:如何使用必需的 arg 作为可选参数的默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/707152/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com