The LaTeX (2e) source code is quiet hard to read. There are a lot of macros with @
symbol. I understand those are "latex macros".
There is, in particular, a series of macros called \@ne
, \tw@
, \thr@@
(and maybe more). Their \meaning
is \char"1
, \char"2
, \char"3
. I wonder (1.) how and where those are defined?
Further interests:
They seem to be used mainly to identify internal registers. "The Texbook" mentions that there are 256 internal registers of each type, e.g. \box0
... \box256
. So which register does \box\@ne
denote?
After reading Martin's answer I reached to the texbook, page 121:
Besides
\newcount
, plain TEX provides\newdimen
,\newskip
,\newmuskip
, and\newbox
; there also are\newtoks
,\newread
,\newwrite
,\newfam
, and\newinsert
, for features we haven’t discussed yet. Appendices B and E contain several examples of the proper use of allocation. In the cases of\newbox
,\newread
, etc., the allocated number is defined by\chardef
. For example, if the command "\newbox\abstract
" is used to define a box register that will contain an abstract, and if the\newbox
operation decides to allocate\box45
for this purpose, then it defines the meaning of\abstract
by saying "\chardef\abstract=45
". TEX allows\chardef
’d quantities to be used as integers, so that you can say\box\abstract
and\copy\abstract
, etc. (There is no\boxdef
command.)
... so \box\@ne
is equal to \box1
?
\@ne
not\@one
. There is also\m@ne
for -1. Edit: You have it correct in the text but not in the headline.@
macros are in plain TeX as well. Just open your TeXBook to Appendix B.