TeX/let
外观
< TeX
\let<新命令>[[<空格>]=]<原始命令>
\let
允许您将命令的内容复制到新命令中。
与创建调用原始命令的宏不同,\let
允许您随后修改旧命令,同时保留其在新命令下的功能。它通常用于更改现有命令的行为(但不会完全替换它)。在这种情况下,\renewcommand
可能失败,而 \let
可能是必需的。
等号(及其之前的空格)不是必需的,但在某些特殊情况下可能有用,例如第二个参数是空格或等号。
如果要更改命令 \foo
在任何地方调用时的行为,使 \bar
首先执行,以下方法似乎适用。
\renewcommand{\foo}{\bar\foo}
但是,这将创建一个递归循环,其中调用 \foo
将重复调用自身,直到计算机的内存耗尽。
为了更改 \foo
的行为以包含一些其他行为,使用 \let
命令
\let\originalfoo\foo
\renewcommand{\foo}{\bar\originalfoo}
第一行将 \foo
命令的内容复制到新命令 \originalfoo
中。第二行修改 \foo
命令以执行 \bar
,然后执行 \foo
的原始内容(现在存储在 \originalfoo
中)。