Alas, they don't -- and, I think, can't -- work in PDF strings, since
scanning the command name works using `\futurelet', which is a TeX
command rather than an expansion.
%<*driver>
\input{mdwtools}
\describespackage{at}
%<*driver>
\input{mdwtools}
\describespackage{at}
+\def\atsign{@}
+\def\athyphen{@\mbox{-}}
\aton
\atlet p=\package
\atdef at{\package{at}}
\aton
\atlet p=\package
\atdef at{\package{at}}
% usual scoping rules. Both of these commands have corresponding
% environments with the same names (without the leading `|\|', obviously).
%
% usual scoping rules. Both of these commands have corresponding
% environments with the same names (without the leading `|\|', obviously).
%
-% \subsection{Defining @-commands}
+% \subsection{Defining \athyphen commands}
%
% \DescribeMacro{\newatcommand}
% \DescribeMacro{\renewatcommand}
%
% \DescribeMacro{\newatcommand}
% \DescribeMacro{\renewatcommand}
% use fragile commands in their definitions. Unless you start doing very
% strange things, @-commands never need |\protect|ing.
%
% use fragile commands in their definitions. Unless you start doing very
% strange things, @-commands never need |\protect|ing.
%
-% \subsection{Predefined @-commands}
+% \subsection{Predefined \athyphen commands}
%
% A small number of hopefully useful commands are provided by default.
% These are described in the table below:
%
% A small number of hopefully useful commands are provided by default.
% These are described in the table below:
-% \subsection{Robustness of @-commands}
+% \subsection{Robustness of \athyphen commands}
%
% We want all @-commands to be robust. We could leave them all being
% fragile, although making robust @-commands would then be almost impossible.
%
% We want all @-commands to be robust. We could leave them all being
% fragile, although making robust @-commands would then be almost impossible.
% \end{macro}
% \end{macro}
%
% \end{macro}
% \end{macro}
%
-% \subsection{Default @-commands}
+% \subsection{Default \athyphen commands}
%
% We define some trivial examples to get the user going.
%
%
% We define some trivial examples to get the user going.
%