The amstex.tex
style file for Plain TeX had @
as “alternative escape” and this was also used in amslatex
(the first port of AMS-TeX to LaTeX), but then abandoned when amsmath
was issued.
In AMS-TeX one could type @>f>g>
for what would be typed \xrightarrow[g]{f}
in amsmath
(both labels were optional, so @>>>
meant a right pointing arrow). The downside was that a literal @
had to be input as @@
.
There was no interface for defining “@-commands”, but there is the at
package by Mark Wooding that provides it (the documentation can be read with texdoc mdwtools
, because this points to the first hit, which is exactly at.sty
).
For instance, the package provides by default the @-command @/
, whereby
@/some text in italics/
(note the matching slash at the end) is the same as typing
\textit{some text in italics}
Also predefined is @@
for printing an @. Note that @?
would be different from \?
: if you do
\atdef ?{`?}
\newcommand\?{QQ}
the output of @?
would be different from \?
.
Of course, one could replicate the code for allowing other prefix characters. The big downside is that the prefix character must be made into an active one. If you want to use =-commands, such as your proposed =acircum
, then you can't type =
in a math formula any more (well, you'd need to be very careful).
When amsmath
was released, AMS thought carefully about @-commands and decided to withdraw them and they had very good reasons for. I'm not sure where =acircum
could be easier for users than \acircum
. I'm inclined to believe that they'll be very confused, actually.
You just need to know that commands should be escaped and that the signal for this escape is \
. Remembering different escapes for different commands would be a nightmare. Possibly funny (I'm writing this answer on All Saints' Eve), but definitely not a good user interface.
Other suggested methods such as doing \catcode`/=0
are quite different.
If you do
\catcode`/=0
\newcommand{/Abc}{whatever}
you can then call /Abc
or \Abc
and this will produce exactly the same result (unless you also changed the category code of /
). Of course, you cannot use /
for printing a slash.
There are good reasons for using the backslash as escape. The character is seldom, if ever, used in running text. For the set theory operation there is the semantically meaningful command \setminus
(and also the command \backslash
for the symbol as an ordinary atom). No other character in the ASCII range is in the same situation; except possibly @
itself (barring its usage in email addresses). Indeed, there is a TeX format that uses @
and not \
as escape: it's texinfo
, that's been used for decades for TeXing documentation in GNU info
format.
\slash
already has a special definition. Don't clobber TeX – it will clobber you right back.