不确定是否必须使用 \the

不确定是否必须使用 \the

我对是否必须使用感到困惑\the

  1. \the\special{papersize=\the\paperwidth,\the\paperheight}强制性的。
  2. \the两者都不\begin{pspicture}(\the\paperwidth,\the\paperheight)\psframe[linecolor=red](\the\paperwidth,\the\paperheight)强制性的。
\documentclass{minimal}
\usepackage{pstricks}
\paperwidth=72.27pt
\paperheight=72.27pt

\hoffset=-72.27pt
\voffset=-72.27pt
\topskip=0sp
\parindent=0sp

% it works
\special{papersize=\the\paperwidth,\the\paperheight}

% it does not work
%\special{papersize=\paperwidth,\paperheight}


\begin{document}
% it works
\begin{pspicture}(\the\paperwidth,\the\paperheight)
\psframe[linecolor=red](\the\paperwidth,\the\paperheight)
\end{pspicture}
%
% it also works
%\begin{pspicture}(\paperwidth,\paperheight)
%\psframe[linecolor=red](\paperwidth,\paperheight)
%\end{pspicture}
\end{document}

我是否必须使用有什么规则\the

答案1

TeX 基元\the返回长度、计数器或其他寄存器的值作为文本您需要在想要输出字符串的地方使用它,例如输出到外部文件(就像例子中的 DVI \special)或者将其显示为文档的一部分。

对于等待长度或数字表达式的文档内部宏,您不需要使用,\the但可以直接使用长度或计数器寄存器。

答案2

\the用于将 TeX 寄存器转换为其值,例如\the\paperwidth扩展为纸张宽度(以 为单位pt)。如果 TeX 需要尺寸,则可以省略\the。因此,例如在\begin{pspicture}(\the\paperwidth,\the\paperheight)底层代码中将设置一个 dimen,因此需要一个 dimen 值,因此可以\paperwidth在不使用 的情况下使用\the。通常,\the无论是否需要,使用 都是安全的,因此在不是绝对需要的情况下包含它没有问题。

(同样的方法也适用于其他寄存器类型,例如\count寄存器。)

相关内容