%% %% This is file `nfsscode.tex', generated %% on <1993/7/19> with the docstrip utility (2.0r). %% %% The original source files were: %% %% fam.dtx (with options: `compat') %% nftrace.dtx %% setsize.dtx %% latint.dtx (with options: `compat') %% lfonts.dtx (with options: `compat') %% basefont.dtx (with options: `basef') %% nffntcmd.dtx (with options: `style') %% %% Copyright (C) 1989--1993 by Frank Mittelbach, Rainer Schoepf. %% All rights reserved. %% %% This file is part of the NFSS2 (New Font Selection Scheme) package. %% %% This package 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 may however copy %% this file to a file with a different name and then change the copy %% if you obey the restrictions on file changes described in %% readme.mz. %% %% You are allowed to distribute this file under the condition that %% it is distributed together with all files mentioned in readme.mz8. %% 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.0f} \def\filedate{93/05/16} \def\docdate {93/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\@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@T\@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\define@mathsizes#1#2#3{% \@defaultunits\dimen@#1pt\relax\@nnil \expandafter \def \csname S@\strip@pt\dimen@\endcsname {\gdef\tf@size{#1}\gdef\sf@size{#2}% \gdef\ssf@size{#3}% }} \def\define@nomathsize#1{\expandafter \let \csname S@#1\endcsname \math@fontsfalse} \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{\fd@prefix\f@encoding\f@family.fd}% \fi } \def\makeatletter{\catcode`\@11\relax} \def\@input#1{\openin15 #1 \ifeof15 \typeout {No file #1.}\else\closein15 \relax\@@input #1 \fi} \let\@@input\input \input fdprefix.tex \ifx\fd@prefix\@empty \let\fd@prefix\@empty \fi \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} \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{nftrace} \def\fileversion{v2.1h} \def\filedate{93/07/16} \def\docdate {93/07/16} %% Copyright (C) 1989-1993 Frank Mittelbach and Rainer Sch\"opf, %% all rights reserved. \immediate\write\sixt@@n{File: `nftrace' \@spaces \fileversion\space <\filedate> (FMi and RmS)} \immediate\write\sixt@@n{English Documentation \@spaces\space <\docdate> (FMi and RmS)} \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\tracingfonts{\font@warning{Command \noexpand\tracingfonts not provided.\f@warn@break Use `nftrace' option in \string\documentstyle\space command.\f@warn@break Command found:}% \count@} \def\font@warning#1{% \font@trace{#1}% } \def\font@trace#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\ifnot@nil#1{\def\@tempa{#1}% \ifx\@tempa\@nnil \expandafter\@gobble\else \expandafter\@iden\fi} \def\@iden#1{#1} \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{sgens}{\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.0b} \def\filedate{93/07/19} \def\docdate {93/03/01} %% 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{\@normalsize} \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} \define@mathsizes{5}{5}{5} \define@mathsizes{6}{5}{5} \define@mathsizes{7}{5}{5} \define@mathsizes{8}{6}{5} \define@mathsizes{9}{6}{5} \define@mathsizes{\@xpt}{7}{5} \define@mathsizes{\@xipt}{8}{6} \define@mathsizes{\@xiipt}{8}{6} \define@mathsizes{\@xivpt}{\@xpt}{7} \define@mathsizes{\@xviipt}{\@xiipt}{\@xpt} \define@mathsizes{\@xxpt}{\@xivpt}{\@xiipt} \define@mathsizes{\@xxvpt}{\@xxpt}{\@xviipt} \def\filename{latint} \def\fileversion{v2.0d} \def\filedate{93/05/06} \def\docdate {93/03/18} \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 \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 \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 \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 \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}% \begingroup \def\do##1{\global\let##1\@notprerr}% \do\@@DeclareMathDelimiter \do\@DeclareMathDelimiter \do\DeclareFontEncoding \do\DeclareFontEncoding@ \do\DeclareFontEncodingDefaults \do\DeclareFontSubstitution \do\DeclareErrorFont \do\DeclareMathAccent \do\DeclareMathAlphabet \do\DeclareMathDelimiter \do\DeclareMathRadical \do\DeclareMathSymbol \do\DeclareMathVersion \do\DeclarePreloadSizes \do\DeclareSizeFunction \do\DeclareSymbolFont \do\DeclareSymbolFontAlphabet \do\SetMathAlphabet \do\SetMathAlphabet@ \do\SetSymbolFont \do\SetSymbolFont@ \do\alpha@elt \do\alpha@list \do\cdp@elt \do\cdp@list \do\define@mathsizes \do\define@nomathsize \do\dorestore@version \do\get@cdp \do\group@elt \do\group@list \do\ifrestore@version \do\mathchar@type \do\new@mathalphabet \do\new@mathgroup \do\new@mathversion \do\new@symbolfont \do\process@table \do\restore@mathversion \do\restore@versionfalse \do\restore@versiontrue \do\set@@mathdelimiter \do\set@mathaccent \do\set@mathchar \do\set@mathchar \do\set@mathdelimiter \do\set@mathradical \do\set@mathsymbol \do\set@mathsymbol \do\version@elt \do\version@list \do\addtoversion \do\default@mextra \do\define@mathalphabet \do\define@mathgroup \do\extra@def \do\new@fontshape \do\newmathalphabet \do\newmathalphabet@@ \do\newmathalphabet@@@ \do\preload@sizes \do\scan@fontshape \do\scan@@fontshape \do\subst@fontshape \endgroup \everyjob{}% } \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 `\@tempa' has changed to `\@tempb' 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.0c} \def\filedate{93/07/16} \def\docdate {93/07/16} %% 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)} \input fontdef.tex \input preload.tex \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} \DeclareSymbolFont{operators}{OT1}{cmr}{m}{n} \DeclareSymbolFont{letters}{OML}{cmm}{m}{it} \DeclareSymbolFont{symbols}{OMS}{cmsy}{m}{n} \DeclareSymbolFont{largesymbols}{OMX}{cmex}{m}{n} \SetSymbolFont{operators}{bold}{OT1}{cmr}{bx}{n} \SetSymbolFont{letters}{bold}{OML}{cmm}{b}{it} \font\tenex = cmex10 \DeclareSymbolFontAlphabet{\mathrm}{operators} \DeclareSymbolFontAlphabet{\mathnormal}{letters} \DeclareSymbolFontAlphabet{\mathcal}{symbols} \def\mit{\warn@rel@i\mit\mathnormal \mathnormal} \def\cal{\warn@rel@i\cal\mathcal \mathcal} \def\rm{\protect\prm} \def\sf{\protect\psf} \def\tt{\protect\ptt} \def\bf{\protect\pbf} \def\sl{\protect\psl} \def\sc{\protect\psc} \def\it{\protect\pit} \def\encodingdefault{OT1} \def\familydefault{\rmdefault} \def\seriesdefault{\mediumseriesdefault} \def\shapedefault{\normalshapedefault} \def\rmdefault{cmr} \def\sfdefault{cmss} \def\ttdefault{cmtt} \def\bfdefault{bx} \def\itdefault{it} \def\sldefault{sl} \def\scdefault{sc} \def\mediumseriesdefault{m} \def\normalshapedefault{n} \def\mediumseries{\protect\pmediumseries} \def\pmediumseries{\fontseries\mediumseriesdefault\selectfont} \def\normalshape{\protect\pnormalshape} \def\pnormalshape{\fontshape\normalshapedefault\selectfont} \def\boldmath{\@nomath\boldmath \mathversion{bold}} \def\unboldmath{\@nomath\unboldmath \mathversion{normal}} \def\math@version{normal} \def\oldstylenums#1{% {% \spaceskip\fontdimen\tw@\font \usefont{OML}{cmm}{\f@series}{it}% \mathgroup\symletters #1}% } \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@ \sl \else \normalshape \fi\char`\$}} \def\pounds{{\protect\ppounds}} \def\ppounds{\nfss@text{\ifdim \fontdimen\@ne\font >\z@ \it \else \fontshape u\selectfont \fi \char'44}} \def\nfss@text{\mbox} \def\copyright{{\protect\pcopyright}} \def\pcopyright{\ooalign{\hfil \raise.07ex\hbox{\mediumseries\normalshape c}\hfil\crcr \mathhexbox20D}} \newif\if@twocolumn \newif\if@filesw \newif\if@specialpage \newif \if@twoside \ifx\undefined\reset@font \errhelp{The LaTeX that you use was released before December 1, 91.^^J^^J% At that time several changes have been introduced into LaTeX and the standard^^Jstyles to support this version of NFSS.^^J^^J% NFSS will probably work with your version but you might encounter problems^^Jin certain situations (most of them are described in the `nfss.bug' file).^^J^^J% Since the new LaTeX release also fix many bugs we suggest that you upgrade^^Jas soon as possible.^^J^^J} \errmessage{Old LaTeX version! Type `h'} \def\xpt {% \def\@tabclassz{\ifcase \@lastchclass \@acolampacol \or \@ampacol \or \or \or \@addamp \or \@acolampacol \or \@firstampfalse \@acol \fi \edef\@preamble{\@preamble{% \ifcase \@chnum \hfil\ignorespaces\@sharp\unskip\hfil \or \ignorespaces\@sharp\unskip\hfil \or \hfil\hskip\z@ \ignorespaces\@sharp\unskip\fi}}}% \def\@ishortstack##1{\halign{\mb@l {####}% \unskip\mb@r\cr ##1\crcr}\egroup}% \def\cases##1{\left\{\,\vcenter{% \normalbaselines\m@th\ialign{% $####\hfil$&\quad{####}\hfil\crcr ##1\crcr}}\right.}% \def\document{\endgroup \@colht\textheight \@colroom\textheight \vsize\textheight \columnwidth\textwidth \@clubpenalty\clubpenalty \if@twocolumn \advance\columnwidth -\columnsep \divide\columnwidth\tw@ \hsize\columnwidth \@firstcolumntrue \fi \hsize\columnwidth \linewidth\hsize \begingroup\@floatplacement\@dblfloatplacement \makeatletter\let\@writefile\@gobbletwo \@input{\jobname.aux}\endgroup \if@filesw \immediate\openout\@mainaux=\jobname.aux \immediate\write\@mainaux{\relax}\fi \process@table \let\glb@currsize\@empty \def\do####1{\let ####1\@notprerr}% \@preamblecmds \let\do\noexpand \@normalsize \everypar{}}% \def\@begintheorem##1##2{\trivlist \item[\hskip \labelsep{\bf ##1\ ##2}]\it}% \def\@opargbegintheorem##1##2##3{\trivlist \item[\hskip \labelsep{\bf ##1\ ##2\ (##3)}]\it}% \def\@outputpage{\begingroup %\catcode`\ =10 \let\-\@dischyph \let\'\@acci \let\`\@accii \let\=\@acciii \if@specialpage \global\@specialpagefalse \csname ps@\@specialstyle\endcsname\fi \if@twoside \ifodd\count\z@ \let\@thehead\@oddhead \let\@thefoot\@oddfoot \let\@themargin\oddsidemargin \else \let\@thehead\@evenhead \let\@thefoot\@evenfoot \let\@themargin\evensidemargin \fi\fi \shipout\vbox{% \reset@font \normalsize \baselineskip\z@ \lineskip\z@ \let\par\@@par %% 15 Sep 87 \vskip \topmargin \moveright\@themargin \vbox{\setbox\@tempboxa \vbox to\headheight{\vfil \hbox to\textwidth {\let\label\@gobble \let\index\@gobble \@thehead}}%% 22 Feb 87 \dp\@tempboxa\z@ \box\@tempboxa \vskip \headsep \box\@outputbox \baselineskip\footskip \hbox to\textwidth{\let\label\@gobble \let\index\@gobble %% 22 Feb 87 \@thefoot}}}\global\@colht\textheight \endgroup\stepcounter{page}\let\firstmark\botmark}% \def\p@LaTeX{L\kern-.36em {\setbox0\hbox{T}% \vbox to\ht0{\hbox{% \csname S@\f@size\endcsname \math@fontsfalse \fontsize\sf@size\z@\selectfont A}% \vss}% }% \kern-.15em \TeX\@}% \edef\next{\expandafter\@rightmark\the\everyjob}% \everyjob\expandafter{\expandafter \typeout\expandafter{\next\space with NFSS2}% }% \def\xpt{\fontsize{10}{12pt}\selectfont}} \else \def\xpt {% \def\p@LaTeX{L\kern-.36em {\setbox0\hbox{T}% \vbox to\ht0{\hbox{% \csname S@\f@size\endcsname \fontsize\sf@size\z@\selectfont A}% \vss}% }% \kern-.15em \TeX\@}% \edef\next{\expandafter\@rightmark\the\everyjob}% \everyjob\expandafter{\expandafter \typeout\expandafter{\next\space with NFSS2}% }% \let\xpt\undefined } \fi \def\reset@font{\protect\p@reset@font} \def\p@reset@font{\usefont{\encodingdefault}% {\familydefault}% {\seriesdefault}% {\shapedefault}} \def\fileversion{v2.0c} \def\filedate{93/06/20} \def\docdate {93/06/20} %% \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 \~} %% \immediate \write\sixt@@n{File: `basefont' \@spaces \fileversion\space <\filedate> (FMi and RmS)} \immediate \write\sixt@@n{English Documentation \@spaces\space <\docdate> (FMi and RmS)} \def\newfont#1#2{\@ifdefinable#1{\global \font#1=#2\relax}} \def\symbol#1{\char #1\relax} \def\@gobbletwo#1#2{} \let\load\@gobbletwo \def\@setsize#1#2#3#4{\@nomath#1% \ifx\protect\relax \let\@currsize#1% \fi \fontsize{#4}{#2}\selectfont} \def\prm{\not@math@alphabet\rm\mathrm \fontfamily\rmdefault\selectfont} \def\psf{\not@math@alphabet\sf\mathsf \fontfamily\sfdefault\selectfont} \def\ptt{\not@math@alphabet\tt\mathtt \fontfamily\ttdefault\selectfont} \def\psl{\not@math@alphabet\sl\relax \fontshape\sldefault\selectfont} \def\psc{\not@math@alphabet\sc\relax \fontshape\scdefault\selectfont} \def\pit{\not@math@alphabet\it\mathit \fontshape\itdefault\selectfont} \def\pbf{\not@math@alphabet\bf\mathbf \fontseries\bfdefault\selectfont} \def\em{\protect\pem} \def\pem{\@nomath\em \ifdim \fontdimen\@ne\font >\z@ \normalshape \else \it \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} \DeclareFontEncoding{OT1}{\@@input nfot1.def\relax}{} \DeclareMathAlphabet\mathbf{OT1}{cmr}{bx}{n} \DeclareMathAlphabet\mathsf{OT1}{cmss}{m}{n} \DeclareMathAlphabet\mathit{OT1}{cmr}{m}{it} \DeclareMathAlphabet\mathtt{OT1}{cmtt}{m}{n} \SetMathAlphabet\mathsf{bold}{OT1}{cmss}{bx}{n} \SetMathAlphabet\mathit{bold}{OT1}{cmr}{bx}{it} \DeclareFontEncoding{T1}{\@@input nft1.def\relax}{} \def\not@base#1{\@latexerr {Commmand \noexpand#1not provided in base NFSS}% {Use nfnewfnt 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} \def\fileversion{v2.0e} \def\filedate{93/06/12} \def\docdate {93/06/12} %% \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{Style Option: `nffntcmd' \fileversion\space <\filedate> (FMi)} \wlog{English Documentation \space\space\space\space\space \space\space\space\space <\docdate> (FMi)} \def\textrm{\protect\ptextrm} \def\textsf{\protect\ptextsf} \def\texttt{\protect\ptexttt} \def\ptextrm{\do@text@\relax\rm\relax} \def\ptextsf{\do@text@\relax\sf\relax} \def\ptexttt{\do@text@\relax\tt\relax} \def\textbf{\protect\ptextbf} \def\ptextbf{\do@text@\relax\bf\relax} \ifx\mediumseries\undefined\else \def\textmedium{\protect\ptextmedium} \def\ptextmedium{\do@text@\relax\mediumseries\relax} \fi \def\textit{\protect\ptextit} \def\textsl{\protect\ptextsl} \def\textsc{\protect\ptextsc} \def\ptextit{\do@text@\relax\it\/} \def\ptextsl{\do@text@\relax\sl\/} \def\ptextsc{\do@text@\sw@slant\sc\relax} \ifx\normalshape\undefined\else \def\textnormal{\protect\ptextnormal} \def\ptextnormal{\do@text@\sw@slant\normalshape\relax} \fi \def\emph{\protect\pemph} \def\pemph{\do@text@\sw@slant\em\/} \def\nocorr{\kern\z@} \def\sw@slant{% \futurelet\next\sw@@slant} \def\sw@@slant{% \ifx\next\nocorr \else \ifx\next\kern \else \sw@@@slant \fi \fi} \def\sw@@@slant{% \relax\ifhmode \ifdim\lastskip>\z@ \skip@\lastskip \unskip\/\hskip\skip@ \fi \fi } \def\do@text@#1#2#3#4{% \relax\ifmmode \expandafter\nfss@text \fi {#1#2#4#3}% } \ifx\nfss@text\undefined \def\nfss@text{\leavevmode\hbox} \fi \let\protect\relax \endinput %% %% End of file `nfsscode.tex'.