[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