% This macro source file is from the four volume series % "TeX in Practice" by Stephan von Bechtolsheim, published % 1993 by Springer-Verlag, New York. % Copyright 1993 Stephan von Bechtolsheim. % No warranty or liability is assumed. % This macro may be copied freely if no fees other than % media cost or shipping charges are charged and as long % as this copyright and the following source code itself % is not changed. Please see the series for further information. % % Version: 1.0 % Date: May 1, 1993 % % % This source code is documented in 19.1.8, p. III-73. % Original source in file "tokens2.TEX", starting line 414. \wlog{L: "namedef.tip" ["tokens2.TEX," l. 414, p. III-73]}% % This file DOES belong to format "texip." \catcode`\@ = 11 \def\NameDef #1{% \expandafter\def\csname #1\endcsname } \def\NameEdef #1{% \expandafter\edef\csname #1\endcsname } \def\NameGdef #1{% \expandafter\gdef\csname #1\endcsname } \def\NameXdef #1{% \expandafter\xdef\csname #1\endcsname } \def\NameNewDef #1{% \if\NameDefinedConditional{#1}% \errmessage{\string\NameNewDef: "#1" already defined.}% \fi \NameDef{#1}% } \def\NameReDef #1{% \if\NameDefinedConditional{#1}% \else \errmessage{\string\NameReDef: "#1" never defined before.}% \fi \NameDef{#1}% } \def\NameUse #1{\csname #1\endcsname} \def\NameUseFlagUndefined #1{% \if\NameDefinedConditional{#1}% \NameUse{#1}% \else \errmessage{\string\NameUseFlagUndefined: token "#1" is undefined.}% \fi } \newif\if@NameDefined \def\NameDefinedConditional #1{% TT\fi \expandafter\ifx\csname #1\endcsname \relax \@NameDefinedfalse \else \@NameDefinedtrue \fi \if@NameDefined } \catcode`\@ = 12