跳轉到內容

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 中)。

華夏公益教科書