[texhax] "@" : vowel or glottal stop ? (was : Some puzzling TeX)

Reinhard Kotucha reinhard.kotucha at web.de
Thu Feb 24 02:15:40 CET 2011


On 2011-02-23 at 22:12:10 +0100, Arno Trautmann wrote:

 > Reinhard Kotucha wrote:
 > > On 2011-02-23 at 21:18:29 +0100, Arno Trautmann wrote:
 > > 
 > >  > Hi all,
 > >  > 
 > >  > would it be possible for one of you to turn this whole
 > >  > @-discussion into a TUGboat article? I always wondered about
 > >  > the meaning of all the @s in the code and it would be nice to
 > >  > get an overview over the things discussed here. (I won't have
 > >  > time to write until april, otherwise I would try it.)
 > > 
 > > Hi Arno,
 > > it seems that the @s lack a well defined meaning.  They are used
 > > quite arbitrarily and different authors have different
 > > conventions.  Or did you recognize any rules?
 > 
 > No, I didn't. Therefore I hoped you did ;) 
 > Of course everyone can use it the way s/he wants, but I was
 > thinking of only the plain or LaTeX kernel. Is it so arbitrarily in
 > that code, too?

I think so, though AFAIK there are some conventions which are used
throughout the LaTeX kernel.  If I recall correctly, a control
sequence beginning with two at signs is a backup copy of a primitive
or another control sequence:

 \let\@@input\input
 \let\@@end\end
 \let\@@par\par
 ...

But there are exceptions too:

 \def\@@enc at update{.....

I'm not sure whether it's worthwhile to describe this in a TUGboat
article at all.  LaTeX macro programmers should be aware of those
things but they have to be aware of many other things too when using
low-level macros or \def instead of \newcommand or \ifx instead of
\@ifundfined.

IMO it's not even worthwhile to waste a thought about \sixt@@n
vs. \@sixteen.  It's just one of Knuth's puns, no more, no less.
Hence such an article might be good enough for an April issue, at
least.

Regards,
  Reinhard

-- 
----------------------------------------------------------------------------
Reinhard Kotucha                                      Phone: +49-511-3373112
Marschnerstr. 25
D-30167 Hannover                              mailto:reinhard.kotucha at web.de
----------------------------------------------------------------------------
Microsoft isn't the answer. Microsoft is the question, and the answer is NO.
----------------------------------------------------------------------------


More information about the texhax mailing list