\number 和 \the 有什么区别?

\number 和 \the 有什么区别?

我正在尝试学习更多关于 TeX 和 LaTeX 中的宏编程(如果这是正确的说法)。我首先定义一个我称之为 Sum 的量:\newcount\Sum。然后我写下。然后我使用 和\Sum=0对 Sum 进行了一些算术运算\multiply . . . by . . .\advance . . . by . . .

最后,我想打印出(在文档中)Sum 的值。为此,我使用了以下行

 The Sum equals **\number**\Sum , 

并且它按预期工作!但后来我发现我也可以这样写

The Sum equals **\the**\Sum ". 

现在我想知道这两种方式中哪一种是写出数值的首选方式。它们等效吗?或者它们的用途不同——即使在我的例子中结果重叠?

以下是 MWE:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% Here is the example tex-file that illustrates use of \number and \the .   
%%                                           
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%       

\documentclass{article}
\usepackage[paperwidth=4in, paperheight=0.8in]{geometry}

\begin{document}

\newcount\a  \newcount\b  \newcount\Sum

\a=1   \b=5  \Sum=0
\advance\Sum by \a  \multiply\Sum by \b
\advance\Sum by \a  \multiply\Sum by \b

\noindent
The Sum equals \number\Sum  \quad;\quad I used ``number''.
\par \vskip 10pt \noindent
The Sum equals \the\Sum     \quad;\quad I used ``the''.

\end{document}

答案1

\number\the在计数寄存器上类似。 \the可以应用于更多类型,例如

\the\dimen0

或者

\the\everypar

或者

 \the\font

在这些情况下使用\number要么是错误的,要么(在第一种情况下)将维度转换为数字,并将其值作为sp单位。

相关内容