# [texhax] Problem with \LaTeX macro

Robin Fairbairns Robin.Fairbairns at cl.cam.ac.uk
Sun Apr 24 22:29:41 CEST 2005

> The following minimal file
>
> \documentclass{article}
> \def\@{\char'100}
> \begin{document}
> \LaTeX 2e
> \end{document}
>
> leads to an error message.  If you remove the 2 it doesn't.  Any number
> from 1 to 7 will casue the error message, but 8 and 9 (nor any other
> character I tested) does.  The message is
>
>
> and then "e".  This occurs in a paper submitted by an online journal and I
> can obviously do whatever he wants in a different, but I am curious what
> is going on.

1) it's bad news to redefine an internal latex command, such as \@;
latex has a tendency to use \@ all over the place, so you're going
to get your \char'100 similarly all over the place.  \LaTeX is a
command that does that.  it's because of the potential for this
sort of error that the \newcommand command was designed.
2) there's a latex macro \LaTeXe for latex2e
3) you've committed the bug of not terminating the number in your
command: \def\atsign{\char'100 } works fine.  knuth has a lot about
that bug in the texbook somewhere.

finally, why do you want a macro to produce an @ sign?  what do you
have against typing @ when you need an @ sign?