\documentclass{minimal}
\parindent=0sp
\newlength{\Length}
\setlength{\Length}{1in}
\newcounter{Count}
\setcounter{Count}{10}
\begin{document}
\the\Length
\theCount
\end{document}
长度需要反斜杠但计数器不需要,为什么?
答案1
计数器名称有多种用途,将名称附加到the
或c@
或p@
并将其用作的参数更为安全\arabic
,\Roman
等等。当您说时\newcounter{Count}
,LaTeX 会做以下事情:
\expandafter\newcount\csname c@Count\endcsname
\@namedef{theCount}{\arabic{Count}}
此外这使得事情变得更加复杂当地的分配给计数器,这永远不应该做,因为 LaTeX 计数器应该始终全局修改;对于本地计数器,可以通过 定义的“TeX”计数器\newcount
;但是,一般来说,\count@
和\@tempcnta
LaTeX\@tempcntb
内核为此目的提供的 就足够了。请参阅TeX.sx 上的这个讨论了解更多关于对同一变量进行本地和全局分配的知识,这表明我之前的说法是相当激烈的,但人们应该知道当“违反”规则时他们在做什么。
对于长度,这是不需要的,甚至可以使用 TeX 语法
\Length=3cm
(承担所有相关风险)。此外,可能更重要的是,\setlength
它们\addtolength
更容易定义和使用。