%% 
%% This is file `nfsscode.ltx', generated 
%% on <1993/12/21> with the docstrip utility (2.1e).
%% 
%% The original source files were:
%% 
%% fam.dtx  (with options: `compat')
%% tracefnt.dtx 
%% setsize.dtx 
%% latint.dtx  (with options: `compat')
%% lfonts.dtx  (with options: `compat')
%% fontcmds.dtx  (with options: `code')
%% 
%% Copyright (C) 1993 by LaTeX3 project. All rights reserved. 
%% For additional copyright information see further down in this file. 
%% 
%% This file is part of the LaTeX2e system (PRELIMINARY TEST RELEASE) 
%% ------------------------------------------------------------------ 
%% 
%% This system is distributed in the hope that it will be useful, 
%% but WITHOUT ANY WARRANTY; without even the implied warranty of 
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
%% 
%% 
%% IMPORTANT NOTICE: 
%% 
%% For error reports in case of UNCHANGED versions see readme files. 
%% 
%% Please do not request updates from us directly. Distribution is 
%% done through Mail-Servers and TeX organizations. 
%% 
%% You are not allowed to change this file. 
%% 
%% You are allowed to distribute this file under the condition that 
%% it is distributed together with all files mentioned in 00readme.l2e. 
%% 
%% If you receive only some of these files from someone, complain! 
%% 
%% You are NOT ALLOWED to distribute this file alone. You are NOT 
%% ALLOWED to take money for the distribution or use of either this 
%% file or a changed version, except for a nominal charge for copying 
%% etc. 
\def\filename{fam}
\def\fileversion{v2.0h}
\def\filedate{1993/09/19}
\def\docdate {1993/05/16}


%% \CharacterTable
%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%%   Digits        \0\1\2\3\4\5\6\7\8\9
%%   Exclamation   \!     Double quote  \"     Hash (number) \#
%%   Dollar        \$     Percent       \%     Ampersand     \&
%%   Acute accent  \'     Left paren    \(     Right paren   \)
%%   Asterisk      \*     Plus          \+     Comma         \,
%%   Minus         \-     Point         \.     Solidus       \/
%%   Colon         \:     Semicolon     \;     Less than     \<
%%   Equals        \=     Greater than  \>     Question mark \?
%%   Commercial at \@     Left bracket  \[     Backslash     \\
%%   Right bracket \]     Circumflex    \^     Underscore    \_
%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%%   Right brace   \}     Tilde         \~}
%% Copyright (C) 1989-1993 Frank Mittelbach and Rainer Sch\"opf,
%% all rights reserved.
\immediate\write\sixt@@n{File: `fam'
 \space\space\space\space\space\space\space\space
 \space       \fileversion \space <\filedate>  (FMi and RmS)}
\immediate\write\sixt@@n{English Documentation
 \space\space\space\space\space    <\docdate>  (FMi and RmS)}
\def\@spaces{\space\space\space\space}
\def\@gobble#1{}
\def\@empty{}
\def\@height{height}
\def\@depth{depth}
\def\@width{width}
\def\@namedef#1{\expandafter\def\csname#1\endcsname}
\def\@ifnextchar#1#2#3{\let\@tempe=#1\def\@tempa{#2}\def\@tempb{#3}%
    \futurelet\@tempc\@ifnch}
\def\@ifnch{\ifx \@tempc \@sptoken \let\@tempd\@xifnch
      \else \ifx \@tempc \@tempe\let\@tempd\@tempa
            \else\let\@tempd\@tempb\fi \fi \@tempd}
\def\:{\let\@sptoken= } \:
\def\:{\@xifnch} \expandafter\def\: {\futurelet\@tempc\@ifnch}
\def\@nomath#1{\relax\ifmmode
   \font@warning{Don't use \noexpand#1in math mode}\fi}
\def\no@alphabet@error#1#2{\relax \ifmmode
    \errhelp\no@alphabet@help
    \errmessage{Math alphabet identifier \string#2 is undefined
                in math version `#1'.} \fi}
\newhelp\no@alphabet@help
   {Your requested math alphabet is undefined in the current
    math version.^^JCheck the spelling or use the
    \string\SetMathAlphabet\space command.}
\def\new@mathgroup{\alloc@8\mathgroup\chardef\sixt@@n}
\let\mathgroup\fam
\let\newfam\new@mathgroup
\def\new@fontshape#1#2#3#4{%
     \warn@rel@i\new@fontshape\DeclareFontShape
     \expandafter\scan@fontshape\@gobble#4<\@nil><<%
     \DeclareFontShape{U}{#1}{#2}{#3}{\next}}
\def\scan@fontshape{%
  \def\next{}%
  \def\@tempe{}%        holds last info
  \scan@@fontshape
}

\def\warn@rel@i#1#2{%
 \font@warning{***  NFSS release 1 command
               \noexpand#1found\f@warn@break
   ***  Update this file to use release 2 command
        \string#2.\f@warn@break
   ***  Internal recovery is probably possible}%
}

\def\scan@@fontshape#1>#2#3<{%
  \ifx\@nil#1%
    \edef\next{\next\@tempe}%
  \else
    \def\@tempb{#1}%       nick names
    \def\@tempc{#3}%
    \in@{ at}{#3}%
    \ifin@
      \in@{pt}{#3}%  not a proof but a good chance
      \ifin@
        \def\@tempa##1 at##2pt\@nil{%
           \def\@tempb{##2}%
           \def\@tempc{##1}%
           }%
        \@tempa#3\@nil
      \fi
    \fi
    \ifnum 0<0#2
      \edef\@tempd{subf*\@tempc}%
      \ifcase #2\or
      \or
      \else
        \errmessage{*** What's this? NFSS release 0? ***}%
      \fi
    \else
      \edef\@tempd{#2\@tempc}%
    \fi
    \ifx\@tempd\@tempe
      \edef\next{\next<\@tempb>}%
    \else
      \edef\next{\next\@tempe<\@tempb>}%  add old info
      \let\@tempe\@tempd
    \fi
    \expandafter\scan@@fontshape
  \fi
}

\def\DeclareFontShape{\begingroup
   \catcode`\ 9%
   \catcode`\^^M9%
   \@makeother\<%
   \@makeother\>%
   \@makeother\*%
   \@makeother\.%
   \@makeother\-%
   \DeclareFontShape@}
\def\DeclareFontShape@#1#2#3#4#5#6{%
   \expandafter\ifx\csname #1+#2\endcsname\undefined
     \@latexerr{Font family `#1+#2' unknown}\@eha
   \else
     \expandafter
       \xdef\csname#1/#2/#3/#4\endcsname{\expandafter\noexpand
                                   \csname #5\endcsname}%
     \def\@tempa{#6}%
     \global
     \expandafter\let\csname#5\expandafter\endcsname
        \ifx\@tempa\@empty
          \@empty
        \else
          \@tempa
        \fi
   \fi
  \endgroup
  }
\def\subst@fontshape#1#2#3#4#5#6{%
     \warn@rel@i\subst@fontshape\DeclareFontShape
     \DeclareFontShape{U}{#1}{#2}{#3}{<->sub*#4/#5/#6}{}}
\def\DeclareFixedFont#1#2#3#4#5#6{%
   \begingroup
      \math@fontsfalse
      \every@size{}%
      \fontsize{#6}\z@
      \usefont{#2}{#3}{#4}{#5}%
      \global\expandafter\let\expandafter#1\the\font
   \endgroup
  }
\def\@makeother#1{\catcode`#1=12\relax}
\def\do@subst@correction{%
       \xdef\subst@correction{%
          \font@name
          \global\expandafter\font
            \csname \curr@fontshape/\f@size\endcsname
            \noexpand\fontname\font
           \relax}%
       \aftergroup\subst@correction
}
\def\extra@def#1#2#3{%
     \warn@rel@i\extra@def\DeclareFontFamily
     \DeclareFontFamily{U}{#1}{}%
}
\def\DeclareFontFamily#1#2#3{%
 \@ifundefined{T@#1}%
    {%
     \@latexerr{Encoding scheme  `#1' unknown}\@eha
    }%
    {%
     \def\@tempa{#3}%
     \global
     \expandafter\let\csname #1+#2\expandafter\endcsname
            \ifx \@tempa\@empty
              \@empty
            \else \@tempa
            \fi
    }%
}
\let\cdp@list\@empty
\def\DeclareFontEncoding{%
   \begingroup
   \catcode`\ 9%
   \catcode`\^^M9%
   \DeclareFontEncoding@}
\def\DeclareFontEncoding@#1#2#3{%
  \endgroup
  \expandafter
  \ifx\csname T@#1\endcsname\relax
     \def\cdp@elt{\noexpand\cdp@elt}%
     \xdef\cdp@list{\cdp@list\cdp@elt{#1}%
                    {\default@family}{\default@series}%
                    {\default@shape}}%
  \fi
  \global\@namedef{T@#1}{#2}%
  \global\@namedef{M@#1}{\default@M#3}%
  }

\def\DeclareFontSubstitution#1#2#3#4{%
  \expandafter
  \ifx\csname T@#1\endcsname\relax
    \@latexerr{Encoding scheme  `#1' unknown}\@eha
  \else
    \begingroup
       \def\@tempa{#1}%
       \toks@{}%
       \def\cdp@elt##1##2##3##4{%
          \def\@tempb{##1}%
          \ifx\@tempa\@tempb
             \addto@hook\toks@{\cdp@elt{#1}{#2}{#3}{#4}}%
          \else
             \addto@hook\toks@{\cdp@elt{##1}{##2}{##3}{##4}}%
          \fi}%
        \cdp@list
        \xdef\cdp@list{\the\toks@}%
    \endgroup
    \global
    \@namedef{D@#1}{%
           \def\default@family{#2}%
           \def\default@series{#3}%
           \def\default@shape{#4}%
           }%
  \fi
 }

\def\DeclareFontEncodingDefaults#1#2{%
  \ifx\relax#1\else
    \ifx\default@T\@empty\else
      \font@log{Overwriting encoding scheme text defaults}%
    \fi
    \gdef\default@T{#1}%
  \fi
  \ifx\relax#2\else
    \ifx\default@M\@empty\else
      \font@log{Overwriting encoding scheme math defaults}%
    \fi
    \gdef\default@M{#2}%
  \fi
}
\let\default@T\@empty
\let\default@M\@empty

\def\default@mextra#1{%
  \warn@rel@i\default@mextra\DeclareFontEncodingDefaults
  \DeclareFontEncodingDefaults{\relax}{#1}%
}
\def\preload@sizes{%
     \warn@rel@i\preload@sizes\DeclarePreloadSizes
     \DeclarePreloadSizes{U}%
}
\def\DeclarePreloadSizes#1#2#3#4#5{%
 \@ifundefined{T@#1}%
   {\@latexerr{Encoding scheme  `#1' unknown}\@eha}%
   {%
   \begingroup
    \def\next##1,{%
        \if>##1>%
          \let\next\relax
        \else
          \xdef\font@name{\csname#1/#2/#3/#4/##1\endcsname}%
          \pickup@font
          \global\expandafter\let\font@name\relax
        \fi
        \next}%
     \next#5,,%
   \endgroup
   }%
}
\newif\ifmath@fonts \math@fontstrue
\def\DeclareMathSizes{%
  \@ifstar{\@DeclareMathSizes\math@fontsfalse}%
          {\@DeclareMathSizes{}}}

\def\@DeclareMathSizes#1#2#3#4#5{%
    \@defaultunits\dimen@#2pt\relax\@nnil
    \def\@tempa{#3}%
    \ifx\@tempa\@empty
      \expandafter \let
        \csname S@\strip@pt\dimen@\endcsname
        \math@fontsfalse
    \else
      \expandafter \gdef
      \csname S@\strip@pt\dimen@\endcsname
            {\gdef\tf@size{#3}\gdef\sf@size{#4}%
                             \gdef\ssf@size{#5}%
             #1%
                             }%
    \fi}
\def\fontencoding#1{%
    \expandafter\ifx\csname T@#1\endcsname\relax
      \@latexerr{Encoding scheme `#1' unknown}\@eha
    \else
      \edef\@tempa{#1}%
      \ifx\@tempa\f@encoding
      \else
        \let\f@encoding\@tempa
        \default@T
        \csname T@#1\endcsname
        \csname D@#1\endcsname
      \fi
    \fi
}

\def\fontfamily#1{\edef\f@family{#1}}
\def\fontseries#1{\edef\f@series{#1}}
\def\fontshape#1{\edef\f@shape{#1}}
\def\usefont#1#2#3#4{\fontencoding{#1}\fontfamily{#2}%
             \fontseries{#3}\fontshape{#4}\selectfont
             \ignorespaces}
\def\fontsize#1#2{%
    \@defaultunits\@tempdimb#1pt\relax\@nnil
    \edef\f@size{\strip@pt\@tempdimb}%
    \@defaultunits\@tempskipa #2pt\relax\@nnil
    \edef\f@baselineskip{\the\@tempskipa}}

\def\@defaultunits{\afterassignment\remove@to@nnil}
\begingroup
  \catcode`P=12
  \catcode`T=12
  \lowercase{
    \def\x{\def\rem@pt##1.##2PT{##1\ifnum##2>\z@.##2\fi}}}
  \expandafter\endgroup\x
\def\strip@pt{\expandafter\rem@pt\the}
\def\mathversion#1{\@nomath\mathversion
          \expandafter\ifx\csname mv@#1\endcsname\relax
          \@latexerr{Math version `#1' is not defined}\@eha\else
          \edef\math@version{#1}\glb@settings\aftergroup\glb@settings
          \fi}
\def\pickup@font{%
    \expandafter \ifx \font@name \relax
       \define@newfont
    \fi}
{\catcode`\/=12
\gdef\split@name#1/#2/#3/#4/#5\@nil{\def\f@encoding{#1}%
                                    \def\f@family{#2}%
                                    \def\f@series{#3}%
                                    \def\f@shape{#4}%
                                    \def\f@size{#5}}}
\def\curr@fontshape{\f@encoding/\f@family/\f@series/\f@shape}
\def\define@newfont{%
  \begingroup
    \escapechar\m@ne
    \expandafter\expandafter\expandafter
       \split@name\expandafter\string\font@name\@nil
      \try@load@fontshape % try always
    \expandafter\ifx
       \csname\curr@fontshape\endcsname \relax
      \wrong@fontshape\else
      \extract@font\fi
  \endgroup}

\def\try@load@fontshape{%
   \expandafter
   \ifx\csname \f@encoding+\f@family\endcsname\relax
     \font@log{Try loading font information for
                   \f@encoding+\f@family}%
    \global\expandafter\let
       \csname\f@encoding+\f@family\endcsname\@empty
     \makeatletter
     \catcode`\ 9\relax
     \catcode`\^^M9\relax
     \catcode`\\\z@
     \catcode`\{\@ne
     \catcode`\}\tw@
     \catcode`\%14\relax
     \@input{\f@encoding\f@family.fd}%
   \fi
}
\def\makeatletter{\catcode`\@11\relax}
\def\DeclareErrorFont#1#2#3#4#5{%
      \xdef\error@fontshape{%
          \noexpand\expandafter\noexpand\split@name\noexpand\string
          \expandafter\noexpand\csname#1/#2/#3/#4/#5\endcsname
          \noexpand\@nil}%
      \gdef\f@encoding{#1}%
      \gdef\default@family{#2}%
      \gdef\default@series{#3}%
      \gdef\default@shape{#4}%
      \global\let\f@family\default@family
      \global\let\f@series\default@series
      \global\let\f@shape\default@shape
      \gdef\f@size{#5}%
      \gdef\f@baselineskip{#5pt}%
}
\DeclareErrorFont{OT1}{cmr}{m}{n}{10}  %%% don't modify this setting
                                       %%% overwrite it in fontdef.cfg
                                       %%% if necessary
\def\wrong@fontshape{%
    \csname D@\f@encoding\endcsname      % install defaults if in math
    \edef\@tempa{\csname\curr@fontshape\endcsname}%
  \ifx\last@fontshape\@tempa
     \errmessage{Corrupted NFSS tables}%
     \error@fontshape
  \else
    \let\f@shape\default@shape
    \expandafter\ifx\csname\curr@fontshape\endcsname\relax
       \let\f@series\default@series
        \expandafter
          \ifx\csname\curr@fontshape\endcsname\relax
           \let\f@family\default@family
        \fi \fi
  \fi
    \font@warning{Font shape `\@tempa' undefined\f@warn@break
                  using `\curr@fontshape' instead}%
    \global\let\last@fontshape\@tempa
    \global\expandafter\expandafter\expandafter\let\expandafter\@tempa
           \csname\curr@fontshape\endcsname
    \xdef\font@name{%
      \csname\curr@fontshape/\f@size\endcsname}%
    \pickup@font}
\def\strip@prefix#1>{}
\def\err@rel@i#1#2{%
 \errhelp{The new release of NFSS doesn't support the
          #1 command^^Jany longer.
          Please upgrade your file to the syntax of NFSS
          release 2^^Jusing the #2 command.}%
  \errmessage{***  NFSS release 1 command \noexpand#1found%
           ^^J***  Recovery not possible. Use \string#2}%
  \batchmode\input.\relax
}
\def\define@mathalphabet#1#2#3#4#5#6{%
      \err@rel@i\define@mathalphabet\DeclareMathAlphabet
}
\let\install@mathalphabet\gdef
\def\define@mathgroup#1#2#3#4#5{%
      \err@rel@i\define@mathgroup\DeclareSymbolFont
}
\let\math@fonts\@empty
\def\extract@alph@from@version#1#2#3{%
     \def\@tempa##1\install@mathalphabet#3##2##3\@nil{%
         \def\@tempb{##2}%
         \def\@tempc####1{\gdef#1{##1####1##3}}}%
     \expandafter\@tempa#1\@nil
     \def\@tempa\select@group#3##1##2\@nil{%
        \@tempc{%
           \getanddefine@fonts{#2}##2%
           \install@mathalphabet#3{\use@mathgroup##1{#2}}}%
        \gdef#3{\use@mathgroup##1{#2}}}%
     \expandafter\@tempa\@tempb\@nil
     }
\let\math@bgroup\begingroup
\def\math@egroup#1{#1\endgroup}
\def\glb@settings{\begingroup
     \expandafter\ifx\csname S@\f@size\endcsname\relax
       \calculate@math@sizes
     \fi
     \csname S@\f@size\endcsname
      \ifmath@fonts
        \escapechar\m@ne
        \csname mv@\math@version \endcsname
      \else
        \math@fontstrue
      \fi
    \globaldefs\@ne
    \math@fonts
    \let \glb@currsize \f@size
  \endgroup}
\def\calculate@math@sizes{%
  \font@warning{Calculating math sizes for size <\f@size>}%
  \dimen@\f@size \p@
  \@tempdimb .7\dimen@
  \dimen@ .5\dimen@
  \expandafter\xdef\csname S@\f@size\endcsname{%
    \gdef\noexpand\tf@size{\f@size}%
    \gdef\noexpand\sf@size{\strip@pt\@tempdimb}%
    \gdef\noexpand\ssf@size{\strip@pt\dimen@}%
    \noexpand\math@fontstrue}}
\ifx\noaccents@\undefined
  \let\noaccents@\@empty
\fi
\def\showhyphens#1{\setbox0\vbox{\parfillskip\z@skip\hsize\maxdimen
  \reset@font
  \pretolerance\m@ne\tolerance\m@ne\hbadness\z@\showboxdepth\z@\ #1}}
\def\addto@hook#1#2{#1\expandafter{\the#1#2}}
\ifx\inputlineno\undefined
  \let\on@line\@empty
\else
  \ifnum\inputlineno=\m@ne
    \let\on@line\@empty
  \else
    \def\on@line{ on input line \the\inputlineno}
  \fi
\fi


\def\filename{tracefnt}
\def\fileversion{v2.2e}
\def\filedate{1993/12/19}
\def\docdate {1993/11/11}


%% Copyright (C) 1989-1993 Frank Mittelbach and Rainer Sch\"opf,
%% all rights reserved.
 \immediate\write\sixt@@n{File: `tracefnt' \@spaces
 \fileversion\space <\filedate>  (FMi and RmS)}
\immediate\write\sixt@@n{English Documentation
 \@spaces  <\docdate>  (FMi and RmS)}
\def\tracingfonts{\font@warning{Command \noexpand\tracingfonts
                  not provided.\f@warn@break
                  Use the `tracefnt' package.\f@warn@break Command found:}%
                  \count@}
\def\font@warning#1{\immediate\write\sixt@@n
                 {^^JNFSS Info: #1\on@line.^^J}}
\def\font@log#1{%
          \immediate\write\m@ne{NFSS Note: #1\on@line.}}
\def\extract@font{%
   \get@external@font
   \global\expandafter\font\font@name\external@font\relax
    \font@name \relax
    \csname \f@encoding+\f@family\endcsname
    \csname\curr@fontshape\endcsname
    \relax
       }
\def\get@external@font{%
   \let\external@font\@empty
   \edef\font@info{\expandafter\expandafter\expandafter\string
        \csname \curr@fontshape \endcsname}%
   \try@size@range
   \ifx\external@font\@empty
      \try@size@substitution
      \ifx\external@font\@empty
         \errmessage{Font \expandafter \string\font@name\space
                     not found}%
         \error@fontshape
         \get@external@font
   \fi\fi
}

\def\selectfont{%
    \xdef\font@name{%
      \csname\curr@fontshape/\f@size\endcsname}%
    \pickup@font
    \font@name
      \@tempskipa \f@baselineskip\relax
      \baselineskip \baselinestretch\@tempskipa
    \setbox\strutbox\hbox{\vrule\@height.7\baselineskip
        \@depth.3\baselineskip \@width\z@}%
    \normalbaselineskip\baselineskip
    \ifx \glb@currsize \f@size
     \else
     \glb@settings \the\every@size
       \aftergroup\glb@settings \fi
    }
\def\baselinestretch{1}
\newtoks\every@size
\every@size={}
\def\use@mathgroup#1#2{\relax\ifmmode
     \math@bgroup
         \expandafter\ifx\csname M@\f@encoding\endcsname#1\else
         #1\fi
         \mathgroup#2\relax
     \expandafter\math@egroup\fi}%
\def\getanddefine@fonts#1#2{%
  \xdef\font@name{\csname \string#2/\tf@size\endcsname}%
  \pickup@font \let\textfont@name\font@name
  \xdef\font@name{\csname \string#2/\sf@size\endcsname}%
  \pickup@font \let\scriptfont@name\font@name
  \xdef\font@name{\csname \string#2/\ssf@size\endcsname}%
  \pickup@font
  \edef\math@fonts{\math@fonts
               \textfont#1\textfont@name
               \scriptfont#1\scriptfont@name
               \scriptscriptfont#1\font@name}%
    }
\def\ifnot@nil#1{\def\@tempa{#1}%
  \ifx\@tempa\@nnil \expandafter\@gobble\else \expandafter\@iden\fi}
\def\remove@to@nnil#1\@nnil{}
\def\remove@angles#1>{\set@simple@size@args}
\def\remove@star#1*{#1}
\def\gobble@font@spec#1\@nil<\@nnil{}
\def\extract@sizefn#1*#2\@nil{%
  \if>#2>\set@size@funct@args#1\@nil
         \let\sizefn@info\@empty
  \else\expandafter\set@size@funct@args\remove@star#2\@nil
       \def\sizefn@info{#1}\fi
  }
%% this could be replaced by \try@size@range making the subst slower!
\def\try@simple@size{%
    \def\@tempa{\def\extract@fontinfo####1}%
    \expandafter\@tempa\expandafter<\f@size>##2<##3\@nnil{%
          \ifnot@nil{##2}%
            {\set@simple@size@args##2<##3\@nnil
             \execute@size@function\sizefn@info
            }}%
    \expandafter\expandafter
    \expandafter\extract@fontinfo\expandafter\font@info
    \expandafter<\f@size>\@nil<\@nnil
}
\def\set@simple@size@args#1<{%
          \if<#1<%
            \expandafter\remove@angles
          \else
            \extract@sizefn#1*\@nil
            \expandafter\remove@to@nnil
          \fi}
\def\extract@rangefontinfo#1<#2>{%
       \is@range#2->\@nil#2>}
\def\is@range#1-#2\@nil{%
   \if>#2\expandafter\check@single\else
      \expandafter\check@range\fi}
\newdimen\lower@bound
\newdimen\upper@bound
\def\check@range#1-#2>#3<#4\@nnil{%
  \ifnot@nil{#3}{%
     \def\next{\extract@rangefontinfo<#4\@nnil}%
     \upper@bound0#2\p@
     \ifdim\upper@bound=\z@ \upper@bound\maxdimen\fi
     \ifdim \f@size \p@<\upper@bound
       \lower@bound0#1\p@
       \ifdim \f@size \p@<\lower@bound
        \else
          \set@simple@size@args#3<#4\@nnil
          \execute@size@function\sizefn@info
         \ifx\external@font\@empty
         \else
           \let\next\@empty
         \fi
       \fi
     \fi
     \next}}
\def\check@single#1>#2<#3\@nnil{%
     \def\next{\extract@rangefontinfo<#3\@nnil}%
     \ifdim \f@size \p@=#1\p@
        \set@simple@size@args#2<#3\@nnil
        \execute@size@function\sizefn@info
        \ifx\external@font\@empty
        \else
          \let\next\@empty
        \fi
     \fi
     \next}
\def\set@size@funct@args{\@ifnextchar[%
  \set@size@funct@args@{\set@size@funct@args@[]}}
\def\set@size@funct@args@[#1]#2\@nil{%
  \def\mandatory@arg{#2}%
  \def\optional@arg{#1}}
\def\DeclareSizeFunction#1#2{\@namedef{s@fct@#1}{#2}}
\def\execute@size@function#1{%
      \csname s@fct@#1\endcsname
}
\def\f@warn@break{^^J\@spaces\@spaces\@spaces}
\def\f@warn@break{^^JNFSS \@spaces\space\space}
\def\try@size@range{%
    \expandafter\extract@rangefontinfo\font@info <-*>\@nil<\@nnil
}

\def\try@size@substitution{%
    \@tempdimb\z@
    \@tempdimc\maxdimen
    \let\lower@font@size\@empty
    \let\higher@font@size\@empty
    \expandafter\extract@subfontinfo\font@info <\number\@M>\@nil<\@nnil
    \dimen@-\f@size\p@
    \advance\@tempdimb\dimen@
    \@tempdimb-\@tempdimb
    \advance\@tempdimc\dimen@
    \ifdim\@tempdimb<\@tempdimc
      \subst@size\lower@font@size\@tempdimb
      \subst@size\higher@font@size\@tempdimc
    \else
      \subst@size\higher@font@size\@tempdimc
      \subst@size\lower@font@size\@tempdimb
   \fi}
\def\subst@size#1#2{%
  \ifx#1\@empty\else
   \ifx\external@font\@empty
      \ifdim#2>\fontsubmax
        \global\fontsubmax#2% #2 should be register
      \fi
      \let\f@user@size\f@size
      \let\f@size#1%
      \ifdim#2>\fontsubfuzz
        \font@warning{Font shape `\curr@fontshape'
                    in size <\f@user@size> not
                    available.\f@warn@break
                    size <\f@size> substituted}%
      \fi
      \try@simple@size
      \do@subst@correction
  \fi
 \fi}
\newdimen\fontsubmax
\newdimen\fontsubfuzz
\fontsubmax=0pt
\fontsubfuzz=.4pt
\def\extract@subfontinfo#1<#2>{%
  \is@simple#2->\is@simple}
\def\is@simple#1-#2\is@simple{%
   \let\next\extract@subfontinfo
   \if>#2%
      \dimen@ #1\p@
      \ifdim \f@size\p@<\dimen@
        \ifdim \dimen@ <\@M\p@
          \def\higher@font@size{#1}%
          \@tempdimc\dimen@
        \fi
        \let\next\gobble@font@spec
      \else
        \def\lower@font@size{#1}%
        \@tempdimb\dimen@
      \fi
    \fi\next}
\DeclareSizeFunction{}{\empty@sfcnt\font@warning}
\DeclareSizeFunction{s}{\empty@sfcnt\font@log}

\def\empty@sfcnt#1{%
      \@tempdimb \f@size\p@
      \ifx\optional@arg\@empty
      \else
        \@tempdimb \optional@arg\@tempdimb
        #1{Font shape `\curr@fontshape'
            will be\f@warn@break
            scaled to size \the\@tempdimb}%
      \fi
      \edef\external@font{\mandatory@arg\space at\the\@tempdimb}}
\DeclareSizeFunction{gen}{\gen@sfcnt\font@warning}
\DeclareSizeFunction{sgen}{\gen@sfcnt\font@log}

\def\gen@sfcnt{%
      \edef\mandatory@arg{\mandatory@arg\f@size}%
      \empty@sfcnt}
\DeclareSizeFunction{sub}{\sub@sfcnt\font@warning}
\DeclareSizeFunction{ssub}{\sub@sfcnt\font@log}
\def\sub@sfcnt#1{%
    \edef\mandatory@arg{\f@encoding/\mandatory@arg}%
    \begingroup
     \expandafter\split@name\mandatory@arg/\@nil
     \try@load@fontshape
    \endgroup
    \let\f@user@size\f@size
    \expandafter
    \ifx\csname\mandatory@arg\endcsname\relax
      \errmessage{No declaration for shape \mandatory@arg}%
      \error@fontshape
    \else
      #1{Font shape `\curr@fontshape' in size <\f@size> not
                    available.\f@warn@break
                    Font shape `\mandatory@arg' tried instead}%
      \expandafter\split@name\mandatory@arg/\@nil
    \fi
    \edef\f@size{\f@user@size}%
    \get@external@font
    \do@subst@correction
}
\DeclareSizeFunction{subf}{\subf@sfcnt\font@warning}
\DeclareSizeFunction{ssubf}{\subf@sfcnt\font@log}
\def\subf@sfcnt#1{%
      #1{Font shape `\curr@fontshape'
                    in size \f@size\space
                    not available.\f@warn@break
                    external font `\mandatory@arg'
                    used}%
      \empty@sfcnt#1%
      }
\DeclareSizeFunction{fixed}{\fixed@sfcnt\font@warning}
\DeclareSizeFunction{sfixed}{\fixed@sfcnt\font@log}
\def\fixed@sfcnt#1{%
  \ifx\optional@arg\@empty
    \let\external@font\mandatory@arg
  \else
    \edef\external@font{\mandatory@arg\space at\optional@arg pt}%
  \fi
  #1{External font `\external@font' loaded for size <\f@size>}%
}


\def\filename{setsize}
\def\fileversion{v2.1a}
\def\filedate{1993/12/03}
\def\docdate {1993/12/03}


%% File `setsize.dtx'.
%% Copyright (C) 1989-1993 Frank Mittelbach and Rainer Sch\"opf,
%% all rights reserved.

\immediate\write\sixt@@n{File: `setsize' \space
 \@spaces \fileversion \space <\filedate> (FMi and RmS)}
\immediate\write\sixt@@n{English Documentation
      \space \@spaces <\docdate> (FMi and RmS)}

\def\@normalsize{\fontsize{10}{12}\selectfont}

 \def\@vpt{5}
 \def\@vipt{6}
 \def\@viipt{7}
 \def\@viiipt{8}
 \def\@ixpt{9}
 \def\@xpt{10}
 \def\@xipt{10.95}
 \def\@xiipt{12}
 \def\@xivpt{14.4}
 \def\@xviipt{17.28}
 \def\@xxpt{20.74}
 \def\@xxvpt{24.88}
 \DeclareMathSizes{5}{5}{5}{5}
 \DeclareMathSizes{6}{6}{5}{5}
 \DeclareMathSizes{7}{7}{5}{5}
 \DeclareMathSizes{8}{8}{6}{5}
 \DeclareMathSizes{9}{9}{6}{5}
 \DeclareMathSizes{\@xpt}{\@xpt}{7}{5}
 \DeclareMathSizes{\@xipt}{\@xipt}{8}{6}
 \DeclareMathSizes{\@xiipt}{\@xiipt}{8}{6}
 \DeclareMathSizes{\@xivpt}{\@xivpt}{\@xpt}{7}
 \DeclareMathSizes{\@xviipt}{\@xviipt}{\@xiipt}{\@xpt}
 \DeclareMathSizes{\@xxpt}{\@xxpt}{\@xivpt}{\@xiipt}
 \DeclareMathSizes{\@xxvpt}{\@xxvpt}{\@xxpt}{\@xviipt}

\def\filename{latint}
\def\fileversion{v2.1a}
\def\filedate{1993/12/03}
\def\docdate {1993/12/03}


\immediate\write\sixt@@n{File: `latint' \space\space
 \@spaces\fileversion\space <\filedate>  (FMi and RmS)}
\immediate\write\sixt@@n{English Documentation
 \@spaces\space <\docdate>  (FMi and RmS)}
\newif\if@tempswa
\def\in@#1#2{%
 \def\in@@##1#1##2##3\in@@{%
  \ifx\in@##2\in@false\else\in@true\fi}%
 \in@@#2#1\in@\in@@}
\newif\ifin@
\let\version@list=\@empty
\def\@gobblefour#1#2#3#4{}
\def\newmathalphabet{%
  \warn@rel@i\newmathalphabet\DeclareMathAlphabet
  \@ifstar\newmathalphabet@@@
          \newmathalphabet@@}
\def\newmathalphabet@@#1{\DeclareMathAlphabet#1{U}{}{}{}}
\def\newmathalphabet@@@#1#2#3#4{%
       \DeclareMathAlphabet{#1}{U}{#2}{#3}{#4}}
\let\alpha@list\@empty
\def\addtoversion#1#2{%
  \warn@rel@i\addtoversion\SetMathAlphabet
  \SetMathAlphabet#2{#1}{U}}
\count18=-1

\def\typeout#1{\begingroup
  \let\protect\string
  \immediate\write\@unused{#1}\endgroup}

\def\stepcounter #1{\global\advance\csname c@#1\endcsname\@ne
  \begingroup\let\@elt\@stpelt \csname cl@#1\endcsname\endgroup }


\long\def\@ifundefined#1#2#3{\expandafter\ifx\csname
  #1\endcsname\relax#2\else#3\fi}

\def\@latexerr#1#2{\errmessage{#1}} % during installation of nfss

\chardef\@unused=17


\dimendef\@tempdima=4
\dimendef\@tempdimb=6
\newdimen\@tempdimc

\newif\ifrestore@version \restore@versiontrue

\def\select@group#1#2#3{\relax
 \ifmmode
  \ifnum\csname c@mv@\math@version\endcsname<\sixt@@n
     \begingroup
       \escapechar\m@ne
       \getanddefine@fonts{\csname c@mv@\math@version\endcsname}#3%
       \globaldefs\@ne  \math@fonts
     \endgroup
     \ifrestore@version
        \global\restore@versionfalse
        \xdef\restore@mathversion
             {\expandafter\noexpand\csname mv@\math@version\endcsname
              \global\csname c@mv@\math@version\endcsname
              \number\csname c@mv@\math@version\endcsname\relax}%
        \aftergroup\dorestore@version
     \fi
     \xdef#1{\noexpand\use@mathgroup\noexpand#2%
             {\number\csname c@mv@\math@version\endcsname}}%
     \stepcounter{mv@\math@version}%
   \else
     \let#1\relax
     \@latexerr{Too many math alphabets used in version \math@version}%
        \@eha
   \fi
 \else \expandafter\non@alpherr\fi
 #1}

\def\non@alpherr#1{\@latexerr{%
    \expandafter\@leftmark\string#1 allowed only in math mode}\@ehd}

\def\dorestore@version
 {\ifmmode
    \aftergroup\dorestore@version
  \else
    \global\restore@versiontrue
    \begingroup
      \let\getanddefine@fonts\@gobbletwo
      \restore@mathversion
    \endgroup
  \fi}%

\def\document@select@group#1#2#3{\relax
 \ifmmode
   \ifnum\csname c@mv@\math@version\endcsname<\sixt@@n
     \begingroup
       \escapechar\m@ne
       \getanddefine@fonts{\csname c@mv@\math@version\endcsname}#3%
       \globaldefs\@ne  \math@fonts
     \endgroup
     \expandafter\extract@alph@from@version
         \csname mv@\math@version\expandafter\endcsname
         \expandafter{\number\csname
                       c@mv@\math@version\endcsname}%
          #1%
     \stepcounter{mv@\math@version}%
   \else
     \let#1\relax
     \@latexerr{Too many math alphabets used in version \math@version}%
        \@eha
  \fi
 \else \expandafter\non@alpherr\fi
 #1}

\def\process@table{%
    \def\cdp@elt##1##2##3##4{%
        \font@log{Check substitution defaults for
                  ##1/##2/##3/##4}%
        \expandafter
        \ifx\csname##1/##2/##3/##4\endcsname\relax
          \begingroup
           \def\f@encoding{##1}\def\f@family{##2}%
           \try@load@fontshape
          \endgroup
        \fi
        \expandafter
        \ifx\csname##1/##2/##3/##4\endcsname\relax
             \errhelp{For encoding scheme ##1 the defaults
                      ##2/##3/##4 do not form a valid font shape}%
             \errmessage{This NFSS system isn't set up properly.}%
        \else
             \font@log{... okay}%
        \fi}%
    \cdp@list
    \begingroup
       \escapechar\m@ne
       \error@fontshape
       \expandafter\ifx\csname \curr@fontshape\endcsname\relax
          \begingroup
            \try@load@fontshape
           \endgroup
       \fi
       \expandafter\ifx\csname \curr@fontshape\endcsname\relax
         \errhelp{The sytem maintainer forgot to specify a suitable
                  substitution
                  font shape using the \noexpand\DeclareErrorFont
                  command}%
         \errmessage{This NFSS system isn't set up properly}%
       \fi
    \endgroup
    \let\select@group\document@select@group
    \fontencoding{\encodingdefault}%
    \fontfamily{\familydefault}%
    \fontseries{\seriesdefault}%
    \fontshape{\shapedefault}%
 \everyjob{}%
}

\@onlypreamble\@@DeclareMathDelimiter
\@onlypreamble\@DeclareMathDelimiter
\@onlypreamble\DeclareFontEncoding
\@onlypreamble\DeclareFontEncoding@
\@onlypreamble\DeclareFontEncodingDefaults
\@onlypreamble\DeclareFontSubstitution
\@onlypreamble\DeclareErrorFont
\@onlypreamble\DeclareMathAccent
\@onlypreamble\DeclareMathAlphabet
\@onlypreamble\DeclareMathDelimiter
\@onlypreamble\DeclareMathRadical
\@onlypreamble\DeclareMathSizes
\@onlypreamble\DeclareMathSymbol
\@onlypreamble\DeclareMathVersion
\@onlypreamble\DeclarePreloadSizes
\@onlypreamble\DeclareSizeFunction
\@onlypreamble\DeclareSymbolFont
\@onlypreamble\DeclareSymbolFontAlphabet
\@onlypreamble\SetMathAlphabet
\@onlypreamble\SetMathAlphabet@
\@onlypreamble\SetSymbolFont
\@onlypreamble\SetSymbolFont@
\@onlypreamble\alpha@elt
\@onlypreamble\alpha@list
\@onlypreamble\cdp@elt
\@onlypreamble\cdp@list
\@onlypreamble\dorestore@version
\@onlypreamble\get@cdp
\@onlypreamble\group@elt
\@onlypreamble\group@list
\@onlypreamble\ifrestore@version
\@onlypreamble\mathchar@type
\@onlypreamble\new@mathalphabet
\@onlypreamble\new@mathgroup
\@onlypreamble\new@mathversion
\@onlypreamble\new@symbolfont
\@onlypreamble\process@table
\@onlypreamble\restore@mathversion
\@onlypreamble\restore@versionfalse
\@onlypreamble\restore@versiontrue
\@onlypreamble\set@@mathdelimiter
\@onlypreamble\set@mathaccent
\@onlypreamble\set@mathchar
\@onlypreamble\set@mathchar
\@onlypreamble\set@mathdelimiter
\@onlypreamble\set@mathradical
\@onlypreamble\set@mathsymbol
\@onlypreamble\set@mathsymbol
\@onlypreamble\version@elt
\@onlypreamble\version@list
\@onlypreamble\addtoversion
\@onlypreamble\default@mextra
\@onlypreamble\define@mathalphabet
\@onlypreamble\define@mathgroup
\@onlypreamble\extra@def
\@onlypreamble\new@fontshape
\@onlypreamble\newmathalphabet
\@onlypreamble\newmathalphabet@@
\@onlypreamble\newmathalphabet@@@
\@onlypreamble\preload@sizes
\@onlypreamble\scan@fontshape
\@onlypreamble\scan@@fontshape
\@onlypreamble\subst@fontshape

\def\DeclareMathVersion#1{%
  \expandafter\new@mathversion\csname mv@#1\endcsname}

\def\new@mathversion#1{%
  \expandafter\in@\expandafter#1\expandafter{\version@list}%
  \ifin@
    \font@warning{Redeclaring math version
               `\expandafter\@gobblefour\string#1'}%
  \else
    \global\expandafter\newcount\csname c@\expandafter
                                \@gobble\string#1\endcsname
    \def\version@elt{\noexpand\version@elt\noexpand}%
    \edef\version@list{\version@list\version@elt#1}%
  \fi
  \toks@{}%
  \count@\z@
  \def\group@elt##1##2{%
       \advance\count@\@ne
       \addto@hook\toks@{\getanddefine@fonts##1##2}%
       }%
  \group@list
  \global\csname c@\expandafter\@gobble\string#1\endcsname\count@
  \def\alpha@elt##1##2##3{%
       \ifx##2\no@alphabet@error
         \toks@\expandafter{\the\toks@\install@mathalphabet##1%
             {\no@alphabet@error##1}}%
       \else
         \toks@\expandafter{\the\toks@\install@mathalphabet##1%
             {\select@group##1##2##3}}%
       \fi
          }%
  \alpha@list
  \xdef#1{\the\toks@}%
}

\def\DeclareSymbolFont#1#2#3#4#5{%
 \@tempswafalse
 \edef\@tempb{#2}%
 \def\cdp@elt##1##2##3##4{\def\@tempc{##1}%
      \ifx\@tempb\@tempc \@tempswatrue\fi}%
 \cdp@list
 \if@tempswa
   \@ifundefined{sym#1}{%
      \expandafter\new@mathgroup\csname sym#1\endcsname
      \expandafter\new@symbolfont\csname sym#1\endcsname
                        {#2}{#3}{#4}{#5}}%
     {%
      \font@warning{Redeclaring symbol font `#1'}%
      \def\group@elt##1##2{%
          \expandafter\ifx\csname sym#1\endcsname##1%
               \expandafter\addto@hook\expandafter
                  \toks@\expandafter{\expandafter\group@elt
                  \expandafter##1\csname#2/#3/#4/#5\endcsname}%
             \else
               \addto@hook\toks@{\group@elt##1##2}%
             \fi
          }%
      \toks@{}%
      \group@list
      \def\version@elt##1{%
          \expandafter
          \SetSymbolFont@\expandafter##1\csname#2/#3/#4/#5\expandafter
              \endcsname \csname sym#1\endcsname
          }%
      \version@list
     }%
  \else
    \@latexerr{Encoding scheme  `#2' unknown}\@eha
  \fi
  }
\let\group@list\@empty

\def\new@symbolfont#1#2#3#4#5{%
    \toks@\expandafter{\group@list}%
    \edef\group@list{\the\toks@\noexpand\group@elt\noexpand#1%
                     \expandafter\noexpand\csname#2/#3/#4/#5\endcsname}%
    \def\version@elt##1{\toks@\expandafter{##1}%
                   \edef##1{\the\toks@\noexpand\getanddefine@fonts
                   #1\expandafter\noexpand\csname#2/#3/#4/#5\endcsname}%
                  \global\advance\csname c@\expandafter
                                 \@gobble\string##1\endcsname\@ne
                 }%
    \version@list
}

\def\SetSymbolFont#1#2#3#4#5#6{%
 \@tempswafalse
 \edef\@tempb{#3}%
 \def\cdp@elt##1##2##3##4{\def\@tempc{##1}%
      \ifx\@tempb\@tempc \@tempswatrue\fi}%
 \cdp@list
 \if@tempswa
  \expandafter\SetSymbolFont@
    \csname mv@#2\expandafter\endcsname\csname#3/#4/#5/#6\expandafter
    \endcsname \csname sym#1\endcsname
 \else
  \@latexerr{Encoding scheme  `#3' unknown}\@eha
 \fi
}

\def\SetSymbolFont@#1#2#3{%
  \expandafter\in@\expandafter#1\expandafter{\version@list}%
  \ifin@
    \expandafter\in@\expandafter#3\expandafter{\group@list}%
    \ifin@
      \begingroup
        \expandafter\get@cdp\string#2\@nil\@tempa
        \toks@{}%
        \def\install@mathalphabet##1##2{%
             \addto@hook\toks@{\install@mathalphabet##1{##2}}%
            }%
        \def\getanddefine@fonts##1##2{%
          \ifnum##1=#3%
             \addto@hook\toks@{\getanddefine@fonts#3#2}%
             \expandafter\get@cdp\string##2\@nil\@tempb
             \ifx\@tempa\@tempb\else
                \font@warning{Encoding `\@tempb' has changed
                    to `\@tempa' for symbol font\f@warn@break
                   `\expandafter\@gobblefour\string#3' in the
                    math version `\expandafter
                    \@gobblefour\string#1'}%
             \fi
             \font@log{%
                Overwriting symbol font
                `\expandafter\@gobblefour\string#3' in
                 version `\expandafter
                \@gobblefour\string#1'\f@warn@break
                \@spaces \expandafter\@gobble\string##2 -->
                         \expandafter\@gobble\string#2}%
          \else
             \addto@hook\toks@{\getanddefine@fonts##1##2}%
          \fi}%
         #1%
         \xdef#1{\the\toks@}%
      \endgroup
    \else
       \@latexerr{Symbol font `\expandafter\@gobblefour\string#3'
                  not defined}\@eha
    \fi
  \else
    \@latexerr{Math version `\expandafter\@gobblefour\string#1' is not
       defined}{You probably mispelled the name of the math
       version.^^JOr you have to specify another document
       style option^^Jin the \string\documentstyle\space
       command.}%
  \fi
}

\def\get@cdp#1#2/#3\@nil#4{\def#4{#2}}

\def\DeclareMathAlphabet#1#2#3#4#5{%
 \@tempswafalse
 \edef\@tempb{#2}%
 \def\cdp@elt##1##2##3##4{\def\@tempc{##1}%
      \ifx\@tempb\@tempc \@tempswatrue\fi}%
 \cdp@list
 \if@tempswa
   \ifx#1\undefined
      \new@mathalphabet#1{#2}{#3}{#4}{#5}%
   \else
     \edef\@tempa{\noexpand\in@{\string\select@group}%
         {\expandafter\meaning\csname @\expandafter
          \@gobble\string#1\endcsname}}%
     \@tempa
     \ifin@
       \font@warning{Redeclaring math alphabet \string#1}%
       \def\version@elt##1{%
         \expandafter\SetMathAlphabet@\expandafter
            ##1\csname#2/#3/#4/#5\expandafter\endcsname
            \csname M@#3\expandafter\endcsname
            \csname @\expandafter\@gobble\string#1\endcsname#1}%
       \version@list
     \else
       \edef\@tempa{\noexpand\in@{\string\use@mathgroup}%
         {\expandafter\meaning\csname @\expandafter
          \@gobble\string#1\endcsname}}%
       \@tempa
       \ifin@
         \font@warning{Redeclaring math alphabet \string#1}%
         \new@mathalphabet#1{#2}{#3}{#4}{#5}%
       \else
         \@latexerr{Command `\string#1' already defined}\@eha
       \fi
     \fi
  \fi
 \else
  \@latexerr{Encoding scheme  `#2' unknown}\@eha
 \fi
  }

\def\new@mathalphabet#1#2#3#4#5{%
    \toks@\expandafter{\alpha@list}%
    \edef#1{\expandafter\noexpand\csname @\expandafter
            \@gobble\string#1\endcsname
            \if/#5/%
               \noexpand\no@alphabet@error
               \noexpand\no@alphabet@error
            \else
               \expandafter\noexpand\csname M@#2\endcsname
               \expandafter\noexpand\csname#2/#3/#4/#5\endcsname
            \fi
           }%
    \toks2\expandafter{#1}%
    \edef\alpha@list{\the\toks@\noexpand\alpha@elt\the\toks2}%
    \def\version@elt##1{\toks@\expandafter{##1}%
                   \edef##1{\the\toks@\install@mathalphabet
                            \expandafter\noexpand
                            \csname @\expandafter\@gobble
                               \string#1\endcsname
                           {\if/#5/%
                             \noexpand\no@alphabet@error
                             \noexpand#1%
                            \else
                             \noexpand\select@group\the\toks2
                            \fi}}%
                 }%
    \version@list
    \expandafter\edef\csname @\expandafter\@gobble
                \string#1\endcsname{\if/#5/%
              \noexpand\no@alphabet@error
              \noexpand#1%
            \else
              \noexpand\select@group\the\toks2
            \fi}%
    \edef#1{\noexpand\protect
            \expandafter\noexpand\csname @\expandafter
            \@gobble\string#1\endcsname}%
}

\def\no@alphabet@error#1{\relax \ifmmode
    \errhelp\no@alphabet@help
    \errmessage{Math alphabet identifier \noexpand#1is undefined
                in math version `\math@version'.} \fi}

\let\alpha@list\@empty

\def\SetMathAlphabet#1#2#3#4#5#6{%
 \@tempswafalse
 \edef\@tempb{#3}%
 \def\cdp@elt##1##2##3##4{\def\@tempc{##1}%
      \ifx\@tempb\@tempc \@tempswatrue\fi}%
 \cdp@list
 \if@tempswa
  \expandafter\SetMathAlphabet@
    \csname mv@#2\expandafter\endcsname\csname#3/#4/#5/#6\expandafter
    \endcsname \csname M@#3\expandafter\endcsname
    \csname @\expandafter\@gobble\string#1\endcsname#1%
 \else
  \@latexerr{Encoding scheme  `#3' unknown}\@eha
 \fi
}

\def\SetMathAlphabet@#1#2#3#4#5{%
  \expandafter\in@\expandafter#1\expandafter{\version@list}%
  \ifin@
    \expandafter\in@\expandafter#4\expandafter{\alpha@list}%
    \ifin@
      \begingroup
        \toks@{}%
        \def\getanddefine@fonts##1##2{%
             \addto@hook\toks@{\getanddefine@fonts##1##2}%
            }%
        \def\@tempc##1##2##3##4{%                % for message below
            \expandafter\@gobble\string##4}
        \def\install@mathalphabet##1##2{%
          \ifx##1#4%
             \addto@hook\toks@{\install@mathalphabet#4{\select@group#4#3#2}}%
             \font@log{Overwriting math alphabet
                `\string#5' in version `\expandafter
                 \@gobblefour\string#1'\f@warn@break
                 \@spaces \@tempc##2 -->
                        \expandafter\@gobble\string#2}%
          \else
             \addto@hook\toks@{\install@mathalphabet##1{##2}}%
          \fi
          }%
        #1%
        \xdef#1{\the\toks@}%
      \endgroup
    \else
       \edef\@tempa{\noexpand\in@{\string\use@mathgroup}{\meaning#4}}%
       \@tempa
       \ifin@
         \def\@tempb##1##2##3{\def\@tempb{##3}\def\@tempc{##2}}%
         \expandafter\@tempb#4%
         \begingroup
           \def\install@mathalphabet##1##2{%
               \addto@hook\toks@{\install@mathalphabet##1{##2}}%
               }%
            \def\getanddefine@fonts##1##2{%
              \addto@hook\toks@{\getanddefine@fonts##1##2}%
              \ifnum##1=\@tempb
                 \expandafter
                 \addto@hook\expandafter\toks@
                 \expandafter{\expandafter\install@mathalphabet
                 \expandafter#4\expandafter
                       {\expandafter\select@group\expandafter
                         #4\@tempc##2}}%
              \fi
                      }%
           \def\version@elt##1{%
               \toks@{}%
               ##1%
               \xdef##1{\the\toks@}%
              }%
           \version@list
         \endgroup
         \expandafter\gdef\expandafter\alpha@list\expandafter
             {\alpha@list
              \alpha@elt #4\no@alphabet@error \no@alphabet@error}%
         \gdef#4{\no@alphabet@error #5}% fake things :-)
         \SetMathAlphabet@{#1}{#2}{#3}#4#5%
       \else
         \@latexerr{Command `\string#5' not defined as a math alphabet}%
            {Use \noexpand\DeclareMathAlphabet to define it.}%
       \fi
    \fi
  \else
    \@latexerr{Math version `\expandafter\@gobblefour\string#1' is not
       defined}{You probably mispelled the name of the math
       version.^^JOr you have to specify another document
       style option^^Jin the \string\documentstyle\space
       command.}%
  \fi
}


\def\DeclareMathAccent#1#2#3#4{%
  \expandafter\in@\csname sym#3\expandafter\endcsname
     \expandafter{\group@list}%
  \ifin@
    \begingroup
      \uppercase{\count\z@=#4}%
      \count\tw@\count\z@
      \divide\count\z@\sixt@@n
      \count@\count\z@
      \multiply\count@\sixt@@n
      \advance\count\tw@-\count@
      \if\relax\noexpand#1% is command?
        \edef\@tempa{\noexpand\in@{\string\mathaccent}{\meaning#1}}%
        \@tempa
        \ifin@
          \expandafter\set@mathaccent
             \csname sym#3\endcsname#1#2%
             {\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
          \font@log{Redeclaring math accent \string#1}%
        \else
          \ifx#1\undefined
            \expandafter\set@mathaccent
               \csname sym#3\endcsname#1#2%
               {\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
          \else
            \@latexerr{Command `\string#1' already defined}\@eha
          \fi
        \fi
      \else
       \@latexerr{Not a command name: `\noexpand#1'}\@eha
      \fi
    \endgroup
  \else
    \@latexerr{Symbol font `#3' is not defined}\@eha
  \fi
}

\def\set@mathaccent#1#2#3#4{%
  \xdef#2{\mathaccent"\mathchar@type#3\hexnumber@#1#4\relax}}

\def\DeclareMathSymbol#1#2#3#4{%
  \expandafter\in@\csname sym#3\expandafter\endcsname
     \expandafter{\group@list}%
  \ifin@
    \begingroup
      \uppercase{\count\z@=#4}%
      \count\tw@\count\z@
      \divide\count\z@\sixt@@n
      \count@\count\z@
      \multiply\count@\sixt@@n
      \advance\count\tw@-\count@
      \if\relax\noexpand#1% is command?
        \edef\@tempa{\noexpand\in@{\string\mathchar}{\meaning#1}}%
        \@tempa
        \ifin@
          \expandafter\set@mathsymbol
             \csname sym#3\endcsname#1#2%
             {\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
          \font@log{Redeclaring math symbol \string#1}%
        \else
          \ifx#1\undefined
            \expandafter\set@mathsymbol
               \csname sym#3\endcsname#1#2%
               {\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
          \else
            \@latexerr{Command `\string#1' already defined}\@eha
          \fi
        \fi
      \else
        \expandafter\set@mathchar
          \csname sym#3\endcsname#1#2
          {\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
      \fi
    \endgroup
  \else
    \@latexerr{Symbol font `#3' is not defined}\@eha
  \fi
}

\def\set@mathchar#1#2#3#4{%
  \global\mathcode`#2="\mathchar@type#3\hexnumber@#1#4\relax}

\def\set@mathsymbol#1#2#3#4{%
  \global\mathchardef#2"\mathchar@type#3\hexnumber@#1#4\relax}



\def\DeclareMathDelimiter#1{%
   \if\relax\noexpand#1%
      \def\next{\@DeclareMathDelimiter#1}%
   \else
      \def\next{\@@DeclareMathDelimiter#1}%
   \fi
   \next
}

\def\@DeclareMathDelimiter#1#2#3#4#5#6{%
  \expandafter\in@\csname sym#3\expandafter\endcsname
     \expandafter{\group@list}%
  \ifin@
    \expandafter\in@\csname sym#5\expandafter\endcsname
       \expandafter{\group@list}%
    \ifin@
      \begingroup
        \uppercase{\count\z@=#4}%
        \count\tw@\count\z@
        \divide\count\z@\sixt@@n
        \count@\count\z@
        \multiply\count@\sixt@@n
        \advance\count\tw@-\count@
        \edef\@tempc{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
      %
        \uppercase{\count\z@=#6}%
        \count\tw@\count\z@
        \divide\count\z@\sixt@@n
        \count@\count\z@
        \multiply\count@\sixt@@n
        \advance\count\tw@-\count@
        \edef\@tempd{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
      %
        \edef\@tempa{\noexpand\in@{\string\delimiter}{\meaning#1}}%
        \@tempa
        \ifin@
          \expandafter\set@mathdelimiter
             \csname sym#3\expandafter\endcsname\csname sym#5\endcsname#1#2%
             \@tempc\@tempd
          \font@log{Redeclaring math delimiter \string#1}%
        \else
          \ifx#1\undefined
            \expandafter\set@mathdelimiter
              \csname sym#3\expandafter\endcsname\csname sym#5\endcsname#1#2%
              \@tempc\@tempd
          \else
            \@latexerr{Command `\string#1' already defined}\@eha
          \fi
        \fi
      \endgroup
    \else
      \@latexerr{Symbol font `#5' is not defined}\@eha
    \fi
  \else
    \@latexerr{Symbol font `#3' is not defined}\@eha
  \fi
}

\def\@@DeclareMathDelimiter#1#2#3#4#5{%
  \expandafter\in@\csname sym#2\expandafter\endcsname
     \expandafter{\group@list}%
  \ifin@
    \expandafter\in@\csname sym#4\expandafter\endcsname
       \expandafter{\group@list}%
    \ifin@
      \begingroup
        \uppercase{\count\z@=#3}%
        \count\tw@\count\z@
        \divide\count\z@\sixt@@n
        \count@\count\z@
        \multiply\count@\sixt@@n
        \advance\count\tw@-\count@
        \edef\@tempc{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
      %
        \uppercase{\count\z@=#5}%
        \count\tw@\count\z@
        \divide\count\z@\sixt@@n
        \count@\count\z@
        \multiply\count@\sixt@@n
        \advance\count\tw@-\count@
        \edef\@tempd{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
        \expandafter\set@@mathdelimiter
           \csname sym#2\expandafter\endcsname\csname sym#4\endcsname#1%
           \@tempc\@tempd
      \endgroup
    \else
      \@latexerr{Symbol font `#4' is not defined}\@eha
    \fi
  \else
    \@latexerr{Symbol font `#2' is not defined}\@eha
  \fi
}

\def\set@mathdelimiter#1#2#3#4#5#6{%
  \xdef#3{\delimiter"\mathchar@type#4\hexnumber@#1#5%
                                     \hexnumber@#2#6\relax}}

\def\set@@mathdelimiter#1#2#3#4#5{%
  \global\delcode`#3="\hexnumber@#1#4\hexnumber@#2#5\relax}

\def\DeclareMathRadical#1#2#3#4#5{%
  \edef\@tempa{\noexpand\in@{\string\radical}{\meaning#1}}%
  \@tempa
  \ifin@
    \expandafter\in@\csname sym#2\expandafter\endcsname
       \expandafter{\group@list}%
    \ifin@
      \expandafter\in@\csname sym#4\expandafter\endcsname
         \expandafter{\group@list}%
      \ifin@
        \begingroup
          \uppercase{\count\z@=#3}%
          \count\tw@\count\z@
          \divide\count\z@\sixt@@n
          \count@\count\z@
          \multiply\count@\sixt@@n
          \advance\count\tw@-\count@
          \edef\@tempc{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
        %
          \uppercase{\count\z@=#5}%
          \count\tw@\count\z@
          \divide\count\z@\sixt@@n
          \count@\count\z@
          \multiply\count@\sixt@@n
          \advance\count\tw@-\count@
          \edef\@tempd{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
          \expandafter\set@mathradical
             \csname sym#2\expandafter\endcsname
             \csname sym#4\endcsname#1%
             \@tempc\@tempd
        \endgroup
      \else
        \@latexerr{Symbol font `#4' is not defined}\@eha
      \fi
    \else
      \@latexerr{Symbol font `#2' is not defined}\@eha
    \fi
  \else
    \@latexerr{Command `\string#1' already defined}\@eha
  \fi
}

\def\set@mathradical#1#2#3#4#5{%
  \xdef#3{\delimiter"\hexnumber@#1#4\hexnumber@#2#5\relax}}

\let\mathalpha\relax % just a dummy currently

\def\mathchar@type#1{%
  \ifodd 2#11 #1\else             % is this non-negative number?
    \ifx#1\mathord 0\else
     \ifx#1\mathop   1\else
       \ifx#1\mathbin 2\else
         \ifx#1\mathrel 3\else
           \ifx#1\mathopen 4\else
             \ifx#1\mathclose 5\else
               \ifx#1\mathpunct 6\else
                   7%             % anything else is variable ord
               \fi
             \fi
           \fi
         \fi
       \fi
     \fi
    \fi
  \fi}

\def\DeclareSymbolFontAlphabet#1#2{%
   \expandafter\DeclareSymbolFontAlphabet@
     \csname @\expandafter\@gobble\string#1\endcsname{#2}#1}

\def\DeclareSymbolFontAlphabet@#1#2#3{%
    \@tempswatrue
  \expandafter\in@\csname sym#2\expandafter\endcsname
     \expandafter{\group@list}%
  \ifin@
    \expandafter\in@\expandafter#1\expandafter{\alpha@list}%
    \ifin@
      \font@warning{Redeclaring math alphabet \string#3}%
      \toks@{}%
      \def\alpha@elt##1##2##3{%
          \ifx##1#1\else\addto@hook\toks@{\alpha@elt##1##2##3}\fi}%
      \alpha@list
      \xdef\alpha@list{\the\toks@}%
      \def\version@elt##1{%
          \begingroup
            \toks@{}%
            \def\getanddefine@fonts####1####2{%
               \addto@hook\toks@{\getanddefine@fonts####1####2}}%
            \def\install@mathalphabet####1####2{%
               \ifx####1#1\else
                 \addto@hook\toks@{\install@mathalphabet
                                    ####1{####2}}\fi}%
            ##1%
            \xdef##1{\the\toks@}%
          \endgroup
          }%
      \version@list
    \else
      \ifx#3\undefined
      \else
        \edef\@tempa{\noexpand\in@{\string\use@mathgroup}{\meaning#1}}%
        \@tempa
        \ifin@
          \font@warning{Redeclaring math alphabet \string#3}%
        \else
          \@tempswafalse
          \@latexerr{Command `\string#3' already defined}\@eha
        \fi
      \fi
    \fi
   \else
     \@tempswafalse
     \@latexerr{Unknown symbol font `#2'}\@eha
   \fi
   \if@tempswa
     \def\group@elt##1##2{%
        \expandafter\ifx\csname sym#2\endcsname##1%
        \expandafter\@tempa\string##2\@nil
        \fi}%
     \def\@tempa##1##2/##3\@nil{%
        \def\@tempa{##2}}%
     \group@list
     \edef#1{\noexpand\use@mathgroup
             \expandafter\noexpand\csname M@\@tempa\endcsname
             \csname sym#2\endcsname}%
     \def#3{\protect#1}%
   \fi
}
\def\filename{lfonts}
\def\fileversion{v2.1c}
\def\filedate{1993/12/19}
\def\docdate {1993/12/03}


%% File `lfonts.dtx'.
%% Copyright (C) 1989-1993 Frank Mittelbach and Rainer Sch\"opf,
%% all rights reserved.
\immediate\write\sixt@@n{File:
         `lfonts' \space\space
 \@spaces\fileversion\space <\filedate> (FMi and RmS)}
\immediate\write\sixt@@n{English Documentation
             \@spaces\space  <\docdate> (FMi and RmS)}
\let\p@fontfamily=\fontfamily
\def\fontfamily{\protect\p@fontfamily}
\let\p@fontencoding=\fontencoding
\def\fontencoding{\protect\p@fontencoding}
\let\p@fontseries=\fontseries
\def\fontseries{\protect\p@fontseries}
\let\p@fontshape=\fontshape
\def\fontshape{\protect\p@fontshape}
\let\p@fontsize=\fontsize
\def\fontsize{\protect\p@fontsize}
\let\p@selectfont=\selectfont
\def\selectfont{\protect\p@selectfont}
\let\p@mathversion=\mathversion
\def\mathversion{\protect\p@mathversion}
\DeclareMathVersion{normal}
\DeclareMathVersion{bold}
\font\tenex = cmex10
\def\rmfamily{\protect\prmfamily}
\def\sffamily{\protect\psffamily}
\def\ttfamily{\protect\pttfamily}
\def\bfseries{\protect\pbfseries}
\def\slshape{\protect\pslshape}
\def\scshape{\protect\pscshape}
\def\itshape{\protect\pitshape}
\def\mdseries{\protect\pmdseries}
\def\upshape{\protect\pupshape}
\def\prmfamily{\not@math@alphabet\rmfamily\mathrm
         \fontfamily\rmdefault\selectfont}
\def\psffamily{\not@math@alphabet\sffamily\mathsf
         \fontfamily\sfdefault\selectfont}
\def\pttfamily{\not@math@alphabet\ttfamily\mathtt
         \fontfamily\ttdefault\selectfont}
\def\pslshape{\not@math@alphabet\slshape\relax
         \fontshape\sldefault\selectfont}
\def\pscshape{\not@math@alphabet\scshape\relax
         \fontshape\scdefault\selectfont}
\def\pitshape{\not@math@alphabet\itshape\mathit
         \fontshape\itdefault\selectfont}
\def\pbfseries{\not@math@alphabet\bfseries\mathbf
         \fontseries\bfdefault\selectfont}
\def\pmdseries{\not@math@alphabet\mdseries\relax
         \fontseries\mddefault\selectfont}
\def\pupshape{\not@math@alphabet\upshape\relax
         \fontshape\updefault\selectfont}
\def\em{\protect\pem}
\def\pem{\@nomath\em \ifdim \fontdimen\@ne\font >\z@
                       \upshape \else \itshape \fi}
\def\not@math@alphabet#1#2{%
   \relax
   \ifmmode
     \ifx#2\relax
       \errhelp{%
            In NFSS fonts you need to define a new math alphabet^^J%
            if you want to use a special font in math mode.%
            }%
     \else
       \errhelp{%
            Please use the math alphabet #2instead of
            the #1command.%
            }%
     \fi
     \errmessage{Don't use \noexpand#1in math mode}%
   \fi}
\def\boldmath{\@nomath\boldmath
              \mathversion{bold}}
\def\unboldmath{\@nomath\unboldmath
              \mathversion{normal}}
\def\math@version{normal}
\def\newfont#1#2{\@ifdefinable#1{\global
                        \font#1=#2\relax}}
\def\symbol#1{\char #1\relax}
\def\@setfontsize#1#2#3{\@nomath#1%
    \ifx\protect\relax
      \let\@currsize#1%
    \fi
    \fontsize{#2}{#3}\selectfont}
\def\@setsize#1#2#3#4{\@setfontsize#1{#4}{#2}}
\def\oldstylenums#1{%
   \begingroup
    \spaceskip\fontdimen\tw@\font
    \usefont{OML}{cmm}{\f@series}{it}%
    \mathgroup\symletters #1%
   \endgroup
}
\def\hexnumber@#1{\ifcase\number#1
 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or
 9\or A\or B\or C\or D\or E\or F\fi}
\def\operator@font{\mathgroup\symoperators}
\def\log{\mathop{\operator@font log}\nolimits}
\def\lg{\mathop{\operator@font lg}\nolimits}
\def\ln{\mathop{\operator@font ln}\nolimits}
\def\lim{\mathop{\operator@font lim}}
\def\limsup{\mathop{\operator@font lim\,sup}}
\def\liminf{\mathop{\operator@font lim\,inf}}
\def\sin{\mathop{\operator@font sin}\nolimits}
\def\arcsin{\mathop{\operator@font arcsin}\nolimits}
\def\sinh{\mathop{\operator@font sinh}\nolimits}
\def\cos{\mathop{\operator@font cos}\nolimits}
\def\arccos{\mathop{\operator@font arccos}\nolimits}
\def\cosh{\mathop{\operator@font cosh}\nolimits}
\def\tan{\mathop{\operator@font tan}\nolimits}
\def\arctan{\mathop{\operator@font arctan}\nolimits}
\def\tanh{\mathop{\operator@font tanh}\nolimits}
\def\cot{\mathop{\operator@font cot}\nolimits}
\def\coth{\mathop{\operator@font coth}\nolimits}
\def\sec{\mathop{\operator@font sec}\nolimits}
\def\csc{\mathop{\operator@font csc}\nolimits}
\def\max{\mathop{\operator@font max}}
\def\min{\mathop{\operator@font min}}
\def\sup{\mathop{\operator@font sup}}
\def\inf{\mathop{\operator@font inf}}
\def\arg{\mathop{\operator@font arg}\nolimits}
\def\ker{\mathop{\operator@font ker}\nolimits}
\def\dim{\mathop{\operator@font dim}\nolimits}
\def\hom{\mathop{\operator@font hom}\nolimits}
\def\det{\mathop{\operator@font det}}
\def\exp{\mathop{\operator@font exp}\nolimits}
\def\Pr{\mathop{\operator@font Pr}}
\def\gcd{\mathop{\operator@font gcd}}
\def\deg{\mathop{\operator@font deg}\nolimits}

\def\bmod{\mskip-\medmuskip\mkern5mu
  \mathbin{\operator@font mod}\penalty900\mkern5mu\mskip-\medmuskip}
\def\pmod#1{\allowbreak\mkern18mu({\operator@font mod}\,\,#1)}
\def\${{\protect\pdollar}}
\def\pdollar{\nfss@text{\ifdim \fontdimen\@ne\font >\z@
              \slshape \else \upshape \fi\char`\$}}
\def\pounds{{\protect\ppounds}}
\def\ppounds{\nfss@text{\ifdim \fontdimen\@ne\font >\z@
    \itshape \else \fontshape u\selectfont \fi \char'44}}
\def\nfss@text{\mbox}

\def\copyright{{\protect\pcopyright}}
\def\pcopyright{\ooalign{\hfil
     \raise.07ex\hbox{\mdseries\upshape c}\hfil\crcr
     \mathhexbox20D}}
\def\reset@font{\protect\p@reset@font}
\def\p@reset@font{\usefont{\encodingdefault}%
                          {\familydefault}%
                          {\seriesdefault}%
                          {\shapedefault}}
\let\normalfont\reset@font
\def\not@base#1{\@latexerr
  {Command \noexpand#1not provided in base NFSS}%
  {Use nfltxfnt or amsfonts options}}
\def\mho{\not@base\mho}
\def\Join{\not@base\Join}
\def\Box{\not@base\Box}
\def\Diamond{\not@base\Diamond}
\def\leadsto{\not@base\leadsto}
\def\sqsubset{\not@base\sqsubset}
\def\sqsupset{\not@base\sqsupset}
\def\lhd{\not@base\lhd}
\def\unlhd{\not@base\unlhd}
\def\rhd{\not@base\rhd}
\def\unrhd{\not@base\unrhd}
\IfFileExists{fontdef.cfg}
           {\typeout{*************************************^^J%
                     *^^J%
                     * Local config file fontdef.cfg used^^J%
                     *^^J%
                     *************************************}%
            \@@input fontdef.cfg }
           {\@@input fontdef.ltx }
\IfFileExists{preload.cfg}
           {\typeout{*************************************^^J%
                     *^^J%
                     * Local config file preload.cfg used^^J%
                     *^^J%
                     *************************************}%
            \@@input preload.cfg }
           {\@@input preload.ltx }
\def\mit{\warn@rel@i\mit\mathnormal
         \mathnormal}
\def\cal{\warn@rel@i\cal\mathcal
         \mathcal}

\def\fileversion{v3.0b}
\def\filedate{1993/12/19}
\def\docdate {1993/12/19}

%% \CharacterTable
%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%%   Digits        \0\1\2\3\4\5\6\7\8\9
%%   Exclamation   \!     Double quote  \"     Hash (number) \#
%%   Dollar        \$     Percent       \%     Ampersand     \&
%%   Acute accent  \'     Left paren    \(     Right paren   \)
%%   Asterisk      \*     Plus          \+     Comma         \,
%%   Minus         \-     Point         \.     Solidus       \/
%%   Colon         \:     Semicolon     \;     Less than     \<
%%   Equals        \=     Greater than  \>     Question mark \?
%%   Commercial at \@     Left bracket  \[     Backslash     \\
%%   Right bracket \]     Circumflex    \^     Underscore    \_
%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%%   Right brace   \}     Tilde         \~}
\wlog{Kernel code: `fontcmds'
  \fileversion\space <\filedate> (FMi,CRo)}
\wlog{English Documentation
  \space\space\space\space\space
  \space\space\space\space <\docdate> (FMi,Cr0)}
\def \@pdef #1{%
  \def \@tempa {\expandafter \@gobble \string #1}%
  \@ifundefined {\@tempa}%
     {}{\@warning{\string#1\space has been redefined}}%
  \@ifundefined {p\@tempa}%
     {}{\@warning{\expandafter \string \csname p\@tempa \endcsname
                           \space has been redefined}}%
  \let \protect \relax
  \edef #1{\noexpand\protect \expandafter \noexpand
                                  \csname p\@tempa\endcsname}%
  \@namedef{p\@tempa}%
}
\def \@newtextcmd #1#2{%
  \@pdef #1##1{\ifmmode
                 \expandafter\nfss@text
               \else
                 \leavevmode
               \fi
               {#2\maybe@ic ##1}\maybe@ic
               }%
}
\@newtextcmd{\textrm}{\rmfamily}
\@newtextcmd{\textsf}{\sffamily}
\@newtextcmd{\texttt}{\ttfamily}
\@newtextcmd{\textnormal}{\normalfont}
\@newtextcmd{\textbf}{\bfseries}
\@newtextcmd{\textmd}{\mdseries}
\@newtextcmd{\textit}{\itshape}
\@newtextcmd{\textsl}{\slshape}
\@newtextcmd{\textsc}{\scshape}
\@newtextcmd{\textup}{\upshape}
\@newtextcmd{\emph}{\em}
\def \nocorr {\kern\z@}
\def \maybe@ic {\futurelet\next\maybe@ic@}
\def \maybe@ic@ {%
  \ifdim \fontdimen\@ne\font>\z@
  \else
    \@tempswatrue
    \expandafter\@tfor\expandafter\@tempa\expandafter:\expandafter=%
        \nocorrlist\nocorr\kern
    \do \test@next
    \if@tempswa \sw@slant \fi
  \fi
}
\def \sw@slant {%
  \ifdim \lastskip=\z@
    \fix@penalty
  \else
    \skip@ \lastskip
    \unskip
    \fix@penalty
    \hskip \skip@
  \fi
}
\def \fix@penalty {%
  \ifnum \lastpenalty=\z@
    \/%
  \else
    \count@ \lastpenalty
    \unpenalty
    \/%
    \penalty \count@
  \fi
}
\def \test@next {%
  \expandafter\let\expandafter\@tempb\expandafter=\@tempa\relax
  \ifx\@tempb\next
    \@tempswafalse
    \let\@nextwhile\@fornoop
    \expandafter\@gobblefour
  \fi
}
\def \nocorrlist {.,;:}
\ifx \nfss@text\undefined
  \def \nfss@text {\leavevmode\hbox}
\fi
\def \@setfontswitch #1#2#3{%
  \@pdef #1{\@fontswitch {#2}{#3}}%
}
\def \@newfontswitch #1#2#3{%
   \@ifdefinable{#1}{%
      \let \protect \relax
      \def \@tempa {\expandafter \@gobble \string #1}%
      \edef #1{%
         \noexpand\protect
         \expandafter\noexpand
         \csname p\@tempa\endcsname
      }%
      \@namedef{p\@tempa}{\@fontswitch{#2}{#3}}%
   }%
}
\def\@renewfontswitch#1{%
  {\escapechar\m@ne\xdef\@gtempa{{\string#1}}}%
  \expandafter\@ifundefined\@gtempa
     {\@latexerr{\string#1\space undefined}\@ehc}%
     {}%
  \let\@ifdefinable\@rc@ifdefinable
  \@newfontswitch#1%
}
\def \@fontswitch #1#2{%
  \ifmmode
     \let \math@bgroup \relax
     \def \math@egroup {\let\math@bgroup\relax
                        \let\math@egroup\@@math@egroup}%
     #2%
  \else
     #1%
  \fi
}
\def \@@math@egroup #1{#1\endgroup}
\@onlypreamble \@newtextcmd
\@onlypreamble \@newfontswitch
\@onlypreamble \@renewfontswitch
\def \@undefinedfonterror #1#2{%
  \@latexerr {The font #1 command \string#2
              is not defined.}\@eha
}
\def\rm{\@undefinedfonterror{family}\rm}
\def\tt{\@undefinedfonterror{family}\tt}
\def\sf{\@undefinedfonterror{family}\sf}
\def\bf{\@undefinedfonterror{series}\bf}
\def\sl{\@undefinedfonterror{shape}\sl}
\def\it{\@undefinedfonterror{shape}\it}
\def\sc{\@undefinedfonterror{shape}\sc}
\def\Huge{\@undefinedfonterror{size}\Huge}
\def\huge{\@undefinedfonterror{size}\huge}
\def\LARGE{\@undefinedfonterror{size}\LARGE}
\def\Large{\@undefinedfonterror{size}\Large}
\def\large{\@undefinedfonterror{size}\large}
\def\normalsize{\@undefinedfonterror{size}\normalsize}
\def\@normalsize{\@undefinedfonterror{size}\normalsize}
\def\small{\@undefinedfonterror{size}\small}
\def\footnotesize{\@undefinedfonterror{size}\footnotesize}
\def\scriptsize{\@undefinedfonterror{size}\scriptsize}
\def\tiny{\@undefinedfonterror{size}\tiny}
\endinput
%% 
%% End of file `nfsscode.ltx'.
