如何使用原始 \the 和 dimen?

如何使用原始 \the 和 dimen?

我知道我需要在后面放一个内部数量\the。我知道扩展是 catcode 12 的标记列表(空格字符除外)。我知道下一个问题:

\skip0=30pt plus 2pt\relax
a\hskip\the\skip0 minus 1pt b 
a\hskip\skip0 b  
a\hskip\skip0 minus 1pt b

但在 pgf/tikz 的来源中,我看到例如

\def\pgfgetlastxy#1#2{%
    \edef#1{\the\pgf@x}%
    \edef#2{\the\pgf@y}%
}%

\pgf@x前面通常有\the。为什么the在这种情况下是必要的?你知道一个有问题的例子吗?

答案1

\pgf@x和寄存器\pgf@y是临时寄存器,经常更改。使用\the内部\edef寄存器存储当前值其中作为字符串变成正常宏,以便在寄存器再次改变之后,值仍然可以在其他地方使用。

简单地使用\def#1{\pgf@x}会使宏成为#1其同义词,\pgf@x而不会给您带来任何好处。

相关内容