使用 \def\@plus{plus} 等来节省标记空间

使用 \def\@plus{plus} 等来节省标记空间

在 LaTeX 内核中,我们可以看到这些定义:

\def\@plus{plus}
\def\@minus{minus}
\def\@height{height}
\def\@depth{depth}
\def\@width{width}

据说这些定义可以用来节省token空间,如何理解这个观点呢?

答案1

一个例子:

\def\stretch#1{\z@ \@plus #1fill\relax}

反对

\def\stretch#1{\z@ plus #1fill\relax}

前者需要存储 9 个 token,后者需要存储 13 个 token。每次\@plus在定义中使用,都会增加 4 个 token。内核使用了\@plus15 次,因此净收益为 60 个 token。

\@height和分别出现了 26 次和 27 次\@width

它看起来可能很小,但它让 LaTeX 在 90 年代得以运行。更不用说\z@可以代表0常数或0pt维度。在前一种情况下,每次出现都会获得一个标记(一个用于字符,一个用于尾随空格)。

相关内容