%% %% This is file `latex.ltx', %% generated with the docstrip utility. %% %% The original source files were: %% %% ltdirchk.dtx (with options: `initex,2ekernel,dircheck') %% ltplain.dtx (with options: `2ekernel') %% ltvers.dtx (with options: `2ekernel') %% ltdefns.dtx (with options: `2ekernel') %% ltalloc.dtx (with options: `2ekernel') %% ltcntrl.dtx (with options: `2ekernel') %% lterror.dtx (with options: `2ekernel') %% ltpar.dtx (with options: `2ekernel') %% ltspace.dtx (with options: `2ekernel') %% ltlogos.dtx (with options: `2ekernel') %% ltfiles.dtx (with options: `2ekernel') %% ltoutenc.dtx (with options: `2ekernel') %% ltcounts.dtx (with options: `2ekernel') %% ltlength.dtx (with options: `2ekernel') %% ltfssbas.dtx (with options: `2ekernel') %% ltfsstrc.dtx (with options: `2ekernel') %% ltfsscmp.dtx (with options: `compat,2ekernel') %% ltfssdcl.dtx (with options: `compat,2ekernel') %% ltfssini.dtx (with options: `compat') %% ltfntcmd.dtx (with options: `2ekernel') %% ltpageno.dtx (with options: `2ekernel') %% ltxref.dtx (with options: `2ekernel') %% ltmiscen.dtx (with options: `2ekernel') %% ltmath.dtx (with options: `2ekernel') %% ltlists.dtx (with options: `2ekernel') %% ltboxes.dtx (with options: `2ekernel') %% lttab.dtx (with options: `2ekernel') %% ltpictur.dtx (with options: `2ekernel') %% ltthm.dtx (with options: `2ekernel') %% ltsect.dtx (with options: `2ekernel') %% ltfloat.dtx (with options: `2ekernel') %% ltidxglo.dtx (with options: `2ekernel') %% ltbibl.dtx (with options: `2ekernel') %% ltpage.dtx (with options: `2ekernel') %% ltoutput.dtx (with options: `2ekernel') %% ltclass.dtx (with options: `2ekernel') %% ltfinal.dtx (with options: `2ekernel') %% %% This is a generated file. %% %% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 %% The LaTeX3 Project and any individual authors listed elsewhere %% in this file. %% %% This file was generated from file(s) of the LaTeX base system. %% -------------------------------------------------------------- %% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% http://www.latex-project.org/lppl.txt %% and version 1.3c or later is part of all distributions of LaTeX %% version 2005/12/01 or later. %% %% This file has the LPPL maintenance status "maintained". %% %% This file may only be distributed together with a copy of the LaTeX %% base system. You may however distribute the LaTeX base system without %% such generated files. %% %% The list of all files belonging to the LaTeX base distribution is %% given in the file `manifest.txt'. See also `legal.txt' for additional %% information. %% %% The list of derived (unpacked) files belonging to the distribution %% and covered by LPPL is defined by the unpacking scripts (with %% extension .ins) which are part of the distribution. %%% From File: ltdirchk.dtx \ifnum\catcode`\{=1 \errmessage {LaTeX must be made using an initex with no format preloaded} \fi \catcode`\{=1 \catcode`\}=2 \catcode`\#=6 \catcode`\^=7 \chardef\active=13 \catcode`\@=11 \countdef\count@=255 \let\bgroup={ \let\egroup=} \ifx\@@input\@undefined\let\@@input\input\fi \ifx\@@end\@undefined\let\@@end\end\fi \chardef\@inputcheck0 \chardef\sixt@@n=16 \newlinechar`\^^J \def\typeout{\immediate\write17} \def\dospecials{\do\ \do\\\do\{\do\}\do\$\do\&% \do\#\do\^\do\_\do\%\do\~} \def\@makeother#1{\catcode`#1=12\relax} \def\space{ } \def\@tempswafalse{\let\if@tempswa\iffalse} \def\@tempswatrue{\let\if@tempswa\iftrue} \let\if@tempswa\iffalse \def\loop#1\repeat{\def\iterate{#1\relax\expandafter\iterate\fi}% \iterate \let\iterate\relax} \let\repeat\fi \def\two@digits#1{\ifnum#1<10 0\fi\number#1} \long\def\@firstoftwo#1#2{#1} \long\def\@secondoftwo#1#2{#2} \def\ProvidesFile#1{% \begingroup \catcode`\ 10 % \ifnum \endlinechar<256 % \ifnum \endlinechar>\m@ne \catcode\endlinechar 10 % \fi \fi \@makeother\/% \@ifnextchar[{\@providesfile{#1}}{\@providesfile{#1}[]}} \def\@providesfile#1[#2]{% \wlog{File: #1 #2}% \@addtofilelist{ #2}% \endgroup} \long\def\@addtofilelist#1{} \def\@empty{} \catcode`\%=12 \def\@percentchar{%} \catcode`\%=14 \let\@currdir\@undefined \let\input@path\@undefined \let\filename@parse\@undefined \def\strip@prefix#1>{} \input texsys.cfg \begingroup \count@\time \divide\count@ 60 \count2=-\count@ \multiply\count2 60 \advance\count2 \time \edef\today{% \the\year/\two@digits{\the\month}/\two@digits{\the\day}:% \two@digits{\the\count@}:\two@digits{\the\count2}} \immediate\openout15=texsys.aux \immediate\write15{\today^^J} \immediate\closeout15 % \def\IfFileExists#1#2#3{% \openin\@inputcheck#1 % \ifeof\@inputcheck #3\relax \else \read\@inputcheck to \reserved@a \ifx\reserved@a\today \typeout{#1 found}#2\relax \else \typeout{BAD: old file \reserved@a (should be \today)}% #3\relax \fi \fi \closein\@inputcheck} \endlinechar=-1 \ifx\@currdir\@undefined \IfFileExists{./texsys.aux}{\gdef\@currdir{./}}% {\IfFileExists{[]texsys.aux}{\gdef\@currdir{[]}}% {\IfFileExists{:texsys.aux}{\gdef\@currdir{:}}{}}} \ifx\@currdir\@undefined \global\let\@currdir\@empty \typeout{^^J^^J% !! No syntax for the current directory could be found^^J% }% \fi \else \IfFileExists{\@currdir texsys.aux}{}{% \edef\reserved@a{\errhelp{% texsys.cfg specifies the current directory syntax to be^^J% \meaning\@currdir^^J% but this does not work on this system.^^J% Remove texsys.cfg and restart.}}\reserved@a \errmessage{Bad texsys.cfg file: \noexpand\@currdir}\@@end} \fi \immediate\closeout15 % \endgroup \typeout{^^J^^J% \noexpand\@currdir set to: \expandafter\strip@prefix\meaning\@currdir.^^J% } \typeout{^^J% Assuming \noexpand\openin and \noexpand\input^^J% \ifx\input@path\@undefined have the same search path.^^J% \else have different search paths.^^J% LaTeX will use the path specified by \noexpand\input@path:^^J% \fi } \ifx\filename@parse\@undefined \def\reserved@a{./}\ifx\@currdir\reserved@a \typeout{^^JDefining UNIX/DOS style filename parser.^^J} \def\filename@parse#1{% \let\filename@area\@empty \expandafter\filename@path#1/\\} \def\filename@path#1/#2\\{% \ifx\\#2\\% \def\reserved@a{\filename@simple#1.\\}% \else \edef\filename@area{\filename@area#1/}% \def\reserved@a{\filename@path#2\\}% \fi \reserved@a} \else\def\reserved@a{[]}\ifx\@currdir\reserved@a \typeout{^^JDefining VMS style filename parser.^^J} \def\filename@parse#1{% \let\filename@area\@empty \expandafter\filename@path#1]\\} \def\filename@path#1]#2\\{% \ifx\\#2\\% \def\reserved@a{\filename@simple#1.\\}% \else \edef\filename@area{\filename@area#1]}% \def\reserved@a{\filename@path#2\\}% \fi \reserved@a} \else\def\reserved@a{:}\ifx\@currdir\reserved@a \typeout{^^JDefining Mac style filename parser.^^J} \def\filename@parse#1{% \let\filename@area\@empty \expandafter\filename@path#1:\\} \def\filename@path#1:#2\\{% \ifx\\#2\\% \def\reserved@a{\filename@simple#1.\\}% \else \edef\filename@area{\filename@area#1:}% \def\reserved@a{\filename@path#2\\}% \fi \reserved@a} \else \typeout{^^JDefining generic filename parser.^^J} \def\filename@parse#1{% \let\filename@area\@empty \expandafter\filename@simple#1.\\} \fi\fi\fi \def\filename@simple#1.#2\\{% \ifx\\#2\\% \let\filename@ext\relax \else \edef\filename@ext{\filename@dot#2\\}% \fi \edef\filename@base{#1}} \def\filename@dot#1.\\{#1} \else \typeout{^^J^^J% \noexpand\filename@parse was defined in texsys.cfg:^^J% \expandafter\strip@prefix\meaning\filename@parse.^^J% } \fi \ifx\@TeXversion\@undefined \ifx\@undefined\inputlineno \def\@TeXversion{2} \else {\catcode`\^^J=\active \def\reserved@a#1#2\@@{\if#1\string^3\fi} \edef\reserved@a{\expandafter\reserved@a\string^^J\@@} \ifx\reserved@a\@empty\else\gdef\@TeXversion{3}\fi} \fi \fi %%% From File: ltplain.dtx %% \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 \~} %% \catcode`\{=1 % left brace is begin-group character \catcode`\}=2 % right brace is end-group character \catcode`\$=3 % dollar sign is math shift \catcode`\&=4 % ampersand is alignment tab \catcode`\#=6 % hash mark is macro parameter character \catcode`\^=7 % circumflex and uparrow are for superscripts \catcode`\_=8 % underline and downarrow are for subscripts \catcode`\^^I=10 % ascii tab is a blank space \chardef\active=13 \catcode`\~=\active % tilde is active \catcode`\^^L=\active \outer\def^^L{\par}% ascii form-feed is \outer\par \message{catcodes,} \def\dospecials{\do\ \do\\\do\{\do\}\do\$\do\&% \do\#\do\^\do\_\do\%\do\~} \catcode`@=11 \chardef\@ne=1 \chardef\tw@=2 \chardef\thr@@=3 \chardef\sixt@@n=16 \chardef\@cclv=255 \mathchardef\@cclvi=256 \mathchardef\@m=1000 \mathchardef\@M=10000 \mathchardef\@MM=20000 \message{registers,} \count10=22 % allocates \count registers 23, 24, ... \count11=9 % allocates \dimen registers 10, 11, ... \count12=9 % allocates \skip registers 10, 11, ... \count13=9 % allocates \muskip registers 10, 11, ... \count14=9 % allocates \box registers 10, 11, ... \count15=9 % allocates \toks registers 10, 11, ... \count16=-1 % allocates input streams 0, 1, ... \count17=-1 % allocates output streams 0, 1, ... \count18=3 % allocates math families 4, 5, ... \count19=0 % allocates \language codes 1, 2, ... \count20=255 % allocates insertions 254, 253, ... \countdef\insc@unt=20 \countdef\allocationnumber=21 \countdef\m@ne=22 \m@ne=-1 \def\wlog{\immediate\write\m@ne} \countdef\count@=255 \dimendef\dimen@=0 \dimendef\dimen@i=1 % global only \dimendef\dimen@ii=2 \skipdef\skip@=0 \toksdef\toks@=0 \def\newcount{\alloc@0\count\countdef\insc@unt} \def\newdimen{\alloc@1\dimen\dimendef\insc@unt} \def\newskip{\alloc@2\skip\skipdef\insc@unt} \def\newmuskip{\alloc@3\muskip\muskipdef\@cclvi} \def\newbox{\alloc@4\box\chardef\insc@unt} \def\newhelp#1#2{\newtoks#1#1\expandafter{\csname#2\endcsname}} \def\newtoks{\alloc@5\toks\toksdef\@cclvi} \def\newread{\alloc@6\read\chardef\sixt@@n} \def\newwrite{\alloc@7\write\chardef\sixt@@n} \def\newlanguage{\alloc@9\language\chardef\@cclvi} \def\alloc@#1#2#3#4#5{\global\advance\count1#1\@ne \ch@ck#1#4#2% make sure there's still room \allocationnumber\count1#1% \global#3#5\allocationnumber \wlog{\string#5=\string#2\the\allocationnumber}} \def\newinsert#1{\global\advance\insc@unt \m@ne \ch@ck0\insc@unt\count \ch@ck1\insc@unt\dimen \ch@ck2\insc@unt\skip \ch@ck4\insc@unt\box \allocationnumber\insc@unt \global\chardef#1\allocationnumber \wlog{\string#1=\string\insert\the\allocationnumber}} \gdef\ch@ck#1#2#3{% \ifnum\count1#1<#2\else \errmessage{No room for a new #3}% \fi} \newdimen\maxdimen \maxdimen=16383.99999pt % the largest legal \newskip\hideskip \hideskip=-1000pt plus 1fill % negative but can grow \newdimen\p@ \p@=1pt % this saves macro space and time \newdimen\z@ \z@=0pt % can be used both for 0pt and 0 \newskip\z@skip \z@skip=0pt plus0pt minus0pt \newbox\voidb@x % permanently void box register \message{compatibility for TeX 2, } \ifx\@undefined\inputlineno \newcount\inputlineno \inputlineno-1 \ifx\@undefined\language \newcount\language \fi \newcount\lefthyphenmin \newcount\righthyphenmin \newcount\errorcontextlines \newcount\holdinginserts \newdimen\emergencystretch \newcount\badness \let\noboundary\relax \newcount\setlanguage \fi \message{parameters,} \pretolerance=100 \tolerance=200 % INITEX sets this to 10000 \hbadness=1000 \vbadness=1000 \linepenalty=10 \hyphenpenalty=50 \exhyphenpenalty=50 \binoppenalty=700 \relpenalty=500 \clubpenalty=150 \widowpenalty=150 \displaywidowpenalty=50 \brokenpenalty=100 \predisplaypenalty=10000 \doublehyphendemerits=10000 \finalhyphendemerits=5000 \adjdemerits=10000 \tracinglostchars=1 \uchyph=1 \defaulthyphenchar=`\- \defaultskewchar=-1 \delimiterfactor=901 \showboxbreadth=-1 \showboxdepth=-1 \errorcontextlines=-1 \hfuzz=0.1pt \vfuzz=0.1pt \overfullrule=5pt \maxdepth=4pt \splitmaxdepth=\maxdimen \boxmaxdepth=\maxdimen \delimitershortfall=5pt \nulldelimiterspace=1.2pt \scriptspace=0.5pt \parindent=20pt \parskip=0pt plus 1pt \abovedisplayskip=12pt plus 3pt minus 9pt \abovedisplayshortskip=0pt plus 3pt \belowdisplayskip=12pt plus 3pt minus 9pt \belowdisplayshortskip=7pt plus 3pt minus 4pt \topskip=10pt \splittopskip=10pt \parfillskip=0pt plus 1fil \newskip\normalbaselineskip \normalbaselineskip=12pt \newskip\normallineskip \normallineskip=1pt \newdimen\normallineskiplimit \normallineskiplimit=0pt \newcount\interfootnotelinepenalty \interfootnotelinepenalty=100 \def\magstephalf{1095 } \def\magstep#1{\ifcase#1 \@m\or 1200\or 1440\or 1728\or 2074\or 2488\fi\relax} \def\frenchspacing{\sfcode`\.\@m \sfcode`\?\@m \sfcode`\!\@m \sfcode`\:\@m \sfcode`\;\@m \sfcode`\,\@m} \def\nonfrenchspacing{\sfcode`\.3000\sfcode`\?3000\sfcode`\!3000% \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250 } \def\normalbaselines{\lineskip\normallineskip \baselineskip\normalbaselineskip \lineskiplimit\normallineskiplimit} \def\^^M{\ } % control = control \let\^^I\^^M % same for \def\lq{`} \def\rq{'} \def\lbrack{[} \def\rbrack{]} \def \aa {\r a} \def \AA {\r A} \let\endgraf=\par \let\endline=\cr \def\space{ } \let\empty\@empty \def\null{\hbox{}} \let\bgroup={ \let\egroup=} {\catcode`\^^M=\active % these lines must end with % \gdef\obeylines{\catcode`\^^M\active \let^^M\par}% \global\let^^M\par} % this is in case ^^M appears in a \write \def\obeyspaces{\catcode`\ \active} {\obeyspaces\global\let =\space} \long\def \loop #1\repeat{% \def\iterate{#1\relax % Extra \relax \expandafter\iterate\fi }% \iterate \let\iterate\relax } \let\repeat=\fi \def\nointerlineskip{\prevdepth-\@m\p@} \def\offinterlineskip{\baselineskip-\@m\p@ \lineskip\z@ \lineskiplimit\maxdimen} \def\vglue{\afterassignment\vgl@\skip@=} \def\vgl@{\par \dimen@\prevdepth \hrule \@height\z@ \nobreak\vskip\skip@ \prevdepth\dimen@} \def\hglue{\afterassignment\hgl@\skip@=} \def\hgl@{\leavevmode \count@\spacefactor \vrule \@width\z@ \nobreak\hskip\skip@ \spacefactor\count@} \def\slash{/\penalty\exhyphenpenalty} % a `/' that acts like a `-' \def\break{\penalty-\@M} \def\nobreak{\penalty \@M} \def\allowbreak{\penalty \z@} \def\filbreak{\par\vfil\penalty-200\vfilneg} \def\goodbreak{\par\penalty-500 } \def\eject{\par\break} \def\removelastskip{\ifdim\lastskip=\z@\else\vskip-\lastskip\fi} \def\smallbreak{\par\ifdim\lastskip<\smallskipamount \removelastskip\penalty-50\smallskip\fi} \def\medbreak{\par\ifdim\lastskip<\medskipamount \removelastskip\penalty-100\medskip\fi} \def\bigbreak{\par\ifdim\lastskip<\bigskipamount \removelastskip\penalty-200\bigskip\fi} \def\m@th{\mathsurround\z@} \def\underbar#1{\underline{\sbox\tw@{#1}\dp\tw@\z@\box\tw@}} \newbox\strutbox \def\strut{\relax\ifmmode\copy\strutbox\else\unhcopy\strutbox\fi} \def\hidewidth{\hskip\hideskip} \def\narrower{% \advance\leftskip\parindent \advance\rightskip\parindent} \chardef\%=`\% \chardef\&=`\& \chardef\#=`\# \def\leavevmode{\unhbox\voidb@x} \def\mathhexbox#1#2#3{\mbox{$\m@th \mathchar"#1#2#3$}} \def\ialign{\everycr{}\tabskip\z@skip\halign} % initialized \halign \def\oalign#1{\leavevmode\vtop{\baselineskip\z@skip \lineskip.25ex% \ialign{##\crcr#1\crcr}}} \def\o@lign{\lineskiplimit\z@ \oalign} \def\ooalign{\lineskiplimit-\maxdimen \oalign} \def\sh@ft#1{\dimen@.00#1ex\multiply\dimen@\fontdimen1\font \kern-.0156\dimen@} % compensate for slant in lowered accents \def\ltx@sh@ft #1{% \dimen@ #1% \kern \strip@pt \fontdimen1\font \dimen@ } % kern by #1 times the current slant \def\hrulefill{\leavevmode\leaders\hrule\hfill\kern\z@} \def\dotfill{% \leavevmode \cleaders \hb@xt@ .44em{\hss.\hss}\hfill \kern\z@} \sfcode`\)=0 \sfcode`\'=0 \sfcode`\]=0 \def\showoverfull{\tracingonline\@ne} \gdef\loggingoutput{\tracingoutput\@ne \showboxbreadth\maxdimen\showboxdepth\maxdimen\errorstopmode} \gdef\showoutput{\loggingoutput\showoverfull} \gdef\loggingall{\tracingcommands\tw@\tracingstats\tw@ \tracingpages\@ne\tracinglostchars\@ne \tracingmacros\tw@\tracingparagraphs\@ne\tracingrestores\@ne \errorcontextlines\maxdimen\loggingoutput} \gdef\tracingall{\loggingall\showoverfull} \nonfrenchspacing %%% From File: ltvers.dtx \def\fmtname{LaTeX2e} \edef\fmtversion{2009/09/24} \iffalse \def\reserved@a#1/#2/#3\@nil{% \count@\year \advance\count@-#1\relax \multiply\count@ by 12\relax \advance\count@\month \advance\count@-#2\relax} \expandafter\reserved@a\fmtversion\@nil \ifnum\count@>65 \typeout{^^J% !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^^J% ! You are attempting to make a LaTeX format from a source file^^J% ! That is more than five years old.^^J% !^^J% ! If you enter to scroll past this message then the format^^J% ! will be built, but please consider obtaining newer source files^^J% ! before continuing to build LaTeX.^^J% !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^^J% } \errhelp{To avoid this error message, obtain new LaTeX sources.} \errmessage{LaTeX source files more than 5 years old!} \fi \let\reserved@a\relax \fi \everyjob{\typeout{\fmtname \space<\fmtversion>}} \immediate\write16{\fmtname \space<\fmtversion>} %%% From File: ltdefns.dtx \def\two@digits#1{\ifnum#1<10 0\fi\number#1} \def\typeout#1{\begingroup\set@display@protect \immediate\write\@unused{#1}\endgroup} \newlinechar`\^^J \let\@@par=\par \let\@@hyph=\- % Save original primitive definition \def\-{\discretionary{-}{}{}} \let\@dischyph=\- \let\@@italiccorr=\/ \def\@height{height} \def\@depth{depth} \def\@width{width} \def\@minus{minus} \def\@plus{plus} \def\hb@xt@{\hbox to} \message{hacks,} \def\typein{% \let\@typein\relax \@testopt\@xtypein\@typein} \def\@xtypein[#1]#2{% \typeout{#2}% \advance\endlinechar\@M \read\@inputcheck to#1% \advance\endlinechar-\@M \@typein} \def\@namedef#1{\expandafter\def\csname #1\endcsname} \def\@nameuse#1{\csname #1\endcsname} \def\@cons#1#2{\begingroup\let\@elt\relax\xdef#1{#1\@elt #2}\endgroup} \def\@car#1#2\@nil{#1} \def\@cdr#1#2\@nil{#2} \def\@carcube#1#2#3#4\@nil{#1#2#3} \def\@preamblecmds{} \def\@onlypreamble#1{% \expandafter\gdef\expandafter\@preamblecmds\expandafter{% \@preamblecmds\do#1}} \@onlypreamble\@onlypreamble \@onlypreamble\@preamblecmds \def\@star@or@long#1{% \@ifstar {\let\l@ngrel@x\relax#1}% {\let\l@ngrel@x\long#1}} \let\l@ngrel@x\relax \def\newcommand{\@star@or@long\new@command} \def\new@command#1{% \@testopt{\@newcommand#1}0} \def\@newcommand#1[#2]{% \kernel@ifnextchar [{\@xargdef#1[#2]}% {\@argdef#1[#2]}} \long\def\@argdef#1[#2]#3{% \@ifdefinable #1{\@yargdef#1\@ne{#2}{#3}}} \long\def\@xargdef#1[#2][#3]#4{% \@ifdefinable#1{% \expandafter\def\expandafter#1\expandafter{% \expandafter \@protected@testopt \expandafter #1% \csname\string#1\endcsname {#3}}% \expandafter\@yargdef \csname\string#1\endcsname \tw@ {#2}% {#4}}} \long\def\@testopt#1#2{% \kernel@ifnextchar[{#1}{#1[{#2}]}} \def\@protected@testopt#1{%% \ifx\protect\@typeset@protect \expandafter\@testopt \else \@x@protect#1% \fi} \long \def \@yargdef #1#2#3{% \ifx#2\tw@ \def\reserved@b##11{[####1]}% \else \let\reserved@b\@gobble \fi \expandafter \@yargd@f \expandafter{\number #3}#1% } \long \def \@yargd@f#1#2{% \def \reserved@a ##1#1##2##{% \expandafter\def\expandafter#2\reserved@b ##1#1% }% \l@ngrel@x \reserved@a 0##1##2##3##4##5##6##7##8##9###1% } \long\def\@reargdef#1[#2]{% \@yargdef#1\@ne{#2}} \def\renewcommand{\@star@or@long\renew@command} \def\renew@command#1{% \begingroup \escapechar\m@ne\xdef\@gtempa{{\string#1}}\endgroup \expandafter\@ifundefined\@gtempa {\@latex@error{\noexpand#1undefined}\@ehc}% \relax \let\@ifdefinable\@rc@ifdefinable \new@command#1} \long\def\@ifdefinable #1#2{% \edef\reserved@a{\expandafter\@gobble\string #1}% \@ifundefined\reserved@a {\edef\reserved@b{\expandafter\@carcube \reserved@a xxx\@nil}% \ifx \reserved@b\@qend \@notdefinable\else \ifx \reserved@a\@qrelax \@notdefinable\else #2% \fi \fi}% \@notdefinable} \let\@@ifdefinable\@ifdefinable \long\def\@rc@ifdefinable#1#2{% \let\@ifdefinable\@@ifdefinable #2} \def\newenvironment{\@star@or@long\new@environment} \def\new@environment#1{% \@testopt{\@newenva#1}0} \def\@newenva#1[#2]{% \kernel@ifnextchar [{\@newenvb#1[#2]}{\@newenv{#1}{[#2]}}} \def\@newenvb#1[#2][#3]{\@newenv{#1}{[#2][{#3}]}} \def\renewenvironment{\@star@or@long\renew@environment} \def\renew@environment#1{% \@ifundefined{#1}% {\@latex@error{Environment #1 undefined}\@ehc }\relax \expandafter\let\csname#1\endcsname\relax \expandafter\let\csname end#1\endcsname\relax \new@environment{#1}} \long\def\@newenv#1#2#3#4{% \@ifundefined{#1}% {\expandafter\let\csname#1\expandafter\endcsname \csname end#1\endcsname}% \relax \expandafter\new@command \csname #1\endcsname#2{#3}% \l@ngrel@x\expandafter\def\csname end#1\endcsname{#4}} \def\newif#1{% \count@\escapechar \escapechar\m@ne \let#1\iffalse \@if#1\iftrue \@if#1\iffalse \escapechar\count@} \def\@if#1#2{% \expandafter\def\csname\expandafter\@gobbletwo\string#1% \expandafter\@gobbletwo\string#2\endcsname {\let#1#2}} \def\providecommand{\@star@or@long\provide@command} \def\provide@command#1{% \begingroup \escapechar\m@ne\xdef\@gtempa{{\string#1}}% \endgroup \expandafter\@ifundefined\@gtempa {\def\reserved@a{\new@command#1}}% {\def\reserved@a{\renew@command\reserved@a}}% \reserved@a}% \def\CheckCommand{\@star@or@long\check@command} \@onlypreamble\CheckCommand \def\check@command#1#2#{\@check@c#1{#2}} \@onlypreamble\check@command \long\def\@check@c#1#2#3{% \expandafter\let\csname\string\reserved@a\endcsname\relax \renew@command\reserved@a#2{#3}% \@ifundefined{\string\reserved@a}% {\@check@eq#1\reserved@a}% {\expandafter\@check@eq \csname\string#1\expandafter\endcsname \csname\string\reserved@a\endcsname}} \@onlypreamble\@check@c \def\@check@eq#1#2{% \ifx#1#2\else \@latex@warning@no@line {Command \noexpand#1 has changed.\MessageBreak Check if current package is valid}% \fi} \@onlypreamble\@check@eq \long\def \@gobble #1{} \long\def \@gobbletwo #1#2{} \long\def \@gobblefour #1#2#3#4{} \long\def\@firstofone#1{#1} \long\def\@firstoftwo#1#2{#1} \long\def\@secondoftwo#1#2{#2} \let\@iden\@firstofone \long\def\@thirdofthree#1#2#3{#3} \def\@expandtwoargs#1#2#3{% \edef\reserved@a{\noexpand#1{#2}{#3}}\reserved@a} \edef\@backslashchar{\expandafter\@gobble\string\\} \def\@unexpandable@protect{\noexpand\protect\noexpand} \def\DeclareRobustCommand{\@star@or@long\declare@robustcommand} \def\declare@robustcommand#1{% \ifx#1\@undefined\else\ifx#1\relax\else \@latex@info{Redefining \string#1}% \fi\fi \edef\reserved@a{\string#1}% \def\reserved@b{#1}% \edef\reserved@b{\expandafter\strip@prefix\meaning\reserved@b}% \edef#1{% \ifx\reserved@a\reserved@b \noexpand\x@protect \noexpand#1% \fi \noexpand\protect \expandafter\noexpand\csname \expandafter\@gobble\string#1 \endcsname }% \let\@ifdefinable\@rc@ifdefinable \expandafter\new@command\csname \expandafter\@gobble\string#1 \endcsname } \def\x@protect#1{% \ifx\protect\@typeset@protect\else \@x@protect#1% \fi } \def\@x@protect#1\fi#2#3{% \fi\protect#1% } \let\@typeset@protect\relax \def\set@display@protect{\let\protect\string} \def\set@typeset@protect{\let\protect\@typeset@protect} \def\protected@edef{% \let\@@protect\protect \let\protect\@unexpandable@protect \afterassignment\restore@protect \edef } \def\protected@xdef{% \let\@@protect\protect \let\protect\@unexpandable@protect \afterassignment\restore@protect \xdef } \def\unrestored@protected@xdef{% \let\protect\@unexpandable@protect \xdef } \def\restore@protect{\let\protect\@@protect} \set@typeset@protect \def\@ifundefined#1{% \expandafter\ifx\csname#1\endcsname\relax \expandafter\@firstoftwo \else \expandafter\@secondoftwo \fi} \edef\@qend{\expandafter\@cdr\string\end\@nil} \edef\@qrelax{\expandafter\@cdr\string\relax\@nil} \long\def\@ifnextchar#1#2#3{% \let\reserved@d=#1% \def\reserved@a{#2}% \def\reserved@b{#3}% \futurelet\@let@token\@ifnch} \let\kernel@ifnextchar\@ifnextchar \def\@ifnch{% \ifx\@let@token\@sptoken \let\reserved@c\@xifnch \else \ifx\@let@token\reserved@d \let\reserved@c\reserved@a \else \let\reserved@c\reserved@b \fi \fi \reserved@c} \def\:{\let\@sptoken= } \: % this makes \@sptoken a space token \def\:{\@xifnch} \expandafter\def\: {\futurelet\@let@token\@ifnch} \def\makeatletter{\catcode`\@11\relax} \def\makeatother{\catcode`\@12\relax} \def\@ifstar#1{\@ifnextchar *{\@firstoftwo{#1}}} \long\def\@dblarg#1{\kernel@ifnextchar[{#1}{\@xdblarg{#1}}} \long\def\@xdblarg#1#2{#1[{#2}]{#2}} \def\@sanitize{\@makeother\ \@makeother\\\@makeother\$\@makeother\&% \@makeother\#\@makeother\^\@makeother\_\@makeother\%\@makeother\~} \def \@onelevel@sanitize #1{% \edef #1{\expandafter\strip@prefix \meaning #1}% } %%% From File: ltalloc.dtx \chardef\@xxxii=32 \mathchardef\@Mi=10001 \mathchardef\@Mii=10002 \mathchardef\@Miii=10003 \mathchardef\@Miv=10004 \newcount\@tempcnta \newcount\@tempcntb \newif\if@tempswa \newdimen\@tempdima \newdimen\@tempdimb \newdimen\@tempdimc \newbox\@tempboxa \newskip\@tempskipa \newskip\@tempskipb \newtoks\@temptokena \newskip\@flushglue \@flushglue = 0pt plus 1fil %%% From File: ltcntrl.dtx \message{control,} \long\def\@whilenum#1\do #2{\ifnum #1\relax #2\relax\@iwhilenum{#1\relax #2\relax}\fi} \long\def\@iwhilenum#1{\ifnum #1\expandafter\@iwhilenum \else\expandafter\@gobble\fi{#1}} \long\def\@whiledim#1\do #2{\ifdim #1\relax#2\@iwhiledim{#1\relax#2}\fi} \long\def\@iwhiledim#1{\ifdim #1\expandafter\@iwhiledim \else\expandafter\@gobble\fi{#1}} \long\def\@whilesw#1\fi#2{#1#2\@iwhilesw{#1#2}\fi\fi} \long\def\@iwhilesw#1\fi{#1\expandafter\@iwhilesw \else\@gobbletwo\fi{#1}\fi} \def\@nnil{\@nil} \def\@empty{} \long\def\@fornoop#1\@@#2#3{} \long\def\@for#1:=#2\do#3{% \expandafter\def\expandafter\@fortmp\expandafter{#2}% \ifx\@fortmp\@empty \else \expandafter\@forloop#2,\@nil,\@nil\@@#1{#3}\fi} \long\def\@forloop#1,#2,#3\@@#4#5{\def#4{#1}\ifx #4\@nnil \else #5\def#4{#2}\ifx #4\@nnil \else#5\@iforloop #3\@@#4{#5}\fi\fi} \long\def\@iforloop#1,#2\@@#3#4{\def#3{#1}\ifx #3\@nnil \expandafter\@fornoop \else #4\relax\expandafter\@iforloop\fi#2\@@#3{#4}} \def\@tfor#1:={\@tf@r#1 } \long\def\@tf@r#1#2\do#3{\def\@fortmp{#2}\ifx\@fortmp\space\else \@tforloop#2\@nil\@nil\@@#1{#3}\fi} \long\def\@tforloop#1#2\@@#3#4{\def#3{#1}\ifx #3\@nnil \expandafter\@fornoop \else #4\relax\expandafter\@tforloop\fi#2\@@#3{#4}} \long\def\@break@tfor#1\@@#2#3{\fi\fi} \def\@removeelement#1#2#3{% \def\reserved@a##1,#1,##2\reserved@a{##1,##2\reserved@b}% \def\reserved@b##1,\reserved@b##2\reserved@b{% \ifx,##1\@empty\else##1\fi}% \edef#3{% \expandafter\reserved@b\reserved@a,#2,\reserved@b,#1,\reserved@a}} %%% From File: lterror.dtx \expandafter\let\csname ver@autoerr.sty\endcsname\fmtversion \let\MessageBreak\relax \DeclareRobustCommand{\GenericInfo}[2]{% \begingroup \def\MessageBreak{^^J#1}% \set@display@protect \immediate\write\m@ne{#2\on@line.}% \endgroup } \DeclareRobustCommand{\GenericWarning}[2]{% \begingroup \def\MessageBreak{^^J#1}% \set@display@protect \immediate\write\@unused{^^J#2\on@line.^^J}% \endgroup } \bgroup \lccode`\@=`\ % \lccode`\~=`\ % \lccode`\}=`\ % \lccode`\{=`\ % \lccode`\T=`\T% \lccode`\H=`\H% \catcode`\ =11\relax% \lowercase{% \egroup% \dimen@\ifx\@TeXversion\@undefined4\else\@TeXversion\fi\p@% \ifdim\dimen@>3.14\p@% \DeclareRobustCommand{\GenericError}[4]{% \begingroup% \immediate\write\@unused{}% \def\MessageBreak{^^J}% \set@display@protect% \edef% \@err@ % {{#4}}% \errhelp \@err@ % \let \@err@ % \@empty \def\MessageBreak{^^J#1}% \def~{\errmessage{% #2.^^J^^J% #3^^J% Type H for immediate help% \@err@ % }}% ~% \endgroup}% \else% \DeclareRobustCommand{\GenericError}[4]{% \begingroup% \immediate\write\@unused{}% \def\MessageBreak{^^J}% \set@display@protect% \edef% \@err@ % {{#4}}% \errhelp \@err@ % \let \@err@ % \errmessage \def\MessageBreak{^^J#1}% \def~{\typeout{! % #2.^^J^^J% #3^^J% Type H for immediate help.}% \@err@ % {}}% ~% \endgroup}% \fi}% \gdef\PackageError#1#2#3{% \GenericError{% (#1)\@spaces\@spaces\@spaces\@spaces }{% Package #1 Error: #2% }{% See the #1 package documentation for explanation.% }{#3}% } \def\PackageWarning#1#2{% \GenericWarning{% (#1)\@spaces\@spaces\@spaces\@spaces }{% Package #1 Warning: #2% }% } \def\PackageWarningNoLine#1#2{% \PackageWarning{#1}{#2\@gobble}% } \def\PackageInfo#1#2{% \GenericInfo{% (#1) \@spaces\@spaces\@spaces }{% Package #1 Info: #2% }% } \gdef\ClassError#1#2#3{% \GenericError{% (#1) \space\@spaces\@spaces\@spaces }{% Class #1 Error: #2% }{% See the #1 class documentation for explanation.% }{#3}% } \def\ClassWarning#1#2{% \GenericWarning{% (#1) \space\@spaces\@spaces\@spaces }{% Class #1 Warning: #2% }% } \def\ClassWarningNoLine#1#2{% \ClassWarning{#1}{#2\@gobble}% } \def\ClassInfo#1#2{% \GenericInfo{% (#1) \space\space\@spaces\@spaces }{% Class #1 Info: #2% }% } \gdef\@latex@error#1#2{% \GenericError{% \space\space\space\@spaces\@spaces\@spaces }{% LaTeX Error: #1% }{% See the LaTeX manual or LaTeX Companion for explanation.% }{#2}% } \def\@latex@warning#1{% \GenericWarning{% \space\space\space\@spaces\@spaces\@spaces }{% LaTeX Warning: #1% }% } \def\@latex@warning@no@line#1{% \@latex@warning{#1\@gobble}} \def\@latex@info#1{% \GenericInfo{% \@spaces\@spaces\@spaces }{% LaTeX Info: #1% }% } \def\@latex@info@no@line#1{% \@latex@info{#1\@gobble}} \let\c@errorcontextlines\errorcontextlines \c@errorcontextlines=-1 \ifnum\inputlineno=\m@ne \let\on@line\@empty \else \def\on@line{ on input line \the\inputlineno} \fi \let\@warning\@latex@warning \let\@@warning\@latex@warning@no@line \global\let\@latexerr\@latex@error \def\@spaces{\space\space\space\space} \gdef\@eha{% Your command was ignored.\MessageBreak Type \space I \space to replace it % with another command,\MessageBreak or \space \space to continue without it.} \gdef\@ehb{% You've lost some text. \space \@ehc} \gdef\@ehc{% Try typing \space % \space to proceed.\MessageBreak If that doesn't work, type \space X \space to quit.} \gdef\@ehd{% You're in trouble here. \space\@ehc} \gdef\@notdefinable{% \@latex@error{% Command \@backslashchar\reserved@a\space already defined.\MessageBreak Or name \@backslashchar\@qend... illegal, see p.192 of the manual}\@eha} \gdef\@nolnerr{% \@latex@error{There's no line here to end}\@eha} \gdef\@nocounterr#1{% \@latex@error{No counter '#1' defined}\@eha} \gdef\@nocnterr{\@nocounterr?} \gdef\@ctrerr{% \@latex@error{Counter too large}\@ehb} \gdef\@nodocument{% \@latex@error{Missing \protect\begin{document}}\@ehd} \gdef\@badend#1{% \@latex@error{\protect\begin{\@currenvir}\@currenvline \space ended by \protect\end{#1}}\@eha} \gdef\@badmath{% \@latex@error{Bad math environment delimiter}\@eha} \gdef\@toodeep{% \@latex@error{Too deeply nested}\@ehd} \gdef\@badpoptabs{% \@latex@error{\protect\pushtabs\space and \protect\poptabs \space don't match}\@ehd} \gdef\@badtab{% \@latex@error{Undefined tab position}\@ehd} \gdef\@preamerr#1{% \begingroup \let\protect\relax \@latex@error{\ifcase #1 Illegal character\or Missing @-exp\or Missing p-arg\fi\space in array arg}\@ehd \endgroup} \gdef\@badlinearg{% \@latex@error{% Bad \protect\line\space or \protect\vector \space argument}\@ehb} \gdef\@parmoderr{% \@latex@error{Not in outer par mode}\@ehb} \gdef\@fltovf{% \@latex@error{Too many unprocessed floats}\@ehb} \gdef\@latexbug{% \@latex@error{This may be a LaTeX bug}{Call for help}} \gdef\@noitemerr{% \@latex@error{Something's wrong--perhaps a missing % \protect\item}\@ehc} \gdef\@notprerr{% \@latex@error{Can be used only in preamble}\@eha} \gdef\@inmatherr#1{% \relax \ifmmode \@latex@error{Command \protect#1 invalid in math mode}\@ehc \fi} %%% From File: ltpar.dtx \message{par,} \def\@setpar#1{\def\par{#1}\def\@par{#1}} \def\@par{\let\par\@@par\par} \def\@restorepar{\def\par{\@par}} %%% From File: ltspace.dtx \message{spacing,} \def\pagebreak{\@testopt{\@no@pgbk-}4} \def\nopagebreak{\@testopt\@no@pgbk4} \def\@no@pgbk #1[#2]{% \ifvmode \penalty #1\@getpen{#2}% \else \@bsphack \vadjust{\penalty #1\@getpen{#2}}% \@esphack \fi} \def\linebreak{\@testopt{\@no@lnbk-}4} \def\nolinebreak{\@testopt\@no@lnbk4} \def\@no@lnbk #1[#2]{% \ifvmode \@nolnerr \else \@tempskipa\lastskip \unskip \penalty #1\@getpen{#2}% \ifdim\@tempskipa>\z@ \hskip\@tempskipa \ignorespaces \fi \fi} \def\samepage{\interlinepenalty\@M \postdisplaypenalty\@M \interdisplaylinepenalty\@M \@beginparpenalty\@M \@endparpenalty\@M \@itempenalty\@M \@secpenalty\@M \interfootnotelinepenalty\@M} \DeclareRobustCommand\\{% \let \reserved@e \relax \let \reserved@f \relax \@ifstar{\let \reserved@e \vadjust \let \reserved@f \nobreak \@xnewline}% \@xnewline} \expandafter\let\expandafter\@normalcr \csname\expandafter\@gobble\string\\ \endcsname \DeclareRobustCommand\newline{\@normalcr\relax} \def\@xnewline{\@ifnextchar[% ] bracket matching \@newline {\@gnewline\relax}} \def\@newline[#1]{\let \reserved@e \vadjust \@gnewline {\vskip #1}} \def\@gnewline #1{% \ifvmode \@nolnerr \else \unskip \reserved@e {\reserved@f#1}\nobreak \hfil \break \fi} \def\@getpen#1{\ifcase #1 \z@ \or \@lowpenalty\or \@medpenalty \or \@highpenalty \else \@M \fi} \def\@nobreakfalse{\global\let\if@nobreak\iffalse} \def\@nobreaktrue {\global\let\if@nobreak\iftrue} \@nobreakfalse \newdimen\@savsk \newcount\@savsf \def\@bsphack{% \relax \ifhmode \@savsk\lastskip \@savsf\spacefactor \fi} \def\@esphack{% \relax \ifhmode \spacefactor\@savsf \ifdim\@savsk>\z@ \ignorespaces \fi \fi} \def\@Esphack{% \relax \ifhmode \spacefactor\@savsf \ifdim\@savsk>\z@ \@ignoretrue \ignorespaces \fi \fi} \def\@xaddvskip{% \ifdim\lastskip<\@tempskipb \vskip-\lastskip \vskip\@tempskipb \else \ifdim\@tempskipb<\z@ \ifdim\lastskip<\z@ \else \advance\@tempskipb\lastskip \vskip-\lastskip \vskip \@tempskipb \fi \fi \fi} \def\addvspace#1{% \ifvmode \if@minipage\else \ifdim \lastskip =\z@ \vskip #1\relax \else \@tempskipb#1\relax \@xaddvskip \fi \fi \else \@noitemerr \fi} \def\addpenalty#1{% \ifvmode \if@minipage \else \if@nobreak \else \ifdim\lastskip=\z@ \penalty#1\relax \else \@tempskipb\lastskip \vskip -\lastskip \penalty#1% \vskip\@tempskipb \fi \fi \fi \else \@noitemerr \fi} \DeclareRobustCommand\vspace{\@ifstar\@vspacer\@vspace} \def\@vspace #1{% \ifvmode \vskip #1 \vskip\z@skip \else \@bsphack \vadjust{\@restorepar \vskip #1 \vskip\z@skip }% \@esphack \fi} \def\@vspacer#1{% \ifvmode \dimen@\prevdepth \hrule \@height\z@ \nobreak \vskip #1 \vskip\z@skip \prevdepth\dimen@ \else \@bsphack \vadjust{\@restorepar \hrule \@height\z@ \nobreak \vskip #1 \vskip\z@skip}% \@esphack \fi} \def\smallskip{\vspace\smallskipamount} \def\medskip{\vspace\medskipamount} \def\bigskip{\vspace\bigskipamount} \newskip\smallskipamount \smallskipamount=3pt plus 1pt minus 1pt \newskip\medskipamount \medskipamount =6pt plus 2pt minus 2pt \newskip\bigskipamount \bigskipamount =12pt plus 4pt minus 4pt \DeclareRobustCommand{\nobreakdashes}{% \leavevmode \toks@{}% \def\reserved@a##1{\toks@\expandafter{\the\toks@-}% \futurelet\@let@token \reserved@b}% \def\reserved@b {\ifx\@let@token -% \expandafter\reserved@a \else \setbox\z@ \hbox{\the\toks@\nobreak}% \unhbox\z@ \spacefactor\sfcode`\- \fi}% \futurelet\@let@token \reserved@b } \DeclareRobustCommand{\nobreakspace}{% \leavevmode\nobreak\ } \catcode `\~=13 \def~{\nobreakspace{}} \expandafter\let\expandafter\@xobeysp\csname nobreakspace \endcsname \DeclareRobustCommand{\,}{% \relax\ifmmode\mskip\thinmuskip\else\thinspace\fi } \def\@{\spacefactor\@m} \DeclareRobustCommand\hspace{\@ifstar\@hspacer\@hspace} \def\@hspace#1{\hskip #1\relax} \def\@hspacer#1{\vrule \@width\z@\nobreak \hskip #1\hskip \z@skip} \newskip\fill \fill = 0pt plus 1fill \def\stretch#1{\z@ \@plus #1fill\relax} \def\thinspace{\kern .16667em } \def\negthinspace{\kern-.16667em } \def\enspace{\kern.5em } \def\enskip{\hskip.5em\relax} \def\quad{\hskip1em\relax} \def\qquad{\hskip2em\relax} {\catcode`\^^M=13 \gdef\obeycr{\catcode`\^^M13 \def^^M{\\\relax}% \@gobblecr}% {\catcode`\^^M=13 \gdef\@gobblecr{\@ifnextchar \@gobble\ignorespaces}} \gdef\restorecr{\catcode`\^^M5 }} %%% From File: ltlogos.dtx \def\TeX{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX\@} \DeclareRobustCommand{\LaTeX}{L\kern-.36em% {\sbox\z@ T% \vbox to\ht\z@{\hbox{\check@mathfonts \fontsize\sf@size\z@ \math@fontsfalse\selectfont A}% \vss}% }% \kern-.15em% \TeX} \DeclareRobustCommand{\LaTeXe}{\mbox{\m@th \if b\expandafter\@car\f@series\@nil\boldmath\fi \LaTeX\kern.15em2$_{\textstyle\varepsilon}$}} %%% From File: ltfiles.dtx \message{files,} \newread\@inputcheck \newwrite\@unused \newwrite\@mainaux \newwrite\@partaux \newif\if@filesw \@fileswtrue \newif\if@partsw \@partswfalse \newcount\@clubpenalty \@clubpenalty \clubpenalty \def\document{\endgroup \ifx\@unusedoptionlist\@empty\else \@latex@warning@no@line{Unused global option(s):^^J% \@spaces[\@unusedoptionlist]}% \fi \@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 \global \let \@multiplelabels \relax \@input{\jobname.aux}% \endgroup \if@filesw \immediate\openout\@mainaux\jobname.aux \immediate\write\@mainaux{\relax}% \fi \process@table \let\glb@currsize\@empty %% Force math initialization. \normalsize \everypar{}% \ifx\normalsfcodes\@empty \ifnum\sfcode`\.=\@m \let\normalsfcodes\frenchspacing \else \let\normalsfcodes\nonfrenchspacing \fi \fi \@noskipsecfalse \let \@refundefined \relax \let\AtBeginDocument\@firstofone \@begindocumenthook \ifdim\topskip<1sp\global\topskip 1sp\relax\fi \global\@maxdepth\maxdepth \global\let\@begindocumenthook\@undefined \ifx\@listfiles\@undefined \global\let\@filelist\relax \global\let\@addtofilelist\@gobble \fi \gdef\do##1{\global\let ##1\@notprerr}% \@preamblecmds \global\let \@nodocument \relax \global\let\do\noexpand \ignorespaces} \@onlypreamble\document \let\normalsfcodes\@empty \def\nofiles{% \@fileswfalse \typeout{No auxiliary output files.^^J}% \long\def\protected@write##1##2##3% {\write\m@ne{}\if@nobreak\ifvmode\nobreak\fi\fi}% \let\makeindex\relax \let\makeglossary\relax} \@onlypreamble\nofiles \long\def \protected@write#1#2#3{% \begingroup \let\thepage\relax #2% \let\protect\@unexpandable@protect \edef\reserved@a{\write#1{#3}}% \reserved@a \endgroup \if@nobreak\ifvmode\nobreak\fi\fi } \let\@auxout=\@mainaux \def\includeonly#1{% \@partswtrue \edef\@partlist{\zap@space#1 \@empty}} \@onlypreamble\includeonly \def\include#1{\relax \ifnum\@auxout=\@partaux \@latex@error{\string\include\space cannot be nested}\@eha \else \@include#1 \fi} \def\@include#1 {% \clearpage \if@filesw \immediate\write\@mainaux{\string\@input{#1.aux}}% \fi \@tempswatrue \if@partsw \@tempswafalse \edef\reserved@b{#1}% \@for\reserved@a:=\@partlist\do {\ifx\reserved@a\reserved@b\@tempswatrue\fi}% \fi \if@tempswa \let\@auxout\@partaux \if@filesw \immediate\openout\@partaux #1.aux \immediate\write\@partaux{\relax}% \fi \@input@{#1.tex}% \clearpage \@writeckpt{#1}% \if@filesw \immediate\closeout\@partaux \fi \else \deadcycles\z@ \@nameuse{cp@#1}% \fi \let\@auxout\@mainaux} \def\@writeckpt#1{% \if@filesw \immediate\write\@partaux{\string\@setckpt{#1}\@charlb}% {\let\@elt\@wckptelt \cl@@ckpt}% \immediate\write\@partaux{\@charrb}% \fi} \def\@wckptelt#1{% \immediate\write\@partaux{% \string\setcounter{#1}{\the\@nameuse{c@#1}}}} \def\@setckpt#1{\global\@namedef{cp@#1}} {\catcode`[=1 \catcode`]=2 \catcode`{=11 \catcode`}=11 \gdef\@charlb[{] \gdef\@charrb[}] ]% }brace matching \long\def \IfFileExists#1#2#3{% \openin\@inputcheck#1 % \ifeof\@inputcheck \ifx\input@path\@undefined \def\reserved@a{#3}% \else \def\reserved@a{\@iffileonpath{#1}{#2}{#3}}% \fi \else \closein\@inputcheck \edef\@filef@und{#1 }% \def\reserved@a{#2}% \fi \reserved@a} \long\def\@iffileonpath#1{% \let\reserved@a\@secondoftwo \expandafter\@tfor\expandafter\reserved@b\expandafter :\expandafter=\input@path\do{% \openin\@inputcheck\reserved@b#1 % \ifeof\@inputcheck\else \edef\@filef@und{\reserved@b#1 }% \let\reserved@a\@firstoftwo% \closein\@inputcheck \@break@tfor \fi}% \reserved@a} \long\def \InputIfFileExists#1#2{% \IfFileExists{#1}% {#2\@addtofilelist{#1}\@@input \@filef@und}} \def\input{\@ifnextchar\bgroup\@iinput\@@input} \def\@iinput#1{% \InputIfFileExists{#1}{}% {\filename@parse{#1}% \edef\reserved@a{\noexpand\@missingfileerror {\filename@area\filename@base}% {\ifx\filename@ext\relax tex\else\filename@ext\fi}}% \reserved@a}} \def\@input#1{% \IfFileExists{#1}{\@@input\@filef@und}{\typeout{No file #1.}}} \def\@input@#1{\InputIfFileExists{#1}{}{\typeout{No file #1.}}} \gdef\@missingfileerror#1#2{% \typeout{^^J! LaTeX Error: File `#1.#2' not found.^^J^^J% Type X to quit or to proceed,^^J% or enter new name. (Default extension: #2)^^J}% \message{Enter file name: }% {\endlinechar\m@ne \global\read\m@ne to\@gtempa}% \ifx\@gtempa\@empty \else \def\reserved@a{x}\ifx\reserved@a\@gtempa\batchmode\@@end\fi \def\reserved@a{X}\ifx\reserved@a\@gtempa\batchmode\@@end\fi \filename@parse\@gtempa \edef\filename@ext{% \ifx\filename@ext\relax#2\else\filename@ext\fi}% \edef\reserved@a{% \noexpand\InputIfFileExists {\filename@area\filename@base.\filename@ext}% {}% {\noexpand\@missingfileerror {\filename@area\filename@base}{\filename@ext}}}% \reserved@a \fi} \def\@obsoletefile#1#2{% \@latex@warning@no@line{inputting `#1' instead of obsolete `#2'}} \@onlypreamble\@obsoletefile \let\@filelist\@gobble \def\listfiles{% \let\listfiles\relax \def\@listfiles##1##2##3##4##5##6##7##8##9\@@{% \def\reserved@d{\\}% \@tfor\reserved@c:=##1##2##3##4##5##6##7##8\do{% \ifx\reserved@c\reserved@d \edef\filename@area{ \filename@area}% \fi}}% \def\@dofilelist{% \typeout{^^J *File List*}% \@for\@currname:=\@filelist\do{% \filename@parse\@currname \edef\reserved@a{% \filename@base.% \ifx\filename@ext\relax tex\else\filename@ext\fi}% \expandafter\let\expandafter\reserved@b \csname ver@\reserved@a\endcsname \expandafter\expandafter\expandafter\@listfiles\expandafter \filename@area\filename@base\\\\\\\\\\\\\\\\\\\@@ \typeout{% \filename@area\reserved@a \ifx\reserved@b\relax\else\@spaces\reserved@b\fi}}% \typeout{ ***********^^J}}} \@onlypreamble\listfiles \let\@dofilelist\relax %%% From File: ltoutenc.dtx \message{font encodings,} \def\DeclareTextCommand{% \@dec@text@cmd\newcommand} \def\ProvideTextCommand{% \@dec@text@cmd\providecommand} \def\@dec@text@cmd#1#2#3{% \expandafter\def\expandafter#2% \expandafter{% \csname#3-cmd\expandafter\endcsname \expandafter#2% \csname#3\string#2\endcsname }% \let\@ifdefinable\@rc@ifdefinable \expandafter#1\csname#3\string#2\endcsname} \def\chardef@text@cmd{% \let\@ifdefinable\@@ifdefinable \chardef } \def\DeclareTextSymbol#1#2#3{% \@dec@text@cmd\chardef@text@cmd#1{#2}#3\relax } \@onlypreamble\DeclareTextCommand \@onlypreamble\DeclareTextSymbol \def\@current@cmd#1{% \ifx\protect\@typeset@protect \@inmathwarn#1% \else \noexpand#1\expandafter\@gobble \fi} \def\@changed@cmd#1#2{% \ifx\protect\@typeset@protect \@inmathwarn#1% \expandafter\ifx\csname\cf@encoding\string#1\endcsname\relax \expandafter\ifx\csname ?\string#1\endcsname\relax \expandafter\def\csname ?\string#1\endcsname{% \TextSymbolUnavailable#1% }% \fi \global\expandafter\let \csname\cf@encoding \string#1\expandafter\endcsname \csname ?\string#1\endcsname \fi \csname\cf@encoding\string#1% \expandafter\endcsname \else \noexpand#1% \fi} \gdef\TextSymbolUnavailable#1{% \@latex@error{% Command \protect#1 unavailable in encoding \cf@encoding% }\@eha} \def\@inmathwarn#1{% \ifmmode \@latex@warning{Command \protect#1 invalid in math mode}% \fi} \def\DeclareTextCommandDefault#1{% \DeclareTextCommand#1?} \def\ProvideTextCommandDefault#1{% \ProvideTextCommand#1?} \@onlypreamble\DeclareTextCommandDefault \expandafter\let\csname?-cmd\endcsname\@changed@cmd \def\DeclareTextAccent#1#2#3{% \DeclareTextCommand#1{#2}{\add@accent{#3}}} \@onlypreamble\DeclareTextAccent \def\add@accent#1#2{\hmode@bgroup \let\hmode@start@before@group\@firstofone \setbox\@tempboxa\hbox{#2% \global\mathchardef\accent@spacefactor\spacefactor}% \accent#1 #2\egroup\spacefactor\accent@spacefactor} \let\accent@spacefactor\relax \def\hmode@bgroup{\leavevmode\bgroup} \def\DeclareTextCompositeCommand#1#2#3#4{% \expandafter\let\expandafter\reserved@a\csname#2\string#1\endcsname \expandafter\expandafter\expandafter\ifx \expandafter\@car\reserved@a\relax\relax\@nil \@text@composite \else \edef\reserved@b##1{% \def\expandafter\noexpand \csname#2\string#1\endcsname####1{% \noexpand\@text@composite \expandafter\noexpand\csname#2\string#1\endcsname ####1\noexpand\@empty\noexpand\@text@composite {##1}}}% \expandafter\reserved@b\expandafter{\reserved@a{##1}}% \fi \expandafter\def\csname\expandafter\string\csname #2\endcsname\string#1-\string#3\endcsname{#4}} \@onlypreamble\DeclareTextCompositeCommand \def\@text@composite#1#2#3\@text@composite{% \expandafter\@text@composite@x \csname\string#1-\string#2\endcsname} \def\@text@composite@x#1{% \ifx#1\relax \expandafter\@secondoftwo \else \expandafter\@firstoftwo \fi #1} \catcode\z@=11\relax \def\DeclareTextComposite#1#2#3#4{% \def\reserved@a{\DeclareTextCompositeCommand#1{#2}{#3}}% \bgroup \lccode\z@#4% \lowercase{% \egroup \reserved@a ^^@}} \catcode\z@=15\relax \@onlypreamble\DeclareTextComposite \def\UseTextAccent#1#2#3{% \hmode@start@before@group {% \let\hmode@start@before@group\@firstofone \let\@curr@enc\cf@encoding \@use@text@encoding{#1}% #2{\@use@text@encoding\@curr@enc#3}% }} \def\UseTextSymbol#1#2{% \hmode@start@before@group {% \def\@wrong@font@char{\MessageBreak for \noexpand\symbol`\string#2'}% \@use@text@encoding{#1}% #2% }% } \def\@use@text@encoding#1{% \edef\f@encoding{#1}% \xdef\font@name{% \csname\curr@fontshape/\f@size\endcsname}% \pickup@font \font@name \@@enc@update} \let\hmode@start@before@group\leavevmode \def\DeclareTextSymbolDefault#1#2{% \DeclareTextCommandDefault#1{\UseTextSymbol{#2}#1}} \def\DeclareTextAccentDefault#1#2{% \DeclareTextCommandDefault#1{\UseTextAccent{#2}#1}} \@onlypreamble\DeclareTextSymbolDefault \@onlypreamble\DeclareTextAccentDefault \def\UndeclareTextCommand#1#2{% \expandafter\ifx\csname#2\string#1\endcsname\relax \else \global\expandafter\let\csname#2\string#1\endcsname \@undefined \expandafter\expandafter\expandafter \ifx\expandafter\@thirdofthree#1\@undefined \expandafter\gdef\expandafter#1\expandafter {\csname ?-cmd\expandafter\endcsname\expandafter #1\csname?\string#1\endcsname}% \fi \fi } \@onlypreamble\UndeclareTextCommand \def\@tabacckludge#1{\expandafter\@changed@cmd \csname\string#1\endcsname\relax} \let\a=\@tabacckludge \DeclareTextAccentDefault{\"}{OT1} \DeclareTextAccentDefault{\'}{OT1} \DeclareTextAccentDefault{\.}{OT1} \DeclareTextAccentDefault{\=}{OT1} \DeclareTextAccentDefault{\H}{OT1} \DeclareTextAccentDefault{\^}{OT1} \DeclareTextAccentDefault{\`}{OT1} \DeclareTextAccentDefault{\b}{OT1} \DeclareTextAccentDefault{\c}{OT1} \DeclareTextAccentDefault{\d}{OT1} \DeclareTextAccentDefault{\r}{OT1} \DeclareTextAccentDefault{\u}{OT1} \DeclareTextAccentDefault{\v}{OT1} \DeclareTextAccentDefault{\~}{OT1} \DeclareTextSymbolDefault{\AE}{OT1} \DeclareTextSymbolDefault{\L}{OT1} \DeclareTextSymbolDefault{\OE}{OT1} \DeclareTextSymbolDefault{\O}{OT1} \DeclareTextSymbolDefault{\ae}{OT1} \DeclareTextSymbolDefault{\i}{OT1} \DeclareTextSymbolDefault{\j}{OT1} \DeclareTextSymbolDefault{\ij}{OT1} \DeclareTextSymbolDefault{\IJ}{OT1} \DeclareTextSymbolDefault{\l}{OT1} \DeclareTextSymbolDefault{\oe}{OT1} \DeclareTextSymbolDefault{\o}{OT1} \DeclareTextSymbolDefault{\ss}{OT1} \DeclareTextSymbolDefault{\textdollar}{OT1} \DeclareTextSymbolDefault{\textemdash}{OT1} \DeclareTextSymbolDefault{\textendash}{OT1} \DeclareTextSymbolDefault{\textexclamdown}{OT1} \DeclareTextSymbolDefault{\textquestiondown}{OT1} \DeclareTextSymbolDefault{\textquotedblleft}{OT1} \DeclareTextSymbolDefault{\textquotedblright}{OT1} \DeclareTextSymbolDefault{\textquoteleft}{OT1} \DeclareTextSymbolDefault{\textquoteright}{OT1} \DeclareTextSymbolDefault{\textsterling}{OT1} \DeclareTextSymbolDefault{\textasteriskcentered}{OMS} \DeclareTextSymbolDefault{\textbackslash}{OMS} \DeclareTextSymbolDefault{\textbar}{OMS} \DeclareTextSymbolDefault{\textbardbl}{OMS} \DeclareTextSymbolDefault{\textbraceleft}{OMS} \DeclareTextSymbolDefault{\textbraceright}{OMS} \DeclareTextSymbolDefault{\textbullet}{OMS} \DeclareTextSymbolDefault{\textdaggerdbl}{OMS} \DeclareTextSymbolDefault{\textdagger}{OMS} \DeclareTextSymbolDefault{\textparagraph}{OMS} \DeclareTextSymbolDefault{\textperiodcentered}{OMS} \DeclareTextSymbolDefault{\textsection}{OMS} \DeclareTextAccentDefault{\textcircled}{OMS} \DeclareTextSymbolDefault{\textless}{OML} \DeclareTextSymbolDefault{\textgreater}{OML} \DeclareTextAccentDefault{\t}{OML} \DeclareTextCommandDefault{\textcopyright}{\textcircled{c}} \DeclareTextCommandDefault{\textasciicircum}{\^{}} \DeclareTextCommandDefault{\textasciitilde}{\~{}} \DeclareTextCommandDefault{\textcompwordmark}{\leavevmode\kern\z@} \DeclareTextCommandDefault{\textunderscore}{% \leavevmode \kern.06em\vbox{\hrule\@width.3em}} \DeclareTextCommandDefault{\textvisiblespace}{% \mbox{\kern.06em\vrule \@height.3ex}% \vbox{\hrule \@width.3em}% \hbox{\vrule \@height.3ex}} \DeclareTextCommandDefault{\textellipsis}{% .\kern\fontdimen3\font .\kern\fontdimen3\font .\kern\fontdimen3\font} \DeclareTextCommandDefault{\textregistered}{\textcircled{% \check@mathfonts\fontsize\sf@size\z@\math@fontsfalse\selectfont R}} \DeclareTextCommandDefault{\texttrademark}{\textsuperscript{TM}} \DeclareTextCommandDefault{\SS}{SS} \DeclareTextCommandDefault{\textordfeminine}{\textsuperscript{a}} \DeclareTextCommandDefault{\textordmasculine}{\textsuperscript{o}} \DeclareRobustCommand{\$}{\ifmmode\mathdollar\else\textdollar\fi} \DeclareRobustCommand{\{}{\ifmmode\lbrace\else\textbraceleft\fi} \DeclareRobustCommand{\}}{\ifmmode\rbrace\else\textbraceright\fi} \DeclareRobustCommand{\P}{\ifmmode\mathparagraph\else\textparagraph\fi} \DeclareRobustCommand{\S}{\ifmmode\mathsection\else\textsection\fi} \DeclareRobustCommand{\dag}{\ifmmode{\dagger}\else\textdagger\fi} \DeclareRobustCommand{\ddag}{\ifmmode{\ddagger}\else\textdaggerdbl\fi} \DeclareRobustCommand{\_}{% \ifmmode\nfss@text{\textunderscore}\else\textunderscore\fi} \DeclareRobustCommand{\copyright}{% \ifmmode{\nfss@text{\textcopyright}}\else\textcopyright\fi} \DeclareRobustCommand{\pounds}{% \ifmmode\mathsterling\else\textsterling\fi} \DeclareRobustCommand{\dots}{% \ifmmode\mathellipsis\else\textellipsis\fi} \let\ldots\dots %%% From File: ltcounts.dtx \def\setcounter#1#2{% \@ifundefined{c@#1}% {\@nocounterr{#1}}% {\global\csname c@#1\endcsname#2\relax}} \def\addtocounter#1#2{% \@ifundefined{c@#1}% {\@nocounterr{#1}}% {\global\advance\csname c@#1\endcsname #2\relax}} \def\newcounter#1{% \expandafter\@ifdefinable \csname c@#1\endcsname {\@definecounter{#1}}% \@ifnextchar[{\@newctr{#1}}{}} \def\value#1{\csname c@#1\endcsname} \def\@newctr#1[#2]{% \@ifundefined{c@#2}{\@nocounterr{#2}}{\@addtoreset{#1}{#2}}} \def\stepcounter#1{% \addtocounter{#1}\@ne \begingroup \let\@elt\@stpelt \csname cl@#1\endcsname \endgroup} \def\@stpelt#1{\global\csname c@#1\endcsname \z@} \def\cl@@ckpt{\@elt{page}} \def\@definecounter#1{\expandafter\newcount\csname c@#1\endcsname \setcounter{#1}\z@ \global\expandafter\let\csname cl@#1\endcsname\@empty \@addtoreset{#1}{@ckpt}% \global\expandafter\let\csname p@#1\endcsname\@empty \expandafter \gdef\csname the#1\expandafter\endcsname\expandafter {\expandafter\@arabic\csname c@#1\endcsname}} \def\@addtoreset#1#2{\expandafter\@cons\csname cl@#2\endcsname {{#1}}} \def\arabic#1{\expandafter\@arabic\csname c@#1\endcsname} \def\roman#1{\expandafter\@roman\csname c@#1\endcsname} \def\Roman#1{\expandafter\@Roman\csname c@#1\endcsname} \def\alph#1{\expandafter\@alph\csname c@#1\endcsname} \def\Alph#1{\expandafter\@Alph\csname c@#1\endcsname} \def\fnsymbol#1{\expandafter\@fnsymbol\csname c@#1\endcsname} \def\@arabic#1{\number #1} %% changed 29 Apr 86 \def\@roman#1{\romannumeral #1} \def\@Roman#1{\expandafter\@slowromancap\romannumeral #1@} \def\@slowromancap#1{\ifx @#1% then terminate \else \if i#1I\else\if v#1V\else\if x#1X\else\if l#1L\else\if c#1C\else\if d#1D\else \if m#1M\else#1\fi\fi\fi\fi\fi\fi\fi \expandafter\@slowromancap \fi } \def\@alph#1{% \ifcase#1\or a\or b\or c\or d\or e\or f\or g\or h\or i\or j\or k\or l\or m\or n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or y\or z\else\@ctrerr\fi} \def\@Alph#1{% \ifcase#1\or A\or B\or C\or D\or E\or F\or G\or H\or I\or J\or K\or L\or M\or N\or O\or P\or Q\or R\or S\or T\or U\or V\or W\or X\or Y\or Z\else\@ctrerr\fi} \def\@fnsymbol#1{\ensuremath{\ifcase#1\or *\or \dagger\or \ddagger\or \mathsection\or \mathparagraph\or \|\or **\or \dagger\dagger \or \ddagger\ddagger \else\@ctrerr\fi}} %%% From File: ltlength.dtx \message{lengths,} \def\newlength#1{\@ifdefinable#1{\newskip#1}} \def\setlength#1#2{#1#2\relax} \def\addtolength#1#2{\advance#1 #2\relax} \def\@settodim#1#2#3{\setbox\@tempboxa\hbox{{#3}}#2#1\@tempboxa \setbox\@tempboxa\box\voidb@x} \def\settoheight{\@settodim\ht} \def\settodepth {\@settodim\dp} \def\settowidth {\@settodim\wd} \def\@settopoint#1{\divide#1\p@\multiply#1\p@} %%% From File: ltfssbas.dtx %% Copyright (C) 1989-2002 Frank Mittelbach and Rainer Sch\"opf \expandafter\let\csname ver@autofss1.sty\endcsname\fmtversion \def\@nomath#1{\relax\ifmmode \@font@warning{Command \noexpand#1invalid in math mode}\fi} \gdef\no@alphabet@error#1{\relax \ifmmode \@latex@error{Math\space alphabet\space identifier\space \noexpand#1is\space undefined\space in\space math\space version\space `\math@version'}% {Your\space requested\space math\space alphabet\space is\space undefined\space in\space the\space current\space math\space version.^^JCheck\space the\space spelling\space or\space use\space the\space \noexpand\SetMathAlphabet\space command.} \fi} \def\new@mathgroup{\alloc@8\mathgroup\chardef\sixt@@n} \let\mathgroup\fam \let\newfam\new@mathgroup \@onlypreamble\new@mathgroup \def\DeclareFontShape{\begingroup \nfss@catcodes \expandafter\endgroup \DeclareFontShape@} \def\DeclareFontShape@#1#2#3#4#5#6{% \expandafter\ifx\csname #1+#2\endcsname\relax \@latex@error{Font family `#1+#2' unknown}\@eha \else \expandafter \xdef\csname#1/#2/#3/#4\endcsname{\expandafter\noexpand \csname #5\endcsname}% \def\reserved@a{#6}% \global \expandafter\let\csname#5\expandafter\endcsname \ifx\reserved@a\@empty \@empty \else \reserved@a \fi \fi } \def\DeclareFixedFont#1#2#3#4#5#6{% \begingroup \math@fontsfalse \every@math@size{}% \fontsize{#6}\z@ \usefont{#2}{#3}{#4}{#5}% \global\expandafter\let\expandafter#1\the\font \endgroup } \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\DeclareFontFamily#1#2#3{% \@ifundefined{T@#1}% {% \@latex@error{Encoding scheme `#1' unknown}\@eha }% {% \def\reserved@a{#3}% \global \expandafter\let\csname #1+#2\expandafter\endcsname \ifx \reserved@a\@empty \@empty \else \reserved@a \fi }% } \let\cdp@list\@empty \@onlypreamble\cdp@list \let\cdp@elt\relax \@onlypreamble\cdp@elt \def\DeclareFontEncoding{% \begingroup \nfss@catcodes \expandafter\endgroup \DeclareFontEncoding@} \@onlypreamble\DeclareFontEncoding \def\DeclareFontEncoding@#1#2#3{% \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}}% \expandafter\let\csname#1-cmd\endcsname\@changed@cmd \else \@font@info{Redeclaring font encoding #1}% \fi \global\@namedef{T@#1}{#2}% \global\@namedef{M@#1}{\default@M#3}% \xdef\LastDeclaredEncoding{#1}% } \@onlypreamble\DeclareFontEncoding@ \def\LastDeclaredEncoding{} \def\DeclareFontSubstitution#1#2#3#4{% \expandafter \ifx\csname T@#1\endcsname\relax \@latex@error{Encoding scheme `#1' unknown}\@eha \else \begingroup \edef\reserved@a{#1}% \toks@{}% \def\cdp@elt##1##2##3##4{% \def\reserved@b{##1}% \ifx\reserved@a\reserved@b \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 } \@onlypreamble\DeclareFontSubstitution \def\DeclareFontEncodingDefaults#1#2{% \ifx\relax#1\else \ifx\default@T\@empty\else \@font@info{Overwriting encoding scheme text defaults}% \fi \gdef\default@T{#1}% \fi \ifx\relax#2\else \ifx\default@M\@empty\else \@font@info{Overwriting encoding scheme math defaults}% \fi \gdef\default@M{#2}% \fi } \@onlypreamble\DeclareFontEncodingDefaults \let\default@T\@empty \let\default@M\@empty \def\DeclarePreloadSizes#1#2#3#4#5{% \@ifundefined{T@#1}% {\@latex@error{Encoding scheme `#1' unknown}\@eha}% {% \begingroup \def\reserved@f##1,{% \if>##1>% \let\reserved@f\relax \else \xdef\font@name{\csname#1/#2/#3/#4/##1\endcsname}% \pickup@font \global\expandafter\let\font@name\relax \fi \reserved@f}% \reserved@f#5,,% \endgroup }% } \@onlypreamble\DeclarePreloadSizes \newif\ifmath@fonts \math@fontstrue \def\DeclareMathSizes{% \@ifstar{\@DeclareMathSizes\math@fontsfalse}% {\@DeclareMathSizes{}}} \@onlypreamble\DeclareMathSizes \def\@DeclareMathSizes#1#2#3#4#5{% \@defaultunits\dimen@#2pt\relax\@nnil \if$#3$% \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} \@onlypreamble\@DeclareMathSizes \DeclareRobustCommand\fontencoding[1]{% \expandafter\ifx\csname T@#1\endcsname\relax \@latex@error{Encoding scheme `#1' unknown}\@eha \else \edef\f@encoding{#1}% \ifx\cf@encoding\f@encoding \let\enc@update\relax \else \let\enc@update\@@enc@update \fi \fi } \def\@@enc@update{% \expandafter \let \csname\cf@encoding -cmd\endcsname \@changed@cmd \expandafter \let \csname\f@encoding-cmd\endcsname \@current@cmd \default@T \csname T@\f@encoding\endcsname \csname D@\f@encoding\endcsname \let\enc@update\relax \let\cf@encoding\f@encoding } \let\enc@update\relax \DeclareRobustCommand\fontfamily[1]{\edef\f@family{#1}} \DeclareRobustCommand\fontseries[1]{\edef\f@series{#1}} \DeclareRobustCommand\fontshape [1]{\edef\f@shape{#1}} \def\usefont#1#2#3#4{\fontencoding{#1}\fontfamily{#2}% \fontseries{#3}\fontshape{#4}\selectfont \ignorespaces} \DeclareRobustCommand\linespread[1] {\set@fontsize{#1}\f@size\f@baselineskip} \DeclareRobustCommand\fontsize[2] {\set@fontsize\baselinestretch{#1}{#2}} \let\f@family\@empty \let\f@series\@empty \let\f@shape\@empty \let\f@size\@empty \let\f@baselineskip\@empty \let\f@linespread\@empty \let\f@encoding\@empty \let\cf@encoding\@empty \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} \DeclareRobustCommand\mathversion[1] {\@nomath\mathversion \expandafter\ifx\csname mv@#1\endcsname\relax \@latex@error{Math version `#1' is not defined}\@eha\else \edef\math@version{#1}% \gdef\glb@currsize{}% \aftergroup\glb@settings \fi} \let\frozen@everymath\everymath \let\frozen@everydisplay\everydisplay \newtoks\everymath \newtoks\everydisplay \frozen@everymath = {\check@mathfonts \the\everymath} \frozen@everydisplay = {\check@mathfonts \the\everydisplay} \let\curr@math@size\@empty \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 \let\typeout\@font@info \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@info{Try loading font information for \f@encoding+\f@family}% \global\expandafter\let \csname\f@encoding+\f@family\endcsname\@empty \nfss@catcodes \let\nfss@catcodes\relax \edef\reserved@a{% \lowercase{% \noexpand\InputIfFileExists{\f@encoding\f@family.fd}}}% \reserved@a\relax {\@input@{\f@encoding\f@family.fd}}% \fi} \def\nfss@catcodes{% \makeatletter \catcode`\ 9% \catcode`\^^I9% \catcode`\^^M9% \catcode`\\\z@ \catcode`\{\@ne \catcode`\}\tw@ \catcode`\#6% \catcode`\^7% \catcode`\%14% \@makeother\<% \@makeother\>% \@makeother\*% \@makeother\.% \@makeother\-% \@makeother\/% \@makeother\[% \@makeother\]% \@makeother\`% \@makeother\'% \@makeother\"% } \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\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}% } \@onlypreamble\DeclareErrorFont \def\wrong@fontshape{% \csname D@\f@encoding\endcsname % install defaults if in math \edef\reserved@a{\csname\curr@fontshape\endcsname}% \ifx\last@fontshape\reserved@a \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 `\expandafter\string\reserved@a' \expandafter\@gobble\string\@undefined\MessageBreak using `\curr@fontshape' instead\@wrong@font@char}% \global\let\last@fontshape\reserved@a \gdef\@defaultsubs{% \@font@warning{Some font shapes were not available, defaults substituted.\@gobbletwo}}% \global\expandafter\expandafter\expandafter\let \expandafter\reserved@a \csname\curr@fontshape\endcsname \xdef\font@name{% \csname\curr@fontshape/\f@size\endcsname}% \pickup@font} \let\@wrong@font@char\@empty \let\@defaultsubs\relax \def\strip@prefix#1>{} \let\install@mathalphabet\gdef \let\math@fonts\@empty \def\extract@alph@from@version#1#2#3{% \def\reserved@a##1\install@mathalphabet#3##2##3\@nil{% \def\reserved@b{##2}% \def\reserved@c####1{\gdef#1{##1####1##3}}}% \expandafter\reserved@a#1\@nil \def\reserved@a\select@group#3##1##2\@nil{% \reserved@c{% \getanddefine@fonts{#2}##2% \install@mathalphabet#3{% \relax\ifmmode \else \non@alpherr#3\fi \use@mathgroup##1{#2}}}% \gdef#3{\relax\ifmmode \else \non@alpherr#3\fi \use@mathgroup##1{#2}}}% \expandafter\reserved@a\reserved@b\@nil } \let\math@bgroup\bgroup \def\math@egroup#1{#1\egroup} \gdef\calculate@math@sizes{% \@font@info{Calculating\space math\space sizes\space for\space size\space <\f@size>}% \dimen@\f@size \p@ \@tempdimb \defaultscriptratio \dimen@ \dimen@ \defaultscriptscriptratio \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}} \def\defaultscriptratio{.7} \def\defaultscriptscriptratio{.5} \ifx\noaccents@\@undefined \let\noaccents@\@empty \fi \gdef\showhyphens#1{% \setbox0\vbox{% \color@begingroup \everypar{}% \parfillskip\z@skip\hsize\maxdimen \normalfont \pretolerance\m@ne\tolerance\m@ne\hbadness\z@\showboxdepth\z@\ #1% \color@endgroup}} \long\def\addto@hook#1#2{#1\expandafter{\the#1#2}} \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} %%% From File: ltfsstrc.dtx %% Copyright (C) 1989-97 by Frank Mittelbach and Rainer Sch\"opf. %% Copyright (C) 1994-97 by LaTeX3 project. All rights reserved. \def\tracingfonts{% \@font@warning{Command \noexpand\tracingfonts not provided.\MessageBreak Use the `tracefnt' package.\MessageBreak Command found:}% \count@} \def\@font@info#1{% \GenericInfo{(Font)\@spaces\@spaces\@spaces\space\space}% {LaTeX Font Info: \space\space\space#1}}% \def\@font@warning#1{% \GenericWarning{(Font)\@spaces\@spaces\@spaces\space\space}% {LaTeX Font Warning: #1}}% \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 \@latex@error{Font \expandafter \string\font@name\space not found}\@eha \error@fontshape \get@external@font \fi\fi } \DeclareRobustCommand\selectfont {% \ifx\f@linespread\baselinestretch \else \set@fontsize\baselinestretch\f@size\f@baselineskip \fi \xdef\font@name{% \csname\curr@fontshape/\f@size\endcsname}% \pickup@font \font@name \size@update \enc@update } \def\set@fontsize#1#2#3{% \@defaultunits\@tempdimb#2pt\relax\@nnil \edef\f@size{\strip@pt\@tempdimb}% \@defaultunits\@tempskipa#3pt\relax\@nnil \edef\f@baselineskip{\the\@tempskipa}% \edef\f@linespread{#1}% \let\baselinestretch\f@linespread \def\size@update{% \baselineskip\f@baselineskip\relax \baselineskip\f@linespread\baselineskip \normalbaselineskip\baselineskip \setbox\strutbox\hbox{% \vrule\@height.7\baselineskip \@depth.3\baselineskip \@width\z@}% \let\size@update\relax}% } \let\size@update\relax \def\glb@settings{% \expandafter\ifx\csname S@\f@size\endcsname\relax \calculate@math@sizes \fi \csname S@\f@size\endcsname \ifmath@fonts \begingroup \escapechar\m@ne \csname mv@\math@version \endcsname \globaldefs\@ne \math@fonts \let \glb@currsize \f@size \endgroup \the\every@math@size \fi } \def\baselinestretch{1} \newtoks\every@math@size \every@math@size={} \def\check@mathfonts{% \ifx \glb@currsize \f@size \else \glb@settings \init@restore@glb@settings \fi \let\curr@math@size\f@size \def\init@restore@glb@settings{\aftergroup\restglb@settings}% } \let\init@restore@glb@settings\relax \def\restglb@settings{% \begingroup \let\f@size\curr@math@size \ifx\glb@currsize \f@size \else \glb@settings \fi \endgroup } \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\reserved@a{#1}% \ifx\reserved@a\@nnil \expandafter\@gobble \else \expandafter\@firstofone\fi} \def\remove@to@nnil#1\@nnil{} \def\remove@angles#1>{\set@simple@size@args} \def\remove@star#1*{#1} \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 } \def\try@simple@size{% \def\reserved@a{\def\extract@fontinfo####1}% \expandafter\reserved@a\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} \def\check@range#1-#2>#3<#4\@nnil{% \ifnot@nil{#3}{% \def\reserved@f{\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\reserved@f\@empty \fi \fi \fi \reserved@f}} \newdimen\lower@bound \newdimen\upper@bound \def\check@single#1>#2<#3\@nnil{% \def\reserved@f{\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\reserved@f\@empty \fi \fi \reserved@f} \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}} \@onlypreamble\DeclareSizeFunction \def\execute@size@function#1{% %%% could be added to autoload as well \csname s@fct@#1\endcsname } \def\try@size@range{% \expandafter\extract@rangefontinfo\font@info <-*>\@nil<\@nnil } \gdef\try@size@substitution{% \@tempdimb \maxdimen \let \best@size \@empty \expandafter \try@simples \font@info <\number\@M>\@nil<\@nnil } \def\font@submax{0pt} \def\fontsubfuzz{.4pt} \gdef\try@simples#1<#2>{% \tryif@simple#2->\tryif@simple} \gdef\tryif@simple#1-#2\tryif@simple{% \let \reserved@f \try@simples \if>#2% \dimen@ #1\p@ \ifdim \dimen@<\@M\p@ \ifdim \f@size\p@<\dimen@ \@tempdimc \dimen@ \advance\@tempdimc -\f@size\p@ \else \@tempdimc \f@size\p@ \advance\@tempdimc -\dimen@ \fi \ifdim \@tempdimc<\@tempdimb \@tempdimb \@tempdimc \def \best@size{#1}% \fi \else \ifx \external@font\@empty \ifx \best@size\@empty \else \ifdim \@tempdimb>\font@submax \relax \xdef \font@submax {\the\@tempdimb}% \fi \let \f@user@size \f@size \let \f@size \best@size \ifdim \@tempdimb>\fontsubfuzz\relax \@font@warning{Font\space shape\space `\curr@fontshape'\space in\space size\space <\f@user@size>\space not\space available\MessageBreak size\space <\f@size>\space substituted}% \fi \try@simple@size \do@subst@correction \fi \fi \let \reserved@f \remove@to@nnil \fi \fi \reserved@f} \DeclareSizeFunction{}{\empty@sfcnt\@font@warning} \DeclareSizeFunction{s}{\empty@sfcnt\@font@info} \def\empty@sfcnt#1{% \@tempdimb \f@size\p@ \ifx\optional@arg\@empty \else \@tempdimb \optional@arg\@tempdimb #1{Font\space shape\space `\curr@fontshape'\space will\space be\MessageBreak scaled\space to\space size\space \the\@tempdimb}% \fi \edef\external@font{\mandatory@arg\space at\the\@tempdimb}} \DeclareSizeFunction{gen}{\gen@sfcnt\@font@warning} \DeclareSizeFunction{sgen}{\gen@sfcnt\@font@info} \def\gen@sfcnt{% \edef\mandatory@arg{\mandatory@arg\f@size}% \empty@sfcnt} \DeclareSizeFunction{genb}{\genb@sfcnt\@font@warning} \DeclareSizeFunction{sgenb}{\genb@sfcnt\@font@info} \def\genb@sfcnt{% \edef\mandatory@arg{\mandatory@arg\expandafter\genb@x\f@size..\@@}% \empty@sfcnt} \def\genb@x#1.#2.#3\@@{\two@digits{#1}\genb@y#200\@@} \def\genb@y#1#2#3\@@{#1#2} \DeclareSizeFunction{sub}{\sub@sfcnt\@font@warning} \DeclareSizeFunction{ssub}{\sub@sfcnt\@font@info} \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\space declaration\space for\space shape\space \mandatory@arg}% \error@fontshape \else #1{Font\space shape\space `\curr@fontshape'\space in\space size\space <\f@size>\space not\space available\MessageBreak Font\space shape\space `\mandatory@arg'\space tried\space 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@info} \def\subf@sfcnt#1{% #1{Font\space shape\space `\curr@fontshape'\space in\space size\space \f@size\space not\space available\MessageBreak external\space font\space `\mandatory@arg'\space used}% \empty@sfcnt#1% } \DeclareSizeFunction{fixed}{\fixed@sfcnt\@font@warning} \DeclareSizeFunction{sfixed}{\fixed@sfcnt\@font@info} \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\space font\space `\external@font'\space loaded\space for\space size\MessageBreak <\f@size>}% } %%% From File: ltfsscmp.dtx %% Copyright (C) 1989-1995 Frank Mittelbach and Rainer Sch\"opf, %% all rights reserved. \gdef\new@fontshape#1#2#3#4{% \warn@rel@i\new@fontshape\DeclareFontShape \expandafter\scan@fontshape\@gobble#4<\@nil><<% \DeclareFontShape U{#1}{#2}{#3}\reserved@f} \@onlypreamble\new@fontshape \gdef\warn@rel@i#1#2{% \@font@warning{*** NFSS release 1 command \noexpand#1found\MessageBreak *** Update by using release 2 command \string#2.\MessageBreak *** Recovery is probably possible}% } \@onlypreamble\warn@rel@i \gdef\scan@fontshape{% \let\reserved@f\@empty \let\reserved@e\@empty % holds last info \scan@@fontshape } \@onlypreamble\scan@fontshape \gdef\scan@@fontshape#1>#2#3<{% \ifx\@nil#1% \edef\reserved@f{\reserved@f\reserved@e}% \else \def\reserved@b{#1}% nick names \def\reserved@c{#3}% \in@{ at}{#3}% \ifin@ \in@{pt}{#3}% not a proof but a good chance \ifin@ \def\reserved@a##1 at##2pt##3\@nil{% \def\reserved@b{##2}% \def\reserved@c{##1}% }% \reserved@a#3\@nil \fi \fi \ifnum 0<0#2 \edef\reserved@d{subf*\reserved@c}% \ifcase #2\or \or \else \errmessage{*** What's this? NFSS release 0? ***}% \fi \else \edef\reserved@d{#2\reserved@c}% \fi \ifx\reserved@d\reserved@e \edef\reserved@f{\reserved@f<\reserved@b>}% \else \edef\reserved@f{\reserved@f\reserved@e<\reserved@b>}%add old info \let\reserved@e\reserved@d \fi \expandafter\scan@@fontshape \fi } \@onlypreamble\scan@@fontshape \gdef\subst@fontshape#1#2#3#4#5#6{% \warn@rel@i\subst@fontshape\DeclareFontShape \DeclareFontShape{U}{#1}{#2}{#3}{<->sub*#4/#5/#6}{}} \@onlypreamble\subst@fontshape \gdef\extra@def#1#2#3{% \warn@rel@i\extra@def\DeclareFontFamily \DeclareFontFamily{U}{#1}{}% } \@onlypreamble\extra@def \gdef\default@mextra{% \warn@rel@i\default@mextra\DeclareFontEncodingDefaults \DeclareFontEncodingDefaults\relax } \@onlypreamble\default@mextra \gdef\preload@sizes{% \warn@rel@i\preload@sizes\DeclarePreloadSizes \DeclarePreloadSizes U% } \@onlypreamble\preload@sizes \gdef\err@rel@i#1#2{% \@latex@error{*** NFSS release 1 command \noexpand#1found% ^^J*** Recovery not possible. Use \string#2}% {The new release of NFSS doesn't support the \noexpand#1command^^Jany longer. Please upgrade your file to the syntax of NFSS release 2^^Jusing the \noexpand#2command.}% \batchmode\input.\relax } \@onlypreamble\err@rel@i \gdef\newmathalphabet{% \if@no@font@opt \@latex@error{*** NFSS release 1 command \noexpand\newmathalphabet found% ^^J \space*** Automatic recovery not possible.% ^^J \space*** TYPE H for Help% }% {Please look at the file usrguide.tex for hints on how to resolve this problem.}% \else \warn@rel@i\newmathalphabet\DeclareMathAlphabet \fi \@ifstar\newmathalphabet@@@ \newmathalphabet@@} \gdef\newmathalphabet@@#1{\DeclareMathAlphabet#1{U}{}{}{}} \gdef\newmathalphabet@@@#1#2#3#4{% \DeclareMathAlphabet{#1}{U}{#2}{#3}{#4}} \@onlypreamble\newmathalphabet \@onlypreamble\newmathalphabet@@ \@onlypreamble\newmathalphabet@@@ \global\let\if@no@font@opt\iftrue \gdef\@no@font@optfalse{\let\if@no@font@opt\iffalse} \gdef\define@mathalphabet{% \err@rel@i\define@mathalphabet\DeclareMathAlphabet } \@onlypreamble\define@mathalphabet \gdef\define@mathgroup{% \err@rel@i\define@mathgroup\DeclareSymbolFont } \@onlypreamble\define@mathgroup \def\addtoversion#1#2{% \warn@rel@i\addtoversion\SetMathAlphabet \SetMathAlphabet#2{#1}{U}} \@onlypreamble\addtoversion %%% From File: ltfssdcl.dtx %% Copyright (C) 1989-1998 Frank Mittelbach and Rainer Sch\"opf, %% all rights reserved. \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 \@onlypreamble\version@list \let\version@elt\relax \@onlypreamble\version@elt \let\alpha@list\@empty \@onlypreamble\alpha@list \let\alpha@elt\relax \@onlypreamble\alpha@elt \count18=-1 \def\select@group#1#2#3#4{% \ifx\math@bgroup\bgroup\else\relax\expandafter\@firstofone\fi {% \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 \init@restore@version \xdef#1{\noexpand\use@mathgroup\noexpand#2% {\number\csname c@mv@\math@version\endcsname}}% \global\advance\csname c@mv@\math@version\endcsname\@ne \else \let#1\relax \@latex@error{Too many math alphabets used in version \math@version}% \@eha \fi \else \expandafter\non@alpherr\fi #1{#4}% }% } \@onlypreamble\restore@mathversion \def\init@restore@version{% \global\let\init@restore@version\relax \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 } \@onlypreamble\init@restore@version \gdef\non@alpherr#1{\@latex@error{% \string#1allowed only in math mode}\@ehd} \def\dorestore@version {\ifmmode \aftergroup\dorestore@version \else \gdef\init@restore@version{% \global\let\init@restore@version\relax \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 }% \begingroup \let\getanddefine@fonts\@gobbletwo \restore@mathversion \endgroup \fi}% \@onlypreamble\dorestore@version \def\document@select@group#1#2#3#4{% \ifx\math@bgroup\bgroup\else\relax\expandafter\@firstofone\fi {% \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% \global\advance\csname c@mv@\math@version\endcsname\@ne \else \let#1\relax \@latex@error{Too many math alphabets used in version \math@version}% \@eha \fi \else \expandafter\non@alpherr\fi #1{#4}% }% } \def\process@table{% \def\cdp@elt##1##2##3##4{% \@font@info{Checking 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 \@latex@error{This NFSS system isn't set up properly}% {For encoding scheme ##1 the defaults ##2/##3/##4 do not form a valid font shape}% \else \@font@info{... 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 \@latex@error{This NFSS system isn't set up properly}% {The system maintainer forgot to specify a suitable substitution font shape using the \noexpand\DeclareErrorFont command}% \fi \endgroup \let\select@group\document@select@group \fontencoding{\encodingdefault}% \fontfamily{\familydefault}% \fontseries{\seriesdefault}% \fontshape{\shapedefault}% \everyjob{}% } \@onlypreamble\process@table \def\DeclareMathVersion#1{% \expandafter\new@mathversion\csname mv@#1\endcsname} \@onlypreamble\DeclareMathVersion \def\new@mathversion#1{% \expandafter\in@\expandafter#1\expandafter{\version@list}% \ifin@ \@font@info{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@}% } \@onlypreamble\new@mathversion \def\DeclareSymbolFont#1#2#3#4#5{% \@tempswafalse \edef\reserved@b{#2}% \def\cdp@elt##1##2##3##4{\def\reserved@c{##1}% \ifx\reserved@b\reserved@c \@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@info{Redeclaring symbol font `#1'}% \def\group@elt##1##2{% \noexpand\group@elt\noexpand##1% \expandafter\ifx\csname sym#1\endcsname##1% \expandafter\noexpand\csname#2/#3/#4/#5\endcsname \else \noexpand##2% \fi}% \xdef\group@list{\group@list}% \def\version@elt##1{% \expandafter \SetSymbolFont@\expandafter##1\csname#2/#3/#4/#5\expandafter \endcsname \csname sym#1\endcsname }% \version@list }% \else \@latex@error{Encoding scheme `#2' unknown}\@eha \fi } \@onlypreamble\DeclareSymbolFont \let\group@list\@empty \@onlypreamble\group@list \let\group@elt\relax \@onlypreamble\group@elt \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 } \@onlypreamble\new@symbolfont \def\SetSymbolFont#1#2#3#4#5#6{% \@tempswafalse \edef\reserved@b{#3}% \def\cdp@elt##1##2##3##4{\def\reserved@c{##1}% \ifx\reserved@b\reserved@c \@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 \@latex@error{Encoding scheme `#3' unknown}\@eha \fi } \@onlypreamble\SetSymbolFont \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\reserved@a \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\reserved@b \ifx\reserved@a\reserved@b\else \@font@info{Encoding `\reserved@b' has changed to `\reserved@a' for symbol font\MessageBreak `\expandafter\@gobblefour\string#3' in the math version `\expandafter \@gobblefour\string#1'}% \fi \@font@info{% Overwriting symbol font `\expandafter\@gobblefour\string#3' in version `\expandafter \@gobblefour\string#1'\MessageBreak \@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 \@latex@error{Symbol font `\expandafter\@gobblefour\string#3' not defined}\@eha \fi \else \@latex@error{Math version `\expandafter\@gobblefour\string#1' is not defined}{You probably mispelled the name of the math version.^^JOr you have to specify an additional package.}% \fi } \@onlypreamble\SetSymbolFont@ \def\get@cdp#1#2/#3\@nil#4{\def#4{#2}} \@onlypreamble\get@cdp \def\DeclareMathAlphabet#1#2#3#4#5{% \@tempswafalse \edef\reserved@b{#2}% \def\cdp@elt##1##2##3##4{\def\reserved@c{##1}% \ifx\reserved@b\reserved@c \@tempswatrue\fi}% \cdp@list \if@tempswa \expandafter\ifx \csname\expandafter\@gobble\string#1\endcsname \relax \new@mathalphabet#1{#2}{#3}{#4}{#5}% \else \edef\reserved@a{\noexpand\in@{\string\select@group}% {\expandafter\meaning\csname \expandafter \@gobble\string#1\space\endcsname}}% \reserved@a \ifin@ \@font@info{Redeclaring math alphabet \string#1}% \def\version@elt##1{% \expandafter\SetMathAlphabet@\expandafter ##1\csname#2/#3/#4/#5\expandafter\endcsname \csname M@#2\expandafter\endcsname \csname \expandafter\@gobble\string#1\space\endcsname#1}% \version@list \else \edef\reserved@a{\noexpand\in@{\string\use@mathgroup}% {\expandafter\meaning\csname \expandafter \@gobble\string#1\space\endcsname}}% \reserved@a \ifin@ \@font@info{Redeclaring math alphabet \string#1}% \new@mathalphabet#1{#2}{#3}{#4}{#5}% \else \@latex@error{Command `\string#1' already defined}\@eha \fi \fi \fi \else \@latex@error{Encoding scheme `#2' unknown}\@eha \fi } \@onlypreamble\DeclareMathAlphabet \def\new@mathalphabet#1#2#3#4#5{% \toks@\expandafter{\alpha@list}% \edef#1{\expandafter\noexpand\csname \expandafter \@gobble\string#1\space\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\space\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\space\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\space\endcsname}% } \@onlypreamble\new@mathalphabet \def\SetMathAlphabet#1#2#3#4#5#6{% \@tempswafalse \edef\reserved@b{#3}% \def\cdp@elt##1##2##3##4{\def\reserved@c{##1}% \ifx\reserved@b\reserved@c \@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\space\endcsname#1% \else \@latex@error{Encoding scheme `#3' unknown}\@eha \fi } \@onlypreamble\SetMathAlphabet \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\reserved@c##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@info{Overwriting math alphabet `\string#5' in version `\expandafter \@gobblefour\string#1'\MessageBreak \@spaces \reserved@c##2 --> \expandafter\@gobble\string#2}% \else \addto@hook\toks@{\install@mathalphabet##1{##2}}% \fi }% #1% \xdef#1{\the\toks@}% \endgroup \else \edef\reserved@a{% \noexpand\in@{\string\use@mathgroup}{\meaning#4}}% \reserved@a \ifin@ \def\reserved@b##1\use@mathgroup##2##3{% \def\reserved@b{##3}\def\reserved@c{##2}}% \expandafter\reserved@b#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=\reserved@b \expandafter \addto@hook\expandafter\toks@ \expandafter{\expandafter\install@mathalphabet \expandafter#4\expandafter {\expandafter\select@group\expandafter #4\reserved@c##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 \@latex@error{Command `\string#5' not defined as a math alphabet}% {Use \noexpand\DeclareMathAlphabet to define it.}% \fi \fi \else \@latex@error{Math version `\expandafter\@gobblefour\string#1' is not defined}{You probably mispelled the name of the math version.^^JOr you have to specify an additional package.}% \fi } \@onlypreamble\SetMathAlphabet@ \def\DeclareMathAccent#1#2#3#4{% \expandafter\in@\csname sym#3\expandafter\endcsname \expandafter{\group@list}% \ifin@ \begingroup \count\z@=#4\relax \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\reserved@a{\noexpand\in@{\string\mathaccent}{\meaning#1}}% \reserved@a \ifin@ \expandafter\set@mathaccent \csname sym#3\endcsname#1#2% {\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}% \@font@info{Redeclaring math accent \string#1}% \else \expandafter\ifx \csname\expandafter\@gobble\string#1\endcsname \relax \expandafter\set@mathaccent \csname sym#3\endcsname#1#2% {\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}% \else \@latex@error{Command `\string#1' already defined}\@eha \fi \fi \else \@latex@error{Not a command name: `\noexpand#1'}\@eha \fi \endgroup \else \@latex@error{Symbol font `#3' is not defined}\@eha \fi } \@onlypreamble\DeclareMathAccent \def\set@mathaccent#1#2#3#4{% \xdef#2{\mathaccent"\mathchar@type#3\hexnumber@#1#4\relax}} \@onlypreamble\set@mathaccent \def\DeclareMathSymbol#1#2#3#4{% \expandafter\in@\csname sym#3\expandafter\endcsname \expandafter{\group@list}% \ifin@ \begingroup \count\z@=#4\relax \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\reserved@a{\noexpand\in@{\string\mathchar}{\meaning#1}}% \reserved@a \ifin@ \expandafter\set@mathsymbol \csname sym#3\endcsname#1#2% {\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}% \@font@info{Redeclaring math symbol \string#1}% \else \expandafter\ifx \csname\expandafter\@gobble\string#1\endcsname \relax \expandafter\set@mathsymbol \csname sym#3\endcsname#1#2% {\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}% \else \@latex@error{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 \@latex@error{Symbol font `#3' is not defined}\@eha \fi } \@onlypreamble\DeclareMathSymbol \def\set@mathchar#1#2#3#4{% \global\mathcode`#2="\mathchar@type#3\hexnumber@#1#4\relax} \@onlypreamble\set@mathchar \def\set@mathsymbol#1#2#3#4{% \global\mathchardef#2"\mathchar@type#3\hexnumber@#1#4\relax} \@onlypreamble\set@mathsymbol \def\DeclareMathDelimiter#1{% \if\relax\noexpand#1% \expandafter\@DeclareMathDelimiter \else \expandafter\@xxDeclareMathDelimiter \fi #1} \@onlypreamble\DeclareMathDelimiter \def\@xxDeclareMathDelimiter#1#2#3#4{% \begingroup \let\mathalpha\mathord \ifnum7=\mathchar@type{#2}% \endgroup \expandafter\@firstofone \else \endgroup \DeclareMathSymbol#1{#2}{#3}{#4}% \expandafter\@firstoftwo \fi {\@xDeclareMathDelimiter#1}{#2}{#3}{#4}} \@onlypreamble\@xxDeclareMathDelimiter \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 \count\z@=#4\relax \count\tw@\count\z@ \divide\count\z@\sixt@@n \count@\count\z@ \multiply\count@\sixt@@n \advance\count\tw@-\count@ \edef\reserved@c{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}% % \count\z@=#6\relax \count\tw@\count\z@ \divide\count\z@\sixt@@n \count@\count\z@ \multiply\count@\sixt@@n \advance\count\tw@-\count@ \edef\reserved@d{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}% % \edef\reserved@a{\noexpand\in@{\string\delimiter}{\meaning#1}}% \reserved@a \ifin@ \expandafter\set@mathdelimiter \csname sym#3\expandafter\endcsname \csname sym#5\endcsname#1#2% \reserved@c\reserved@d \@font@info{Redeclaring math delimiter \string#1}% \else \expandafter\ifx \csname\expandafter\@gobble\string#1\endcsname \relax \expandafter\set@mathdelimiter \csname sym#3\expandafter\endcsname \csname sym#5\endcsname#1#2% \reserved@c\reserved@d \else \@latex@error{Command `\string#1' already defined}\@eha \fi \fi \endgroup \else \@latex@error{Symbol font `#5' is not defined}\@eha \fi \else \@latex@error{Symbol font `#3' is not defined}\@eha \fi } \@onlypreamble\@DeclareMathDelimiter \def\@xDeclareMathDelimiter#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 \count\z@=#3\relax \count\tw@\count\z@ \divide\count\z@\sixt@@n \count@\count\z@ \multiply\count@\sixt@@n \advance\count\tw@-\count@ \edef\reserved@c{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}% % \count\z@=#5\relax \count\tw@\count\z@ \divide\count\z@\sixt@@n \count@\count\z@ \multiply\count@\sixt@@n \advance\count\tw@-\count@ \edef\reserved@d{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}% \expandafter\set@@mathdelimiter \csname sym#2\expandafter\endcsname\csname sym#4\endcsname#1% \reserved@c\reserved@d \endgroup \else \@latex@error{Symbol font `#4' is not defined}\@eha \fi \else \@latex@error{Symbol font `#2' is not defined}\@eha \fi } \@onlypreamble\@xDeclareMathDelimiter \def\set@mathdelimiter#1#2#3#4#5#6{% \xdef#3{\delimiter"\mathchar@type#4\hexnumber@#1#5% \hexnumber@#2#6 }} \@onlypreamble\set@mathdelimiter \def\set@@mathdelimiter#1#2#3#4#5{% \global\delcode`#3="\hexnumber@#1#4\hexnumber@#2#5\relax} \@onlypreamble\set@@mathdelimiter \def\DeclareMathRadical#1#2#3#4#5{% \expandafter\ifx \csname\expandafter\@gobble\string#1\endcsname \relax \let#1\radical \fi \edef\reserved@a{\noexpand\in@{\string\radical}{\meaning#1}}% \reserved@a \ifin@ \expandafter\in@\csname sym#2\expandafter\endcsname \expandafter{\group@list}% \ifin@ \expandafter\in@\csname sym#4\expandafter\endcsname \expandafter{\group@list}% \ifin@ \begingroup \count\z@=#3\relax \count\tw@\count\z@ \divide\count\z@\sixt@@n \count@\count\z@ \multiply\count@\sixt@@n \advance\count\tw@-\count@ \edef\reserved@c{% \hexnumber@{\count\z@}\hexnumber@{\count\tw@}}% \count\z@=#5\relax \count\tw@\count\z@ \divide\count\z@\sixt@@n \count@\count\z@ \multiply\count@\sixt@@n \advance\count\tw@-\count@ \edef\reserved@d{% \hexnumber@{\count\z@}\hexnumber@{\count\tw@}}% \xdef#1{\radical"\expandafter\hexnumber@ \csname sym#2\endcsname\reserved@c \expandafter\hexnumber@ \csname sym#4\endcsname\reserved@d \relax}% \endgroup \else \@latex@error{Symbol font `#4' is not defined}\@eha \fi \else \@latex@error{Symbol font `#2' is not defined}\@eha \fi \else \@latex@error{Command `\string#1' already defined}\@eha \fi } \@onlypreamble\DeclareMathRadical \let\mathalpha\relax \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} \@onlypreamble\mathchar@type \def\DeclareSymbolFontAlphabet#1#2{% \expandafter\DeclareSymbolFontAlphabet@ \csname \expandafter\@gobble\string#1\space\endcsname{#2}#1} \@onlypreamble\DeclareSymbolFontAlphabet \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@info{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 \expandafter\ifx \csname\expandafter\@gobble\string#1\space\endcsname \relax \else \edef\reserved@a{% \noexpand\in@{\string\use@mathgroup}{\meaning#1}}% \reserved@a \ifin@ \@font@info{Redeclaring math alphabet \string#3}% \else \@tempswafalse \@latex@error{Command `\string#3' already defined}\@eha \fi \fi \fi \else \@tempswafalse \@latex@error{Unknown symbol font `#2'}\@eha \fi \if@tempswa \def\group@elt##1##2{% \expandafter\ifx\csname sym#2\endcsname##1% \expandafter\reserved@a\string##2\@nil \fi}% \def\reserved@a##1##2/##3\@nil{% \def\reserved@a{##2}}% \group@list \toks@{\relax\ifmmode \else \non@alpherr#1\fi}% \edef#1{\the\toks@ \noexpand\use@mathgroup \expandafter\noexpand\csname M@\reserved@a\endcsname \csname sym#2\endcsname}% \def#3{\protect#1}% \fi } \@onlypreamble\DeclareSymbolFontAlphabet@ %%% From File: ltfssini.dtx %% Copyright (C) 1989-2001 Frank Mittelbach and Rainer Sch\"opf, %% all rights reserved. \DeclareMathVersion{normal} \DeclareMathVersion{bold} \DeclareRobustCommand\rmfamily {\not@math@alphabet\rmfamily\mathrm \fontfamily\rmdefault\selectfont} \DeclareRobustCommand\sffamily {\not@math@alphabet\sffamily\mathsf \fontfamily\sfdefault\selectfont} \DeclareRobustCommand\ttfamily {\not@math@alphabet\ttfamily\mathtt \fontfamily\ttdefault\selectfont} \DeclareRobustCommand\bfseries {\not@math@alphabet\bfseries\mathbf \fontseries\bfdefault\selectfont} \DeclareRobustCommand\mdseries {\not@math@alphabet\mdseries\relax \fontseries\mddefault\selectfont} \DeclareRobustCommand\upshape {\not@math@alphabet\upshape\relax \fontshape\updefault\selectfont} \DeclareRobustCommand\slshape {\not@math@alphabet\slshape\relax \fontshape\sldefault\selectfont} \DeclareRobustCommand\scshape {\not@math@alphabet\scshape\relax \fontshape\scdefault\selectfont} \DeclareRobustCommand\itshape {\not@math@alphabet\itshape\mathit \fontshape\itdefault\selectfont} \DeclareRobustCommand\em {\@nomath\em \ifdim \fontdimen\@ne\font >\z@ \upshape \else \itshape \fi} \def\not@math@alphabet#1#2{% \relax \ifmmode \@latex@error{Command \noexpand#1invalid in math mode}% {% Please \ifx#2\relax define a new math alphabet^^J% if you want to use a special font in math mode% \else use the math alphabet \noexpand#2instead of the #1command% \fi . }% \fi} \def\boldmath{\@nomath\boldmath \mathversion{bold}} \def\unboldmath{\@nomath\unboldmath \mathversion{normal}} \def\math@version{normal} \def\newfont#1#2{\@ifdefinable#1{\font#1=#2\relax}} \def\symbol#1{\char #1\relax} \def\@setfontsize#1#2#3{\@nomath#1% \ifx\protect\@typeset@protect \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}{\rmdefault}{\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\nfss@text#1{{\mbox{#1}}} \DeclareRobustCommand\normalfont {\usefont\encodingdefault \familydefault \seriesdefault \shapedefault \relax} \let\reset@font\normalfont \def\not@base#1{\@latex@error {Command \noexpand#1not provided in base LaTeX2e}% {Load the latexsym or the amsfonts package to define this symbol}} \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} \DeclareErrorFont{OT1}{cmr}{m}{n}{10} %% don't modify this setting %% overwrite it in fontdef.cfg %% if necessary \ifnum\inputlineno=\m@ne \InputIfFileExists{fonttext.cfg} {\typeout{====================================^^J% ^^J% Local config file fonttext.cfg used^^J% ^^J% ====================================}% \def\@addtofilelist##1{\xdef\@filelist{\@filelist,##1}}% } {\typeout{!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^^J% !^^J% ! You MUST use a fonttext.cfg file!^^J% ! As you are still using TeX2!!!!!^^J% !^^J% ! See the documentation file tex2.txt^^J% !^^J% !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}% \batchmode \@@end} \else \InputIfFileExists{fonttext.cfg} {\typeout{====================================^^J% ^^J% Local config file fonttext.cfg used^^J% ^^J% ====================================}% \def\@addtofilelist##1{\xdef\@filelist{\@filelist,##1}}% } {\input{fonttext.ltx}} \fi \let\@addtofilelist\@gobble \InputIfFileExists{fontmath.cfg} {\typeout{====================================^^J% ^^J% Local config file fontmath.cfg used^^J% ^^J% ====================================}% \def\@addtofilelist##1{\xdef\@filelist{\@filelist,##1}}% } {\input{fontmath.ltx}} \let\@addtofilelist\@gobble \InputIfFileExists{preload.cfg} {\typeout{====================================^^J% ^^J% Local config file preload.cfg used^^J% ^^J% =====================================}% \def\@addtofilelist##1{\xdef\@filelist{\@filelist,##1}}% } {\input{preload.ltx}} \let\@addtofilelist\@gobble \let\@acci\' \let\@accii\` \let\@acciii\= %%% From File: ltfntcmd.dtx %% %% \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 \~} \def \DeclareTextFontCommand #1#2{% \DeclareRobustCommand#1[1]{% \ifmmode \nfss@text{#2##1}% \else \hmode@bgroup \text@command{##1}% #2\check@icl ##1\check@icr \expandafter \egroup \fi }% } \DeclareTextFontCommand{\textrm}{\rmfamily} \DeclareTextFontCommand{\textsf}{\sffamily} \DeclareTextFontCommand{\texttt}{\ttfamily} \DeclareTextFontCommand{\textnormal}{\normalfont} \DeclareTextFontCommand{\textbf}{\bfseries} \DeclareTextFontCommand{\textmd}{\mdseries} \DeclareTextFontCommand{\textit}{\itshape} \DeclareTextFontCommand{\textsl}{\slshape} \DeclareTextFontCommand{\textsc}{\scshape} \DeclareTextFontCommand{\textup}{\upshape} \DeclareTextFontCommand{\emph}{\em} \let \nocorr \relax \let \check@icl \@empty \let \check@icr \@empty \def \text@command #1{% \def \reserved@a {#1}% \ifx \reserved@a \@empty \let \check@icl \@empty \let \check@icr \@empty \else \ifx \reserved@a \space \let \check@icl \@empty \let \check@icr \@empty \else \check@nocorr@ #1\nocorr\@nil \fi \fi } \def \check@nocorr@ #1#2\nocorr#3\@nil {% \let \check@icl \maybe@ic \def \check@icr {\ifvmode \else \aftergroup \maybe@ic \fi}% \def \reserved@a {\nocorr}% \def \reserved@b {#1}% \def \reserved@c {#3}% \ifx \reserved@a \reserved@b \ifx \reserved@c \@empty \let \check@icl \@empty \else \let \check@icl \@empty \let \check@icr \@empty \fi \else \ifx \reserved@c \@empty \else \let \check@icr \@empty \fi \fi } \def \maybe@ic {\futurelet\@let@token\maybe@ic@} \def \maybe@ic@ {% \ifdim \fontdimen\@ne\font>\z@ \else \@tempswatrue \expandafter\@tfor\expandafter\reserved@a\expandafter:\expandafter=% \nocorrlist \do \t@st@ic \if@tempswa \sw@slant \fi \fi } \def \t@st@ic {% \expandafter\let\expandafter\reserved@b\expandafter=\reserved@a\relax \ifx\reserved@b\@let@token \@tempswafalse \@break@tfor \fi } \def \sw@slant {% \ifdim \lastskip=\z@ \fix@penalty \else \skip@ \lastskip \unskip \fix@penalty \hskip \skip@ \fi } \def \fix@penalty {% \ifnum \lastpenalty=\z@ \@@italiccorr \else \count@ \lastpenalty \unpenalty \@@italiccorr \penalty \count@ \fi } \def \nocorrlist {,.} \ifx \nfss@text\@undefined \def \nfss@text {\leavevmode\hbox} \fi \def \DeclareOldFontCommand #1#2#3{% \DeclareRobustCommand #1{\@fontswitch {#2}{#3}}% } \def \@fontswitch #1#2{% \ifmmode \let \math@bgroup \relax \def \math@egroup {\let \math@bgroup \@@math@bgroup \let \math@egroup \@@math@egroup}% #2\relax \else #1% \fi } \let \@@math@bgroup \math@bgroup \let \@@math@egroup \math@egroup \@onlypreamble \DeclareTextFontCommand \@onlypreamble \DeclareOldFontCommand \def\normalsize{% \@latex@error {The font size command \protect\normalsize\space is not defined:\MessageBreak there is probably something wrong with the class file}\@eha } %%% From File: ltpageno.dtx \message{page nos.,} \countdef\c@page=0 \c@page=1 \def\cl@page{} \def\pagenumbering#1{% \global\c@page \@ne \gdef\thepage{\csname @#1\endcsname \c@page}} %%% From File: ltxref.dtx \message{x-ref,} \def\G@refundefinedtrue{% \gdef\@refundefined{% \@latex@warning@no@line{There were undefined references}}} \let\@refundefined\relax \def\@setref#1#2#3{% \ifx#1\relax \protect\G@refundefinedtrue \nfss@text{\reset@font\bfseries ??}% \@latex@warning{Reference `#3' on page \thepage \space undefined}% \else \expandafter#2#1\null \fi} \def\ref#1{\expandafter\@setref\csname r@#1\endcsname\@firstoftwo{#1}} \def\pageref#1{\expandafter\@setref\csname r@#1\endcsname \@secondoftwo{#1}} \def\@newl@bel#1#2#3{{% \@ifundefined{#1@#2}% \relax {\gdef \@multiplelabels {% \@latex@warning@no@line{There were multiply-defined labels}}% \@latex@warning@no@line{Label `#2' multiply defined}}% \global\@namedef{#1@#2}{#3}}} \def\newlabel{\@newl@bel r} \@onlypreamble\@newl@bel \let \@multiplelabels \relax \def\label#1{\@bsphack \protected@write\@auxout{}% {\string\newlabel{#1}{{\@currentlabel}{\thepage}}}% \@esphack} \def\refstepcounter#1{\stepcounter{#1}% \protected@edef\@currentlabel {\csname p@#1\endcsname\csname the#1\endcsname}% } \def\@currentlabel{} %%% From File: ltmiscen.dtx \message{environments,} \def\@currenvir{document} \def\@ignorefalse{\global\let\if@ignore\iffalse} \def\@ignoretrue {\global\let\if@ignore\iftrue} \@ignorefalse \let\ignorespacesafterend\@ignoretrue \def\enddocument{% \let\AtEndDocument\@firstofone \@enddocumenthook \@checkend{document}% \clearpage \begingroup \if@filesw \immediate\closeout\@mainaux \let\@setckpt\@gobbletwo \let\@newl@bel\@testdef \@tempswafalse \makeatletter \input\jobname.aux \fi \@dofilelist \ifdim \font@submax >\fontsubfuzz\relax \@font@warning{Size substitutions with differences\MessageBreak up to \font@submax\space have occurred.\@gobbletwo}% \fi \@defaultsubs \@refundefined \if@filesw \ifx \@multiplelabels \relax \if@tempswa \@latex@warning@no@line{Label(s) may have changed. Rerun to get cross-references right}% \fi \else \@multiplelabels \fi \fi \endgroup \deadcycles\z@\@@end} \def\@testdef #1#2#3{% \def\reserved@a{#3}\expandafter \ifx \csname #1@#2\endcsname \reserved@a \else \@tempswatrue \fi} \long\def\@writefile#1#2{% \@ifundefined{tf@#1}\relax {\@temptokena{#2}% \immediate\write\csname tf@#1\endcsname{\the\@temptokena}% }% } \def\stop{\clearpage\deadcycles\z@\let\par\@@par\@@end} \everypar{\@nodocument} %% To get an error if text appears before the \nullfont %% \begin{document} \def\begin#1{% \@ifundefined{#1}% {\def\reserved@a{\@latex@error{Environment #1 undefined}\@eha}}% {\def\reserved@a{\def\@currenvir{#1}% \edef\@currenvline{\on@line}% \csname #1\endcsname}}% \@ignorefalse \begingroup\@endpefalse\reserved@a} \def\end#1{% \csname end#1\endcsname\@checkend{#1}% \expandafter\endgroup\if@endpe\@doendpe\fi \if@ignore\@ignorefalse\ignorespaces\fi} \def\@checkend#1{\def\reserved@a{#1}\ifx \reserved@a\@currenvir \else\@badend{#1}\fi} \let\@currenvline\@empty \message{center,} \def\@centercr{\ifhmode \unskip\else \@nolnerr\fi \par\@ifstar{\nobreak\@xcentercr}\@xcentercr} \def\@xcentercr{\addvspace{-\parskip}\@ifnextchar [\@icentercr\ignorespaces} \def\@icentercr[#1]{\vskip #1\ignorespaces} \def\center{\trivlist \centering\item\relax} \def\endcenter{\endtrivlist} \def\centering{% \let\\\@centercr \rightskip\@flushglue\leftskip\@flushglue \parindent\z@\parfillskip\z@skip} \newskip\@rightskip \@rightskip \z@skip \def\flushleft{\trivlist \raggedright\item\relax} \def\endflushleft{\endtrivlist} \def\raggedright{% \let\\\@centercr\@rightskip\@flushglue \rightskip\@rightskip \leftskip\z@skip \parindent\z@} \def\flushright{\trivlist \raggedleft\item\relax} \def\endflushright{\endtrivlist} \def\raggedleft{% \let\\\@centercr \rightskip\z@skip\leftskip\@flushglue \parindent\z@\parfillskip\z@skip} \message{verbatim,} {\catcode`\ =\active% \gdef\@vobeyspaces{\catcode`\ \active\let \@xobeysp}} \begingroup \catcode `|=0 \catcode `[= 1 \catcode`]=2 \catcode `\{=12 \catcode `\}=12 \catcode`\\=12 |gdef|@xverbatim#1\end{verbatim}[#1|end[verbatim]] |gdef|@sxverbatim#1\end{verbatim*}[#1|end[verbatim*]] |endgroup \def\@verbatim{\trivlist \item\relax \if@minipage\else\vskip\parskip\fi \leftskip\@totalleftmargin\rightskip\z@skip \parindent\z@\parfillskip\@flushglue\parskip\z@skip \@@par \@tempswafalse \def\par{% \if@tempswa \leavevmode \null \@@par\penalty\interlinepenalty \else \@tempswatrue \ifhmode\@@par\penalty\interlinepenalty\fi \fi}% \let\do\@makeother \dospecials \obeylines \verbatim@font \@noligs \hyphenchar\font\m@ne \everypar \expandafter{\the\everypar \unpenalty}% } \def\verbatim{\@verbatim \frenchspacing\@vobeyspaces \@xverbatim} \def\endverbatim{\if@newlist \leavevmode\fi\endtrivlist} \def\verbatim@font{\normalfont\ttfamily} \@namedef{verbatim*}{\@verbatim\@sxverbatim} \expandafter\let\csname endverbatim*\endcsname =\endverbatim \def\@makeother#1{\catcode`#112\relax} \let\verb@balance@group\@empty \def\verb@egroup{\global\let\verb@balance@group\@empty\egroup} \begingroup \obeylines% \gdef\verb@eol@error{\obeylines% \def^^M{\verb@egroup\@latex@error{% \noexpand\verb ended by end of line}\@ehc}}% \endgroup \def\verb{\relax\ifmmode\hbox\else\leavevmode\null\fi \bgroup \verb@eol@error \let\do\@makeother \dospecials \verbatim@font\@noligs \@ifstar\@sverb\@verb} \def\@sverb#1{% \catcode`#1\active \lccode`\~`#1% \gdef\verb@balance@group{\verb@egroup \@latex@error{\noexpand\verb illegal in command argument}\@ehc}% \aftergroup\verb@balance@group \lowercase{\let~\verb@egroup}}% \def\@verb{\@vobeyspaces \frenchspacing \@sverb} \def\verbatim@nolig@list{\do\`\do\<\do\>\do\,\do\'\do\-} \def\do@noligs#1{% \catcode`#1\active \begingroup \lccode`\~`#1\relax \lowercase{\endgroup\def~{\leavevmode\kern\z@\char`#1}}} \def\@noligs{\let\do\do@noligs \verbatim@nolig@list} %%% From File: ltmath.dtx \message{math definitions,} %% \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 \~} %% \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{% \nonscript\mskip-\medmuskip\mkern5mu% \mathbin{\operator@font mod}\penalty900\mkern5mu% \nonscript\mskip-\medmuskip} \def\pmod#1{% \allowbreak\mkern18mu({\operator@font mod}\,\,#1)} \def\bigl{\mathopen\big} \def\bigm{\mathrel\big} \def\bigr{\mathclose\big} \def\Bigl{\mathopen\Big} \def\Bigm{\mathrel\Big} \def\Bigr{\mathclose\Big} \def\biggl{\mathopen\bigg} \def\biggm{\mathrel\bigg} \def\biggr{\mathclose\bigg} \def\Biggl{\mathopen\Bigg} \def\Biggm{\mathrel\Bigg} \def\Biggr{\mathclose\Bigg} \newdimen\jot \jot=3pt \newcount\interdisplaylinepenalty \interdisplaylinepenalty=100 \def\choose{\atopwithdelims()} \def\brack{\atopwithdelims[]} \def\brace{\atopwithdelims\{\}} \def\mathpalette#1#2{% \mathchoice {#1\displaystyle{#2}}% {#1\textstyle{#2}}% {#1\scriptstyle{#2}}% {#1\scriptscriptstyle{#2}}} \newbox\rootbox \def\root#1\of{% \setbox\rootbox\hbox{$\m@th\scriptscriptstyle{#1}$}% \mathpalette\r@@t} \def\r@@t#1#2{% \setbox\z@\hbox{$\m@th#1\sqrtsign{#2}$}% \dimen@\ht\z@ \advance\dimen@-\dp\z@ \mkern5mu\raise.6\dimen@\copy\rootbox \mkern-10mu\box\z@} \newif\ifv@ \newif\ifh@ \def\vphantom{\v@true\h@false\ph@nt} \def\hphantom{\v@false\h@true\ph@nt} \def\phantom{\v@true\h@true\ph@nt} \def\ph@nt{% \ifmmode \expandafter\mathpalette\expandafter\mathph@nt \else \expandafter\makeph@nt \fi} \def\makeph@nt#1{% \setbox\z@\hbox{\color@begingroup#1\color@endgroup}\finph@nt} \def\mathph@nt#1#2{% \setbox\z@\hbox{$\m@th#1{#2}$}\finph@nt} \def\finph@nt{% \setbox\tw@\null \ifv@ \ht\tw@\ht\z@ \dp\tw@\dp\z@\fi \ifh@ \wd\tw@\wd\z@\fi \box\tw@} \def\mathstrut{\vphantom(} \def\smash{% \relax % \relax, in case this comes first in \halign \ifmmode \expandafter\mathpalette\expandafter\mathsm@sh \else \expandafter\makesm@sh \fi} \def\makesm@sh#1{% \setbox\z@\hbox{\color@begingroup#1\color@endgroup}\finsm@sh} \def\mathsm@sh#1#2{% \setbox\z@\hbox{$\m@th#1{#2}$}\finsm@sh} \def\finsm@sh{\ht\z@\z@ \dp\z@\z@ \box\z@} \def\buildrel#1\over#2{\mathrel{\mathop{\kern\z@#2}\limits^{#1}}} \def\cases#1{\left\{\,\vcenter{\normalbaselines\m@th \ialign{$##\hfil$&\quad{##}\hfil\crcr#1\crcr}}\right.} \def\matrix#1{\null\,\vcenter{\normalbaselines\m@th \ialign{\hfil$##$\hfil&&\quad\hfil$##$\hfil\crcr \mathstrut\crcr\noalign{\kern-\baselineskip} #1\crcr\mathstrut\crcr\noalign{\kern-\baselineskip}}}\,} \def\pmatrix#1{\left(\matrix{#1}\right)} \def\bordermatrix#1{\begingroup \m@th \@tempdima 8.75\p@ \setbox\z@\vbox{% \def\cr{\crcr\noalign{\kern2\p@\global\let\cr\endline}}% \ialign{$##$\hfil\kern2\p@\kern\@tempdima&\thinspace\hfil$##$\hfil &&\quad\hfil$##$\hfil\crcr \omit\strut\hfil\crcr\noalign{\kern-\baselineskip}% #1\crcr\omit\strut\cr}}% \setbox\tw@\vbox{\unvcopy\z@\global\setbox\@ne\lastbox}% \setbox\tw@\hbox{\unhbox\@ne\unskip\global\setbox\@ne\lastbox}% \setbox\tw@\hbox{$\kern\wd\@ne\kern-\@tempdima\left(\kern-\wd\@ne \global\setbox\@ne\vbox{\box\@ne\kern2\p@}% \vcenter{\kern-\ht\@ne\unvbox\z@\kern-\baselineskip}\,\right)$}% \null\;\vbox{\kern\ht\@ne\box\tw@}\endgroup} \def\openup{\afterassignment\@penup\dimen@} \def\@penup{\advance\lineskip\dimen@ \advance\baselineskip\dimen@ \advance\lineskiplimit\dimen@} \newif\ifdt@p \def\displ@y{\global\dt@ptrue\openup\jot\m@th \everycr{\noalign{\ifdt@p \global\dt@pfalse \ifdim\prevdepth>-1000\p@ \vskip-\lineskiplimit \vskip\normallineskiplimit \fi \else \penalty\interdisplaylinepenalty \fi}}} \def\@lign{\tabskip\z@skip\everycr{}} % restore inside \displ@y \def\displaylines#1{\displ@y \tabskip\z@skip \halign{\hb@xt@\displaywidth{$\@lign\hfil\displaystyle##\hfil$}\crcr #1\crcr}} \let\sp=^ \let\sb=_ \def\>{\mskip\medmuskip} \def\;{\mskip\thickmuskip} \def\!{\mskip-\thinmuskip} \def\*{\discretionary{\thinspace\the\textfont2\char2}{}{}} \let\:=\> \def\active@math@prime{^\bgroup\prim@s} {\catcode`\'=\active \global\let'\active@math@prime} \def\prim@s{% \prime\futurelet\@let@token\pr@m@s} \def\pr@m@s{% \ifx'\@let@token \expandafter\pr@@@s \else \ifx^\@let@token \expandafter\expandafter\expandafter\pr@@@t \else \egroup \fi \fi} \def\pr@@@s#1{\prim@s} \def\pr@@@t#1#2{#2\egroup} {\catcode`\_=\active \gdef_{\_}} % _ in math is % either subscript or \_ \def\({\relax\ifmmode\@badmath\else$\fi} \def\){\relax\ifmmode\ifinner$\else\@badmath\fi\else \@badmath\fi} \def\[{% \relax\ifmmode \@badmath \else \ifvmode \nointerlineskip \makebox[.6\linewidth]{}% \fi $$%%$$ BRACE MATCH HACK \fi } \def\]{% \relax\ifmmode \ifinner \@badmath \else $$%%$$ BRACE MATCH HACK \fi \else \@badmath \fi \ignorespaces } \let\math=\( \let\endmath=\) \def\displaymath{\[} \def\enddisplaymath{\]\@ignoretrue} \@definecounter{equation} \def\equation{$$\refstepcounter{equation}} \def\endequation{\eqno \hbox{\@eqnnum}$$\@ignoretrue} \def\@eqnnum{{\normalfont \normalcolor (\theequation)}} \def\stackrel#1#2{\mathrel{\mathop{#2}\limits^{#1}}} \def\frac#1#2{{\begingroup#1\endgroup\over#2}} \DeclareRobustCommand\sqrt{\@ifnextchar[\@sqrt\sqrtsign} \def\@sqrt[#1]{\root #1\of} \newcount\@eqcnt \newcount\@eqpen \newif\if@eqnsw\@eqnswtrue \newskip\@centering \@centering = 0pt plus 1000pt \def\eqnarray{% \stepcounter{equation}% \def\@currentlabel{\p@equation\theequation}% \global\@eqnswtrue \m@th \global\@eqcnt\z@ \tabskip\@centering \let\\\@eqncr $$\everycr{}\halign to\displaywidth\bgroup \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel &\global\@eqcnt\@ne\hskip \tw@\arraycolsep \hfil${##}$\hfil &\global\@eqcnt\tw@ \hskip \tw@\arraycolsep $\displaystyle{##}$\hfil\tabskip\@centering &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup \tabskip\z@skip \cr } \def\endeqnarray{% \@@eqncr \egroup \global\advance\c@equation\m@ne $$\@ignoretrue } \let\@eqnsel=\relax \def\nonumber{\global\@eqnswfalse} \def\@eqncr{% {\ifnum0=`}\fi \@ifstar{% \global\@eqpen\@M\@yeqncr }{% \global\@eqpen\interdisplaylinepenalty \@yeqncr }% } \def\@yeqncr{\@testopt\@xeqncr\z@skip} \def\@xeqncr[#1]{% \ifnum0=`{\fi}% \@@eqncr \noalign{\penalty\@eqpen\vskip\jot\vskip #1\relax}% } \def\@@eqncr{\let\reserved@a\relax \ifcase\@eqcnt \def\reserved@a{& & &}\or \def\reserved@a{& &}% \or \def\reserved@a{&}\else \let\reserved@a\@empty \@latex@error{Too many columns in eqnarray environment}\@ehc\fi \reserved@a \if@eqnsw\@eqnnum\stepcounter{equation}\fi \global\@eqnswtrue\global\@eqcnt\z@\cr} \let\@seqncr=\@eqncr \@namedef{eqnarray*}{\def\@eqncr{\nonumber\@seqncr}\eqnarray} \@namedef{endeqnarray*}{\nonumber\endeqnarray} \def\lefteqn#1{\rlap{$\displaystyle #1$}} \DeclareRobustCommand{\ensuremath}{% \ifmmode \expandafter\@firstofone \else \expandafter\@ensuredmath \fi} \long\def\@ensuredmath#1{$\relax#1$} %%% From File: ltlists.dtx \newskip\topsep \newskip\partopsep \newskip\itemsep \newskip\parsep \newskip\@topsep \newskip\@topsepadd \newskip\@outerparskip \newdimen\leftmargin \newdimen\rightmargin \newdimen\listparindent \newdimen\itemindent \newdimen\labelwidth \newdimen\labelsep \newdimen\linewidth \newdimen\@totalleftmargin \@totalleftmargin=\z@ \newdimen\leftmargini \newdimen\leftmarginii \newdimen\leftmarginiii \newdimen\leftmarginiv \newdimen\leftmarginv \newdimen\leftmarginvi \newcount\@listdepth \@listdepth=0 \newcount\@itempenalty \newcount\@beginparpenalty \newcount\@endparpenalty \newbox\@labels \newif\if@inlabel \@inlabelfalse \newif\if@newlist \@newlistfalse \newif\if@noparitem \@noparitemfalse \newif\if@noparlist \@noparlistfalse \newif\if@noitemarg \@noitemargfalse \newif\if@nmbrlist \@nmbrlistfalse \def\list#1#2{% \ifnum \@listdepth >5\relax \@toodeep \else \global\advance\@listdepth\@ne \fi \rightmargin\z@ \listparindent\z@ \itemindent\z@ \csname @list\romannumeral\the\@listdepth\endcsname \def\@itemlabel{#1}% \let\makelabel\@mklab \@nmbrlistfalse #2\relax \@trivlist \parskip\parsep \parindent\listparindent \advance\linewidth -\rightmargin \advance\linewidth -\leftmargin \advance\@totalleftmargin \leftmargin \parshape \@ne \@totalleftmargin \linewidth \ignorespaces} \newcount\par@deathcycles \def\@trivlist{% \if@noskipsec \leavevmode \fi \@topsepadd \topsep \ifvmode \advance\@topsepadd \partopsep \else \unskip \par \fi \if@inlabel \@noparitemtrue \@noparlisttrue \else \if@newlist \@noitemerr \fi \@noparlistfalse \@topsep \@topsepadd \fi \advance\@topsep \parskip \leftskip \z@skip \rightskip \@rightskip \parfillskip \@flushglue \par@deathcycles \z@ \@setpar{\if@newlist \advance\par@deathcycles \@ne \ifnum \par@deathcycles >\@m \@noitemerr {\@@par}% \fi \else {\@@par}% \fi}% \global \@newlisttrue \@outerparskip \parskip} \def\trivlist{% \parsep\parskip \@nmbrlistfalse \@trivlist \labelwidth\z@ \leftmargin\z@ \itemindent\z@ \let\@itemlabel\@empty \def\makelabel##1{##1}} \def\endlist{% \global\advance\@listdepth\m@ne \endtrivlist} \def\endtrivlist{% \if@inlabel \leavevmode \global \@inlabelfalse \fi \if@newlist \@noitemerr \global \@newlistfalse \fi \ifhmode\unskip \par \else \@inmatherr{\end{\@currenvir}}% \fi \if@noparlist \else \ifdim\lastskip >\z@ \@tempskipa\lastskip \vskip -\lastskip \advance\@tempskipa\parskip \advance\@tempskipa -\@outerparskip \vskip\@tempskipa \fi \@endparenv \fi } \def\@endparenv{% \addpenalty\@endparpenalty\addvspace\@topsepadd\@endpetrue} \def\@doendpe{\@endpetrue \def\par{\@restorepar\everypar{}\par\@endpefalse}\everypar {{\setbox\z@\lastbox}\everypar{}\@endpefalse}} \newif\if@endpe \@endpefalse \def\@mklab#1{\hfil #1} \def\item{% \@inmatherr\item \@ifnextchar [\@item{\@noitemargtrue \@item[\@itemlabel]}} \def\@donoparitem{% \@noparitemfalse \global\setbox\@labels\hbox{\hskip -\leftmargin \unhbox\@labels \hskip \leftmargin}% \if@minipage\else \@tempskipa\lastskip \vskip -\lastskip \advance\@tempskipa\@outerparskip \advance\@tempskipa -\parskip \vskip\@tempskipa \fi} \def\@item[#1]{% \if@noparitem \@donoparitem \else \if@inlabel \indent \par \fi \ifhmode \unskip\unskip \par \fi \if@newlist \if@nobreak \@nbitem \else \addpenalty\@beginparpenalty \addvspace\@topsep \addvspace{-\parskip}% \fi \else \addpenalty\@itempenalty \addvspace\itemsep \fi \global\@inlabeltrue \fi \everypar{% \@minipagefalse \global\@newlistfalse \if@inlabel \global\@inlabelfalse {\setbox\z@\lastbox \ifvoid\z@ \kern-\itemindent \fi}% \box\@labels \penalty\z@ \fi \if@nobreak \@nobreakfalse \clubpenalty \@M \else \clubpenalty \@clubpenalty \everypar{}% \fi}% \if@noitemarg \@noitemargfalse \if@nmbrlist \refstepcounter\@listctr \fi \fi \sbox\@tempboxa{\makelabel{#1}}% \global\setbox\@labels\hbox{% \unhbox\@labels \hskip \itemindent \hskip -\labelwidth \hskip -\labelsep \ifdim \wd\@tempboxa >\labelwidth \box\@tempboxa \else \hbox to\labelwidth {\unhbox\@tempboxa}% \fi \hskip \labelsep}% \ignorespaces} \def\makelabel#1{% \@latex@error{Lonely \string\item--perhaps a missing list environment}\@ehc} \def\@nbitem{% \@tempskipa\@outerparskip \advance\@tempskipa -\parskip \addvspace\@tempskipa} \def\usecounter#1{\@nmbrlisttrue\def\@listctr{#1}\setcounter{#1}\z@} \newcount\@enumdepth \@enumdepth = 0 \@definecounter{enumi} \@definecounter{enumii} \@definecounter{enumiii} \@definecounter{enumiv} \def\enumerate{% \ifnum \@enumdepth >\thr@@\@toodeep\else \advance\@enumdepth\@ne \edef\@enumctr{enum\romannumeral\the\@enumdepth}% \expandafter \list \csname label\@enumctr\endcsname {\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}% \fi} \let\endenumerate =\endlist \newcount\@itemdepth \@itemdepth = 0 \def\itemize{% \ifnum \@itemdepth >\thr@@\@toodeep\else \advance\@itemdepth\@ne \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% \expandafter \list \csname\@itemitem\endcsname {\def\makelabel##1{\hss\llap{##1}}}% \fi} \let\enditemize =\endlist %%% From File: ltboxes.dtx \message{boxes,} \def\makebox{% \leavevmode \@ifnextchar(%) \@makepicbox {\@ifnextchar[\@makebox\mbox}} \long\def\mbox#1{\leavevmode\hbox{#1}} \def\@makebox[#1]{% \@ifnextchar [{\@imakebox[#1]}{\@imakebox[#1][c]}} \long\def\@begin@tempboxa#1#2{% \begingroup \setbox\@tempboxa#1{\color@begingroup#2\color@endgroup}% \def\width{\wd\@tempboxa}% \def\height{\ht\@tempboxa}% \def\depth{\dp\@tempboxa}% \let\totalheight\@ovri \totalheight\height \advance\totalheight\depth} \let\@end@tempboxa\endgroup \def\bm@c{\hss\unhbox\@tempboxa\hss} \def\bm@l{\unhbox\@tempboxa\hss}\let\bm@t\bm@l \def\bm@r{\hss\unhbox\@tempboxa}\let\bm@b\bm@r \def\bm@s{\unhbox\@tempboxa} \long\def\@imakebox[#1][#2]#3{% \@begin@tempboxa\hbox{#3}% \setlength\@tempdima{#1}% support calc \hb@xt@\@tempdima{\csname bm@#2\endcsname}% \@end@tempboxa} \def\@makepicbox(#1,#2){% \@ifnextchar[{\@imakepicbox(#1,#2)}{\@imakepicbox(#1,#2)[]}} \long\def\@imakepicbox(#1,#2)[#3]#4{% \vbox to#2\unitlength {\let\mb@b\vss \let\mb@l\hss\let\mb@r\hss \let\mb@t\vss \@tfor\reserved@a :=#3\do{% \if s\reserved@a \let\mb@l\relax\let\mb@r\relax \else \expandafter\let\csname mb@\reserved@a\endcsname\relax \fi}% \mb@t \hb@xt@ #1\unitlength{\mb@l #4\mb@r}% \mb@b \kern\z@}} \let\set@color\relax \let\color@begingroup\relax \let\color@endgroup\relax \let\color@setgroup\relax \let\normalcolor\relax \let\color@hbox\relax \let\color@vbox\relax \let\color@endbox\relax \def\newsavebox#1{\@ifdefinable{#1}{\newbox#1}} \def\savebox#1{% \@ifnextchar(%) {\@savepicbox#1}{\@ifnextchar[{\@savebox#1}{\sbox#1}}} \long\def\sbox#1#2{\setbox#1\hbox{% \color@setgroup#2\color@endgroup}} \def\@savebox#1[#2]{% \@ifnextchar [{\@isavebox#1[#2]}{\@isavebox#1[#2][c]}} \long\def\@isavebox#1[#2][#3]#4{% \sbox#1{\@imakebox[#2][#3]{#4}}} \def\@savepicbox#1(#2,#3){% \@ifnextchar[%] {\@isavepicbox#1(#2,#3)}{\@isavepicbox#1(#2,#3)[]}} \long\def\@isavepicbox#1(#2,#3)[#4]#5{% \sbox#1{\@imakepicbox(#2,#3)[#4]{#5}}} \def\lrbox#1{% \edef\reserved@a{% \endgroup \setbox#1\hbox{% \begingroup\aftergroup}% \def\noexpand\@currenvir{\@currenvir}% \def\noexpand\@currenvline{\on@line}}% \reserved@a \@endpefalse \color@setgroup \ignorespaces} \def\endlrbox{\unskip\color@endgroup} \def\usebox#1{\leavevmode\copy #1\relax} \long\def\frame#1{% \leavevmode \hbox{% \hskip-\@wholewidth \vbox{% \vskip-\@wholewidth \hrule \@height\@wholewidth \hbox{% \vrule\@width\@wholewidth #1% \vrule\@width\@wholewidth}% \hrule\@height\@wholewidth \vskip-\@wholewidth}% \hskip-\@wholewidth}} \newdimen\fboxrule \newdimen\fboxsep \long\def\fbox#1{% \leavevmode \setbox\@tempboxa\hbox{% \color@begingroup \kern\fboxsep{#1}\kern\fboxsep \color@endgroup}% \@frameb@x\relax} \def\framebox{% \@ifnextchar(%) \@framepicbox{\@ifnextchar[\@framebox\fbox}} \def\@framebox[#1]{% \@ifnextchar[%] {\@iframebox[#1]}% {\@iframebox[#1][c]}} \long\def\@iframebox[#1][#2]#3{% \leavevmode \@begin@tempboxa\hbox{#3}% \setlength\@tempdima{#1}% \setbox\@tempboxa\hb@xt@\@tempdima {\kern\fboxsep\csname bm@#2\endcsname\kern\fboxsep}% \@frameb@x{\kern-\fboxrule}% \@end@tempboxa} \def\@frameb@x#1{% \@tempdima\fboxrule \advance\@tempdima\fboxsep \advance\@tempdima\dp\@tempboxa \hbox{% \lower\@tempdima\hbox{% \vbox{% \hrule\@height\fboxrule \hbox{% \vrule\@width\fboxrule #1% \vbox{% \vskip\fboxsep \box\@tempboxa \vskip\fboxsep}% #1% \vrule\@width\fboxrule}% \hrule\@height\fboxrule}% }% }% } \def\@framepicbox(#1,#2){% \@ifnextchar[{\@iframepicbox(#1,#2)}{\@iframepicbox(#1,#2)[]}} \long\def\@iframepicbox(#1,#2)[#3]#4{% \frame{\@imakepicbox(#1,#2)[#3]{#4}}} \def\parbox{% \@ifnextchar[%] \@iparbox {\@iiiparbox c\relax[s]}} \def\@iparbox[#1]{% \@ifnextchar[%] {\@iiparbox{#1}}% {\@iiiparbox{#1}\relax[s]}} \def\@iiparbox#1[#2]{% \@ifnextchar[%] {\@iiiparbox{#1}{#2}}% {\@iiiparbox{#1}{#2}[#1]}} \let\@parboxto\@empty \long\def\@iiiparbox#1#2[#3]#4#5{% \leavevmode \@pboxswfalse \setlength\@tempdima{#4}% \@begin@tempboxa\vbox{\hsize\@tempdima\@parboxrestore#5\@@par}% \ifx\relax#2\else \setlength\@tempdimb{#2}% \edef\@parboxto{to\the\@tempdimb}% \fi \if#1b\vbox \else\if #1t\vtop \else\ifmmode\vcenter \else\@pboxswtrue $\vcenter \fi\fi\fi \@parboxto{\let\hss\vss\let\unhbox\unvbox \csname bm@#3\endcsname}% \if@pboxsw \m@th$\fi \@end@tempboxa} \def\@arrayparboxrestore{% \let\if@nobreak\iffalse \let\if@noskipsec\iffalse \let\par\@@par \let\-\@dischyph \let\'\@acci\let\`\@accii\let\=\@acciii \parindent\z@ \parskip\z@skip \everypar{}% \linewidth\hsize \@totalleftmargin\z@ \leftskip\z@skip \rightskip\z@skip \@rightskip\z@skip \parfillskip\@flushglue \lineskip\normallineskip \baselineskip\normalbaselineskip \sloppy} \def\@parboxrestore{\@arrayparboxrestore\let\\\@normalcr} \def\@minipagefalse{\global\let\if@minipage\iffalse} \def\@minipagetrue {\global\let\if@minipage\iftrue} \@minipagefalse \def\minipage{% \@ifnextchar[%] \@iminipage {\@iiiminipage c\relax[s]}} \def\@iminipage[#1]{% \@ifnextchar[%] {\@iiminipage{#1}}% {\@iiiminipage{#1}\relax[s]}} \def\@iiminipage#1[#2]{% \@ifnextchar[%] {\@iiiminipage{#1}{#2}}% {\@iiiminipage{#1}{#2}[#1]}} \def\@iiiminipage#1#2[#3]#4{% \leavevmode \@pboxswfalse \setlength\@tempdima{#4}% \def\@mpargs{{#1}{#2}[#3]{#4}}% \setbox\@tempboxa\vbox\bgroup \color@begingroup \hsize\@tempdima \textwidth\hsize \columnwidth\hsize \@parboxrestore \def\@mpfn{mpfootnote}\def\thempfn{\thempfootnote}\c@mpfootnote\z@ \let\@footnotetext\@mpfootnotetext \let\@listdepth\@mplistdepth \@mplistdepth\z@ \@minipagerestore \@setminipage} \let\@minipagerestore=\relax \def\endminipage{% \par \unskip \ifvoid\@mpfootins\else \vskip\skip\@mpfootins \normalcolor \footnoterule \unvbox\@mpfootins \fi \@minipagefalse %% added 24 May 89 \color@endgroup \egroup \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}} \newcount\@mplistdepth \newinsert\@mpfootins \long\def\@mpfootnotetext#1{% \global\setbox\@mpfootins\vbox{% \unvbox\@mpfootins \reset@font\footnotesize \hsize\columnwidth \@parboxrestore \protected@edef\@currentlabel {\csname p@mpfootnote\endcsname\@thefnmark}% \color@begingroup \@makefntext{% \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% \color@endgroup}} \newif\if@pboxsw \def\rule{\@ifnextchar[\@rule{\@rule[\z@]}} \def\@rule[#1]#2#3{% \leavevmode \hbox{% \setlength\@tempdima{#1}% \setlength\@tempdimb{#2}% \setlength\@tempdimc{#3}% \advance\@tempdimc\@tempdima \vrule\@width\@tempdimb\@height\@tempdimc\@depth-\@tempdima}} \let\@@underline\underline \def\underline#1{% \relax \ifmmode\@@underline{#1}% \else $\@@underline{\hbox{#1}}\m@th$\relax\fi} \def\raisebox#1{% \leavevmode \@ifnextchar[{\@rsbox{#1}}{\@irsbox{#1}[]}} \def\@rsbox#1[#2]{% \@ifnextchar[{\@iirsbox{#1}[#2]}{\@irsbox{#1}[#2]}} \long\def\@irsbox#1[#2]#3{% \@begin@tempboxa\hbox{#3}% \setlength\@tempdima{#1}% \ifx\\#2\\\else\setlength\@tempdimb{#2}\fi \setbox\@tempboxa\hbox{\raise\@tempdima\box\@tempboxa}% \ifx\\#2\\\else\ht\@tempboxa\@tempdimb\fi \box\@tempboxa \@end@tempboxa} \long\def\@iirsbox#1[#2][#3]#4{% \@begin@tempboxa\hbox{#4}% \setlength\@tempdima{#1}% \setlength\@tempdimb{#2}% \setlength\dimen@{#3}% \setbox\@tempboxa\hbox{\raise\@tempdima\box\@tempboxa}% \ht\@tempboxa\@tempdimb \dp\@tempboxa\dimen@ \box\@tempboxa \@end@tempboxa} \def\@finalstrut#1{% \unskip\ifhmode\nobreak\fi\vrule\@width\z@\@height\z@\@depth\dp#1} \def\@@line{\hb@xt@\hsize} \def\leftline#1{\@@line{#1\hss}} \def\rightline#1{\@@line{\hss#1}} \def\centerline#1{\@@line{\hss#1\hss}} \def\rlap#1{\hb@xt@\z@{#1\hss}} \def\llap#1{\hb@xt@\z@{\hss#1}} %%% From File: lttab.dtx \expandafter\let\csname ver@autotabg.sty\endcsname\fmtversion \newdimen\@gtempa \chardef\@firsttab=\the\allocationnumber \newdimen\@gtempa\newdimen\@gtempa\newdimen\@gtempa\newdimen\@gtempa \newdimen\@gtempa\newdimen\@gtempa\newdimen\@gtempa\newdimen\@gtempa \newdimen\@gtempa\newdimen\@gtempa\newdimen\@gtempa\newdimen\@gtempa \newdimen\@gtempa \chardef\@maxtab=\the\allocationnumber \dimen\@firsttab=0pt \newcount\@nxttabmar \newcount\@curtabmar \newcount\@curtab \newcount\@hightab \newcount\@tabpush \newbox\@curline \newbox\@curfield \newbox\@tabfbox \newif\if@rjfield \gdef\@startline{% \ifnum \@nxttabmar >\@hightab \@badtab \global\@nxttabmar \@hightab \fi \global\@curtabmar \@nxttabmar \global\@curtab \@curtabmar \global\setbox\@curline \hbox {}% \@startfield \strut} \gdef\@stopline{% \unskip \@stopfield \if@rjfield \global\@rjfieldfalse \@tempdima\@totalleftmargin \advance\@tempdima\linewidth \hb@xt@\@tempdima{% \@itemfudge\hskip\dimen\@curtabmar \box\@curline \hfil \box\@curfield}% \else \@addfield \hbox{\@itemfudge\hskip\dimen\@curtabmar\box\@curline}% \fi} \gdef\@startfield{% \global\setbox\@curfield\hbox\bgroup\color@begingroup} \gdef\@stopfield{% \color@endgroup\egroup} \gdef\@contfield{% \global\setbox\@curfield\hbox\bgroup\color@begingroup \unhbox\@curfield} \gdef\@addfield{\global\setbox\@curline\hbox{\unhbox \@curline\unhbox\@curfield}} \gdef\@ifatmargin{\ifdim \wd\@curline =\z@} \gdef\@tabcr{\@stopline \@ifstar{\penalty \@M \@xtabcr}\@xtabcr} \gdef\@xtabcr{\@ifnextchar[\@itabcr{\@startline\ignorespaces}} \gdef\@itabcr[#1]{\vskip #1\@startline\ignorespaces} \gdef\kill{\@stopfield\@startline\ignorespaces} \gdef\tabbing{\lineskip \z@skip\let\>\@rtab\let\<\@ltab\let\=\@settab \let\+\@tabplus\let\-\@tabminus\let\`\@tabrj\let\'\@tablab \let\\=\@tabcr \@hightab\@firsttab \global\@nxttabmar\@firsttab \dimen\@firsttab\@totalleftmargin \global\@tabpush\z@ \global\@rjfieldfalse \trivlist \item\relax \if@minipage\else\vskip\parskip\fi \setbox\@tabfbox\hbox{% \rlap{\hskip\@totalleftmargin\indent\the\everypar}}% \def\@itemfudge{\box\@tabfbox}% \@startline\ignorespaces} \gdef\endtabbing{% \@stopline\ifnum\@tabpush >\z@ \@badpoptabs \fi\endtrivlist} \gdef\@rtab{\@stopfield\@addfield\ifnum \@curtab<\@hightab \global\advance\@curtab \@ne \else\@badtab\fi \@tempdima\dimen\@curtab \advance\@tempdima -\dimen\@curtabmar \advance\@tempdima -\wd\@curline \global\setbox\@curline\hbox{\unhbox\@curline\hskip\@tempdima}% \@startfield\ignorespaces} \gdef\@settab{\@stopfield\@addfield \ifnum \@curtab <\@maxtab \ifnum\@curtab =\@hightab \advance\@hightab \@ne \fi \global\advance\@curtab \@ne \else \@latex@error{Tab overflow}\@ehd \fi \dimen\@curtab \dimen\@curtabmar \advance\dimen\@curtab \wd\@curline \@startfield \ignorespaces} \gdef\@ltab{\@ifatmargin\ifnum\@curtabmar >\@firsttab \global\advance\@curtab \m@ne \global\advance\@curtabmar\m@ne\else \@badtab\fi\else \@latex@error{\string\<\space in mid line}\@ehd\fi\ignorespaces} \gdef\@tabplus{% \ifnum\@nxttabmar<\@hightab \global\advance\@nxttabmar\@ne \else \@badtab \fi \ignorespaces} \gdef\@tabminus{% \ifnum\@nxttabmar>\@firsttab \global\advance\@nxttabmar\m@ne \else \@badtab \fi \ignorespaces} \gdef\@tabrj{% \@stopfield\@addfield\global\@rjfieldtrue\@startfield\ignorespaces} \gdef\@tablab{% \@stopfield \global\setbox\@curline\hbox{% \box\@curline \hskip-\wd\@curfield \hskip-\tabbingsep \box\@curfield \hskip\tabbingsep}% \@startfield \ignorespaces} \gdef\pushtabs{% \@stopfield\@addfield\global\advance\@tabpush \@ne \begingroup \@contfield} \gdef\poptabs{\@stopfield\@addfield \ifnum \@tabpush >\z@ \endgroup \global\advance\@tabpush \m@ne \ifnum \@curtab >\@hightab \global \@curtab \@hightab \@badtab \fi \else \@badpoptabs \fi \@contfield} \newdimen\tabbingsep \def\extracolsep#1{\tabskip #1\relax} \def\array{\let\@acol\@arrayacol \let\@classz\@arrayclassz \let\@classiv\@arrayclassiv \let\\\@arraycr\let\@halignto\@empty\@tabarray} \def\endarray{\crcr\egroup\egroup} \def\endtabular{\crcr\egroup\egroup $\egroup} \expandafter \let \csname endtabular*\endcsname = \endtabular \def\tabular{\let\@halignto\@empty\@tabular} \@namedef{tabular*}#1{% \setlength\dimen@{#1}% \edef\@halignto{to\the\dimen@}\@tabular} \def\@tabular{\leavevmode \hbox \bgroup $\let\@acol\@tabacol \let\@classz\@tabclassz \let\@classiv\@tabclassiv \let\\\@tabularcr\@tabarray} \def\@tabarray{\m@th\@ifnextchar[\@array{\@array[c]}} \def\@array[#1]#2{% \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi \bgroup \setbox\@arstrutbox\hbox{% \vrule \@height\arraystretch\ht\strutbox \@depth\arraystretch \dp\strutbox \@width\z@}% \@mkpream{#2}% \edef\@preamble{% \ialign \noexpand\@halignto \bgroup \@arstrut \@preamble \tabskip\z@skip \cr}% \let\@startpbox\@@startpbox \let\@endpbox\@@endpbox \let\tabularnewline\\% \let\par\@empty \let\@sharp##% \set@typeset@protect \lineskip\z@skip\baselineskip\z@skip \ifhmode \@preamerr\z@ \@@par\fi \@preamble} \def\@arraycr{% ${\ifnum0=`}\fi\@ifstar\@xarraycr\@xarraycr} \def\@xarraycr{\@ifnextchar[\@argarraycr{\ifnum0=`{\fi}${}\cr}} \def\@argarraycr[#1]{% \ifnum0=`{\fi}${}\ifdim #1>\z@ \@xargarraycr{#1}\else \@yargarraycr{#1}\fi} \let\tabularnewline\relax \def\@tabularcr{% {\ifnum0=`}\fi\@ifstar\@xtabularcr\@xtabularcr} \def\@xtabularcr{\@ifnextchar[\@argtabularcr{\ifnum0=`{\fi}\cr}} \def\@argtabularcr[#1]{% \ifnum0=`{\fi}% \ifdim #1>\z@ \unskip\@xargarraycr{#1}% \else \@yargarraycr{#1}% \fi} \def\@xargarraycr#1{\@tempdima #1\advance\@tempdima \dp \@arstrutbox \vrule \@height\z@ \@depth\@tempdima \@width\z@ \cr} \def\@yargarraycr#1{\cr\noalign{\vskip #1}} \long\def\multicolumn#1#2#3{\multispan{#1}\begingroup \@mkpream{#2}% \def\@sharp{#3}\set@typeset@protect \let\@startpbox\@@startpbox\let\@endpbox\@@endpbox \@arstrut \@preamble\hbox{}\endgroup\ignorespaces} \def\@xexnoop #1\@@{} \def\@expast#1{\@xexpast #1*0x\@@} \def\@xexpast#1*#2#3#4\@@{% \edef\reserved@a{#1}% \@tempcnta#2\relax \ifnum\@tempcnta>\z@ \@whilenum\@tempcnta>\z@\do {\edef\reserved@a{\reserved@a#3}\advance\@tempcnta \m@ne}% \let\reserved@b\@xexpast \else \let\reserved@b\@xexnoop \fi \expandafter\reserved@b\reserved@a #4\@@} \newif\if@firstamp \def\@addamp{% \if@firstamp \@firstampfalse \else \edef\@preamble{\@preamble &}% \fi} \def\@arrayacol{\edef\@preamble{\@preamble \hskip \arraycolsep}} \def\@tabacol{\edef\@preamble{\@preamble \hskip \tabcolsep}} \def\@ampacol{\@addamp \@acol} \def\@acolampacol{\@acol\@addamp\@acol} \def\@mkpream#1{\@firstamptrue\@lastchclass6 \let\@preamble\@empty \let\protect\@unexpandable@protect \let\@sharp\relax \let\@startpbox\relax\let\@endpbox\relax \@expast{#1}% \expandafter\@tfor \expandafter \@nextchar \expandafter:\expandafter=\reserved@a\do {\@testpach\@nextchar \ifcase \@chclass \@classz \or \@classi \or \@classii \or \@classiii \or \@classiv \or\@classv \fi\@lastchclass\@chclass}% \ifcase \@lastchclass \@acol \or \or \@preamerr \@ne\or \@preamerr \tw@\or \or \@acol \fi} \def\@arrayclassz{\ifcase \@lastchclass \@acolampacol \or \@ampacol \or \or \or \@addamp \or \@acolampacol \or \@firstampfalse \@acol \fi \edef\@preamble{\@preamble \ifcase \@chnum \hfil$\relax\@sharp$\hfil \or $\relax\@sharp$\hfil \or \hfil$\relax\@sharp$\fi}} \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 \hskip1sp\ignorespaces\@sharp\unskip\hfil \or \hfil\hskip1sp\ignorespaces\@sharp\unskip \fi}}} \def\@classi{% \ifcase\@lastchclass \@acol\@arrayrule \or \@addtopreamble{\hskip \doublerulesep}\@arrayrule \or \or \or \@arrayrule \or \@acol\@arrayrule \or \@arrayrule \fi} \def\@classii{% \ifcase\@lastchclass \or \@addtopreamble{\hskip .5\arrayrulewidth}% \fi} \def\@classiii{\ifcase \@lastchclass \@acolampacol \or \@addamp\@acol \or \or \or \@addamp \or \@acolampacol \or \@ampacol \fi} \def\@tabclassiv{\@addtopreamble\@nextchar} \def\@arrayclassiv{\@addtopreamble{$\@nextchar$}} \def\@classv{\@addtopreamble{\@startpbox{\@nextchar}\ignorespaces \@sharp\@endpbox}} \def\@addtopreamble#1{\edef\@preamble{\@preamble #1}} \newcount\@chclass \newcount\@lastchclass \newcount\@chnum \newdimen\arraycolsep \newdimen\tabcolsep \newdimen\arrayrulewidth \newdimen\doublerulesep \def\arraystretch{1} % Default value. \newbox\@arstrutbox \def\@arstrut{% \relax\ifmmode\copy\@arstrutbox\else\unhcopy\@arstrutbox\fi} \def\@arrayrule{\@addtopreamble{\hskip -.5\arrayrulewidth \vrule \@width \arrayrulewidth\hskip -.5\arrayrulewidth}} \def\@testpach#1{\@chclass \ifnum \@lastchclass=\tw@ 4 \else \ifnum \@lastchclass=3 5 \else \z@ \if #1c\@chnum \z@ \else \if #1l\@chnum \@ne \else \if #1r\@chnum \tw@ \else \@chclass \if #1|\@ne \else \if #1@\tw@ \else \if #1p3 \else \z@ \@preamerr 0\fi \fi \fi \fi \fi \fi \fi \fi} \def\hline{% \noalign{\ifnum0=`}\fi\hrule \@height \arrayrulewidth \futurelet \reserved@a\@xhline} \def\@xhline{\ifx\reserved@a\hline \vskip\doublerulesep \vskip-\arrayrulewidth \fi \ifnum0=`{\fi}} \def\vline{\vrule \@width \arrayrulewidth} \def\cline#1{\@cline#1\@nil} \def\@cline#1-#2\@nil{% \omit \@multicnt#1% \advance\@multispan\m@ne \ifnum\@multicnt=\@ne\@firstofone{&\omit}\fi \@multicnt#2% \advance\@multicnt-#1% \advance\@multispan\@ne \leaders\hrule\@height\arrayrulewidth\hfill \cr \noalign{\vskip-\arrayrulewidth}} \def\multispan{\omit\@multispan} \def\@multispan#1{% \@multicnt#1\relax \loop\ifnum\@multicnt>\@ne \sp@n\repeat} \def\sp@n{\span\omit\advance\@multicnt\m@ne} \def\@startpbox#1{\vtop\bgroup \setlength\hsize{#1}\@arrayparboxrestore} \def\@endpbox{\@finalstrut\@arstrutbox\par\egroup\hfil} \let\@@startpbox=\@startpbox \let\@@endpbox=\@endpbox %%% From File: ltpictur.dtx \expandafter\let\csname ver@autopict.sty\endcsname\fmtversion \newdimen\@wholewidth \newdimen\@halfwidth \newdimen\unitlength \unitlength =1pt \newbox\@picbox \newdimen\@picht \long\gdef\picture#1{\pictur@#1} \gdef\pictur@(#1){% \@ifnextchar({\@picture(#1)}{\@picture(#1)(0,0)}} \gdef\@picture(#1,#2)(#3,#4){% \@picht#2\unitlength \setbox\@picbox\hb@xt@#1\unitlength\bgroup \hskip -#3\unitlength \lower #4\unitlength\hbox\bgroup \ignorespaces} \gdef\endpicture{% \egroup\hss\egroup \ht\@picbox\@picht\dp\@picbox\z@ \mbox{\box\@picbox}} \long\gdef\put(#1,#2)#3{% \@killglue\raise#2\unitlength \hb@xt@\z@{\kern#1\unitlength #3\hss}% \ignorespaces} \gdef\multiput(#1,#2)#3{% \@xdim #1\unitlength \@ydim #2\unitlength \@multiput(} \long\gdef\@multiput(#1,#2)#3#4{% \@killglue\@multicnt #3\relax \@whilenum \@multicnt >\z@\do {\raise\@ydim\hb@xt@\z@{\kern\@xdim #4\hss}% \advance\@multicnt\m@ne \advance\@xdim#1\unitlength\advance\@ydim#2\unitlength}% \ignorespaces} \gdef\@killglue{\unskip\@whiledim \lastskip >\z@\do{\unskip}} \gdef\thinlines{\let\@linefnt\tenln \let\@circlefnt\tencirc \@wholewidth\fontdimen8\tenln \@halfwidth .5\@wholewidth} \gdef\thicklines{\let\@linefnt\tenlnw \let\@circlefnt\tencircw \@wholewidth\fontdimen8\tenlnw \@halfwidth .5\@wholewidth} \gdef\linethickness#1{\@wholewidth #1\relax \@halfwidth .5\@wholewidth} \gdef\shortstack{\@ifnextchar[\@shortstack{\@shortstack[c]}} \gdef\@shortstack[#1]{% \leavevmode \vbox\bgroup \baselineskip-\p@\lineskip 3\p@ \let\mb@l\hss\let\mb@r\hss \expandafter\let\csname mb@#1\endcsname\relax \let\\\@stackcr \@ishortstack} \gdef\@ishortstack#1{\ialign{\mb@l {##}\unskip\mb@r\cr #1\crcr}\egroup} \gdef\@stackcr{\@ifstar\@ixstackcr\@ixstackcr} \gdef\@ixstackcr{\@ifnextchar[\@istackcr{\cr\ignorespaces}} \gdef\@istackcr[#1]{\cr\noalign{\vskip #1}\ignorespaces} \newif\if@negarg \gdef\line(#1,#2)#3{\@xarg #1\relax \@yarg #2\relax \@linelen #3\unitlength \ifdim\@linelen<\z@\@badlinearg\else \ifnum\@xarg =\z@ \@vline \else \ifnum\@yarg =\z@ \@hline \else \@sline\fi \fi \fi} \gdef\@sline{% \ifnum\@xarg<\z@ \@negargtrue \@xarg -\@xarg \@yyarg -\@yarg \else \@negargfalse \@yyarg \@yarg \fi \ifnum \@yyarg >\z@ \@tempcnta\@yyarg \else \@tempcnta -\@yyarg \fi \ifnum\@tempcnta>6 \@badlinearg\@tempcnta\z@ \fi \ifnum\@xarg>6 \@badlinearg\@xarg \@ne \fi \setbox\@linechar\hbox{\@linefnt\@getlinechar(\@xarg,\@yyarg)}% \ifdim\wd\@linechar=\z@ \setbox\@linechar\hbox{.}% \@badlinearg \fi \ifnum \@yarg >\z@ \let\@upordown\raise \@clnht\z@ \else\let\@upordown\lower \@clnht \ht\@linechar\fi \@clnwd \wd\@linechar \if@negarg \hskip -\wd\@linechar \def\reserved@a{\hskip -2\wd\@linechar}% \else \let\reserved@a\relax \fi \@whiledim \@clnwd <\@linelen \do {\@upordown\@clnht\copy\@linechar \reserved@a \advance\@clnht \ht\@linechar \advance\@clnwd \wd\@linechar}% \advance\@clnht -\ht\@linechar \advance\@clnwd -\wd\@linechar \@tempdima\@linelen\advance\@tempdima -\@clnwd \@tempdimb\@tempdima\advance\@tempdimb -\wd\@linechar \if@negarg \hskip -\@tempdimb \else \hskip \@tempdimb \fi \multiply\@tempdima \@m \@tempcnta \@tempdima \@tempdima \wd\@linechar \divide\@tempcnta \@tempdima \@tempdima \ht\@linechar \multiply\@tempdima \@tempcnta \divide\@tempdima \@m \advance\@clnht \@tempdima \ifdim \@linelen <\wd\@linechar \hskip \wd\@linechar \ifdim \@linelen = \z@ \else \@picture@warn \fi \else\@upordown\@clnht\copy\@linechar\fi} \gdef\@hline{\ifnum \@xarg <\z@ \hskip -\@linelen \fi \vrule \@height \@halfwidth \@depth \@halfwidth \@width \@linelen \ifnum \@xarg <\z@ \hskip -\@linelen \fi} \gdef\@getlinechar(#1,#2){\@tempcnta#1\relax\multiply\@tempcnta 8% \advance\@tempcnta -9\ifnum #2>\z@ \advance\@tempcnta #2\relax\else \advance\@tempcnta -#2\relax\advance\@tempcnta 64 \fi \char\@tempcnta} \gdef\vector(#1,#2)#3{\@xarg #1\relax \@yarg #2\relax \@tempcnta \ifnum\@xarg<\z@ -\@xarg\else\@xarg\fi \ifnum\@tempcnta<5\relax \@linelen #3\unitlength \ifdim\@linelen<\z@\@badlinearg\else \ifnum\@xarg =\z@ \@vvector \else \ifnum\@yarg =\z@ \@hvector \else \@svector\fi \fi \fi \else\@badlinearg\fi} \gdef\@hvector{\@hline\hb@xt@\z@{\@linefnt \ifnum \@xarg <\z@ \@getlarrow(1,0)\hss\else \hss\@getrarrow(1,0)\fi}} \gdef\@vvector{\ifnum \@yarg <\z@ \@downvector \else \@upvector \fi} \gdef\@svector{\@sline \@tempcnta\@yarg \ifnum\@tempcnta <\z@ \@tempcnta -\@tempcnta\fi \ifnum\@tempcnta <5% \hskip -\wd\@linechar \@upordown\@clnht \hbox{\@linefnt \if@negarg \@getlarrow(\@xarg,\@yyarg)\else \@getrarrow(\@xarg,\@yyarg)\fi}% \else\@badlinearg\fi} \gdef\@getlarrow(#1,#2){\ifnum #2=\z@ \@tempcnta 27 % '33 \else \@tempcnta #1\relax\multiply\@tempcnta \sixt@@n \advance\@tempcnta -9 \@tempcntb #2\relax\multiply\@tempcntb \tw@ \ifnum \@tempcntb >\z@ \advance\@tempcnta \@tempcntb \else\advance\@tempcnta -\@tempcntb\advance\@tempcnta 64 \fi\fi\char\@tempcnta} \gdef\@getrarrow(#1,#2){\@tempcntb #2\relax \ifnum\@tempcntb <\z@ \@tempcntb -\@tempcntb\relax\fi \ifcase \@tempcntb\relax \@tempcnta 45 % '55 \or \ifnum #1<\thr@@ \@tempcnta #1\relax\multiply\@tempcnta 24\advance\@tempcnta -6 \else \ifnum #1=\thr@@ \@tempcnta 49 \else\@tempcnta 58 \fi\fi\or \ifnum #1<\thr@@ \@tempcnta=#1\relax\multiply\@tempcnta 24\advance\@tempcnta -\thr@@ \else \@tempcnta 51 \fi\or \@tempcnta #1\relax\multiply\@tempcnta \sixt@@n \advance\@tempcnta -\tw@ \else \@tempcnta #1\relax\multiply\@tempcnta \sixt@@n \advance\@tempcnta 7 \fi\ifnum #2<\z@ \advance\@tempcnta 64 \fi \char\@tempcnta} \gdef\@vline{\ifnum \@yarg <\z@ \@downline \else \@upline\fi} \gdef\@upline{% \hb@xt@\z@{\hskip -\@halfwidth \vrule \@width \@wholewidth \@height \@linelen \@depth \z@\hss}} \gdef\@downline{% \hb@xt@\z@{\hskip -\@halfwidth \vrule \@width \@wholewidth \@height \z@ \@depth \@linelen \hss}} \gdef\@upvector{\@upline\setbox\@tempboxa\hbox{\@linefnt\char 54}% % '66 \raise \@linelen \hb@xt@\z@{\lower \ht\@tempboxa\box\@tempboxa\hss}} \gdef\@downvector{\@downline\lower \@linelen \hb@xt@\z@{\@linefnt\char 63 % '77 \hss}} \gdef\dashbox#1(#2,#3){\leavevmode\hb@xt@\z@{\baselineskip \z@skip \lineskip \z@skip \@dashdim #2\unitlength \@dashcnt \@dashdim \advance\@dashcnt 200 \@dashdim #1\unitlength\divide\@dashcnt \@dashdim \ifodd\@dashcnt\@dashdim \z@ \advance\@dashcnt \@ne \divide\@dashcnt \tw@ \else \divide\@dashdim \tw@ \divide\@dashcnt \tw@ \advance\@dashcnt \m@ne \setbox\@dashbox \hbox{\vrule \@height \@halfwidth \@depth \@halfwidth \@width \@dashdim}\put(0,0){\copy\@dashbox}% \put(0,#3){\copy\@dashbox}% \put(#2,0){\hskip-\@dashdim\copy\@dashbox}% \put(#2,#3){\hskip-\@dashdim\box\@dashbox}% \multiply\@dashdim \thr@@ \fi \setbox\@dashbox \hbox{\vrule \@height \@halfwidth \@depth \@halfwidth \@width #1\unitlength\hskip #1\unitlength}\@tempcnta\z@ \put(0,0){\hskip\@dashdim \@whilenum \@tempcnta <\@dashcnt \do{\copy\@dashbox\advance\@tempcnta \@ne }}\@tempcnta\z@ \put(0,#3){\hskip\@dashdim \@whilenum \@tempcnta <\@dashcnt \do{\copy\@dashbox\advance\@tempcnta \@ne }}% \@dashdim #3\unitlength \@dashcnt \@dashdim \advance\@dashcnt 200 \@dashdim #1\unitlength\divide\@dashcnt \@dashdim \ifodd\@dashcnt \@dashdim \z@ \advance\@dashcnt \@ne \divide\@dashcnt \tw@ \else \divide\@dashdim \tw@ \divide\@dashcnt \tw@ \advance\@dashcnt \m@ne \setbox\@dashbox\hbox{\hskip -\@halfwidth \vrule \@width \@wholewidth \@height \@dashdim}\put(0,0){\copy\@dashbox}% \put(#2,0){\copy\@dashbox}% \put(0,#3){\lower\@dashdim\copy\@dashbox}% \put(#2,#3){\lower\@dashdim\copy\@dashbox}% \multiply\@dashdim \thr@@ \fi \setbox\@dashbox\hbox{\vrule \@width \@wholewidth \@height #1\unitlength}\@tempcnta\z@ \put(0,0){\hskip -\@halfwidth \vbox{\@whilenum \@tempcnta <\@dashcnt \do{\vskip #1\unitlength\copy\@dashbox\advance\@tempcnta \@ne }% \vskip\@dashdim}}\@tempcnta\z@ \put(#2,0){\hskip -\@halfwidth \vbox{\@whilenum \@tempcnta<\@dashcnt \do{\vskip #1\unitlength\copy\@dashbox\advance\@tempcnta \@ne }% \vskip\@dashdim}}}\@makepicbox(#2,#3)} \newif\if@ovt \newif\if@ovb \newif\if@ovl \newif\if@ovr \newdimen\@ovxx \newdimen\@ovyy \newdimen\@ovdx \newdimen\@ovdy \newdimen\@ovro \newdimen\@ovri \gdef\@getcirc#1{\@tempdima #1\relax \advance\@tempdima 2\p@ \@tempcnta\@tempdima \@tempdima 4\p@ \divide\@tempcnta\@tempdima \ifnum \@tempcnta >10\relax \@picture@warn \@tempcnta 10\relax \fi \ifnum \@tempcnta >\z@ \advance\@tempcnta\m@ne \else \@picture@warn \fi \multiply\@tempcnta 4\relax \setbox \@tempboxa \hbox{\@circlefnt \char \@tempcnta}\@tempdima \wd \@tempboxa} \def\@picture@warn{\@latex@warning{% \string\oval, \string\circle, or \string\line\space size unavailable}} \gdef\@put#1#2#3{\raise #2\hb@xt@\z@{\hskip #1#3\hss}} \gdef\oval(#1,#2){\@ifnextchar[{\@oval(#1,#2)}{\@oval(#1,#2)[]}} \gdef\@oval(#1,#2)[#3]{\begingroup\boxmaxdepth \maxdimen \@ovttrue \@ovbtrue \@ovltrue \@ovrtrue \@tfor\reserved@a :=#3\do{\csname @ov\reserved@a false\endcsname}% \@ovxx #1\unitlength \@ovyy #2\unitlength \@tempdimb \ifdim \@ovyy >\@ovxx \@ovxx\else \@ovyy \fi \advance \@tempdimb -2\p@ \@getcirc \@tempdimb \@ovro \ht\@tempboxa \@ovri \dp\@tempboxa \@ovdx\@ovxx \advance\@ovdx -\@tempdima \divide\@ovdx \tw@ \@ovdy\@ovyy \advance\@ovdy -\@tempdima \divide\@ovdy \tw@ \@circlefnt \setbox\@tempboxa \hbox{\if@ovr \@ovvert32\kern -\@tempdima \fi \if@ovl \kern \@ovxx \@ovvert01\kern -\@tempdima \kern -\@ovxx \fi \if@ovt \@ovhorz \kern -\@ovxx \fi \if@ovb \raise \@ovyy \@ovhorz \fi}\advance\@ovdx\@ovro \advance\@ovdy\@ovro \ht\@tempboxa\z@ \dp\@tempboxa\z@ \@put{-\@ovdx}{-\@ovdy}{\box\@tempboxa}% \endgroup} \gdef\@ovvert#1#2{\vbox to\@ovyy{% \if@ovb \@tempcntb \@tempcnta \advance \@tempcntb #1\relax \kern -\@ovro \hbox{\char \@tempcntb}\nointerlineskip \else \kern \@ovri \kern \@ovdy \fi \leaders\vrule \@width \@wholewidth\vfil \nointerlineskip \if@ovt \@tempcntb \@tempcnta \advance \@tempcntb #2\relax \hbox{\char \@tempcntb}% \else \kern \@ovdy \kern \@ovro \fi}} \gdef\@ovhorz{\hb@xt@\@ovxx{\kern \@ovro \if@ovr \else \kern \@ovdx \fi \leaders \hrule \@height \@wholewidth \hfil \if@ovl \else \kern \@ovdx \fi \kern \@ovri}} \gdef\circle{\@inmatherr\circle\@ifstar\@dot\@circle} \gdef\@circle#1{% \begingroup \boxmaxdepth \maxdimen \@tempdimb #1\unitlength \ifdim \@tempdimb >15.5\p@ \@getcirc\@tempdimb \@ovro\ht\@tempboxa \setbox\@tempboxa\hbox{\@circlefnt \advance\@tempcnta\tw@ \char \@tempcnta \advance\@tempcnta\m@ne \char \@tempcnta \kern -2\@tempdima \advance\@tempcnta\tw@ \raise \@tempdima \hbox{\char\@tempcnta}\raise \@tempdima \box\@tempboxa}\ht\@tempboxa\z@ \dp\@tempboxa\z@ \@put{-\@ovro}{-\@ovro}{\box\@tempboxa}% \else \@circ\@tempdimb{96}\fi\endgroup} \gdef\@dot#1{\@tempdimb #1\unitlength \@circ\@tempdimb{112}} \gdef\@circ#1#2{\@tempdima #1\relax \advance\@tempdima .5\p@ \@tempcnta\@tempdima \@tempdima \p@ \divide\@tempcnta\@tempdima \ifnum\@tempcnta >15\relax \@tempcnta 15\relax \fi \ifnum \@tempcnta >\z@ \advance\@tempcnta\m@ne\fi \advance\@tempcnta #2\relax \@circlefnt \char\@tempcnta} \newcount\@xarg \newcount\@yarg \newcount\@yyarg \newcount\@multicnt \newdimen\@xdim \newdimen\@ydim \newbox\@linechar \newdimen\@linelen \newdimen\@clnwd \newdimen\@clnht \newdimen\@dashdim \newbox\@dashbox \newcount\@dashcnt \let\@linefnt\tenln \let\@circlefnt\tencirc \@wholewidth\fontdimen8\tenln \@halfwidth .5\@wholewidth \gdef\qbeziermax{500} \newcommand\qbezier[2][0]{\bezier{#1}#2} \gdef\bezier#1)#2(#3)#4({\@bezier#1)(#3)(} \gdef\@bezier#1(#2,#3)(#4,#5)(#6,#7){% \ifnum #1=\z@ \@ovxx #4\unitlength \advance\@ovxx -#2\unitlength \ifdim \@ovxx<\z@ \@ovxx -\@ovxx \fi \@ovdx #6\unitlength \advance\@ovdx -#4\unitlength \ifdim \@ovdx<\z@ \@ovdx -\@ovdx \fi \ifdim \@ovxx<\@ovdx \@ovxx \@ovdx \fi \@ovyy #5\unitlength \advance\@ovyy -#3\unitlength \ifdim \@ovyy<\z@ \@ovyy -\@ovyy \fi \@ovdy #7\unitlength \advance\@ovdy -#5\unitlength \ifdim \@ovdy<\z@ \@ovdy -\@ovdy \fi \ifdim \@ovyy<\@ovdy \@ovyy \@ovdy \fi \@multicnt \ifdim \@ovxx>\@ovyy \@ovxx \else \@ovyy \fi \@ovxx .5\@halfwidth \divide\@multicnt\@ovxx \ifnum \qbeziermax<\@multicnt \@multicnt\qbeziermax\relax \fi \else \@multicnt#1\relax \fi \@tempcnta\@multicnt \advance\@tempcnta\@ne \@ovdx #4\unitlength \advance\@ovdx -#2\unitlength \multiply\@ovdx \tw@ \@ovxx #6\unitlength \advance\@ovxx -#2\unitlength \advance\@ovxx -\@ovdx \divide\@ovxx\@multicnt \@ovdy #5\unitlength \advance\@ovdy -#3\unitlength \multiply\@ovdy \tw@ \@ovyy #7\unitlength \advance\@ovyy -#3\unitlength \advance\@ovyy -\@ovdy \divide\@ovyy\@multicnt \setbox\@tempboxa\hbox{% \hskip -\@halfwidth \vrule \@height\@halfwidth \@depth \@halfwidth \@width \@wholewidth}% \put(#2,#3){% \count@\z@ \@whilenum{\count@<\@tempcnta}\do {\@xdim\count@\@ovxx \advance\@xdim\@ovdx \divide\@xdim\@multicnt \multiply\@xdim\count@ \@ydim\count@\@ovyy \advance\@ydim\@ovdy \divide\@ydim\@multicnt \multiply\@ydim\count@ \raise \@ydim \hb@xt@\z@{\kern\@xdim \unhcopy\@tempboxa\hss}% \advance\count@\@ne}}} %%% From File: ltthm.dtx \def\newtheorem#1{% \@ifnextchar[{\@othm{#1}}{\@nthm{#1}}} \def\@nthm#1#2{% \@ifnextchar[{\@xnthm{#1}{#2}}{\@ynthm{#1}{#2}}} \def\@xnthm#1#2[#3]{% \expandafter\@ifdefinable\csname #1\endcsname {\@definecounter{#1}\@newctr{#1}[#3]% \expandafter\xdef\csname the#1\endcsname{% \expandafter\noexpand\csname the#3\endcsname \@thmcountersep \@thmcounter{#1}}% \global\@namedef{#1}{\@thm{#1}{#2}}% \global\@namedef{end#1}{\@endtheorem}}} \def\@ynthm#1#2{% \expandafter\@ifdefinable\csname #1\endcsname {\@definecounter{#1}% \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}% \global\@namedef{#1}{\@thm{#1}{#2}}% \global\@namedef{end#1}{\@endtheorem}}} \def\@othm#1[#2]#3{% \@ifundefined{c@#2}{\@nocounterr{#2}}% {\expandafter\@ifdefinable\csname #1\endcsname {\global\@namedef{the#1}{\@nameuse{the#2}}% \global\@namedef{#1}{\@thm{#2}{#3}}% \global\@namedef{end#1}{\@endtheorem}}}} \def\@thm#1#2{% \refstepcounter{#1}% \@ifnextchar[{\@ythm{#1}{#2}}{\@xthm{#1}{#2}}} \def\@xthm#1#2{% \@begintheorem{#2}{\csname the#1\endcsname}\ignorespaces} \def\@ythm#1#2[#3]{% \@opargbegintheorem{#2}{\csname the#1\endcsname}{#3}\ignorespaces} \def\@thmcounter#1{\noexpand\arabic{#1}} \def\@thmcountersep{.} \def\@begintheorem#1#2{\trivlist \item[\hskip \labelsep{\bfseries #1\ #2}]\itshape} \def\@opargbegintheorem#1#2#3{\trivlist \item[\hskip \labelsep{\bfseries #1\ #2\ (#3)}]\itshape} \def\@endtheorem{\endtrivlist} %%% From File: ltsect.dtx \message{title,} \def\title#1{\gdef\@title{#1}} \def\@title{\@latex@error{No \noexpand\title given}\@ehc} \def\author#1{\gdef\@author{#1}} \def\@author{\@latex@warning@no@line{No \noexpand\author given}} \def\date#1{\gdef\@date{#1}} \gdef\@date{\today} \def\thanks#1{\footnotemark \protected@xdef\@thanks{\@thanks \protect\footnotetext[\the\c@footnote]{#1}}% } \let\@thanks\@empty \def\and{% % \begin{tabular} \end{tabular}% \hskip 1em \@plus.17fil% \begin{tabular}[t]{c}}% % \end{tabular} \message{sectioning,} \newcount\@secpenalty \@secpenalty = -300 \newif\if@noskipsec \@noskipsectrue \def\@startsection#1#2#3#4#5#6{% \if@noskipsec \leavevmode \fi \par \@tempskipa #4\relax \@afterindenttrue \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse \fi \if@nobreak \everypar{}% \else \addpenalty\@secpenalty\addvspace\@tempskipa \fi \@ifstar {\@ssect{#3}{#4}{#5}{#6}}% {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} \def\@sect#1#2#3#4#5#6[#7]#8{% \ifnum #2>\c@secnumdepth \let\@svsec\@empty \else \refstepcounter{#1}% \protected@edef\@svsec{\@seccntformat{#1}\relax}% \fi \@tempskipa #5\relax \ifdim \@tempskipa>\z@ \begingroup #6{% \@hangfrom{\hskip #3\relax\@svsec}% \interlinepenalty \@M #8\@@par}% \endgroup \csname #1mark\endcsname{#7}% \addcontentsline{toc}{#1}{% \ifnum #2>\c@secnumdepth \else \protect\numberline{\csname the#1\endcsname}% \fi #7}% \else \def\@svsechd{% #6{\hskip #3\relax \@svsec #8}% \csname #1mark\endcsname{#7}% \addcontentsline{toc}{#1}{% \ifnum #2>\c@secnumdepth \else \protect\numberline{\csname the#1\endcsname}% \fi #7}}% \fi \@xsect{#5}} \def\@xsect#1{% \@tempskipa #1\relax \ifdim \@tempskipa>\z@ \par \nobreak \vskip \@tempskipa \@afterheading \else \@nobreakfalse \global\@noskipsectrue \everypar{% \if@noskipsec \global\@noskipsecfalse {\setbox\z@\lastbox}% \clubpenalty\@M \begingroup \@svsechd \endgroup \unskip \@tempskipa #1\relax \hskip -\@tempskipa \else \clubpenalty \@clubpenalty \everypar{}% \fi}% \fi \ignorespaces} \def\@seccntformat#1{\csname the#1\endcsname\quad} \def\@ssect#1#2#3#4#5{% \@tempskipa #3\relax \ifdim \@tempskipa>\z@ \begingroup #4{% \@hangfrom{\hskip #1}% \interlinepenalty \@M #5\@@par}% \endgroup \else \def\@svsechd{#4{\hskip #1\relax #5}}% \fi \@xsect{#3}} \newif\if@afterindent \@afterindenttrue \def\@afterheading{% \@nobreaktrue \everypar{% \if@nobreak \@nobreakfalse \clubpenalty \@M \if@afterindent \else {\setbox\z@\lastbox}% \fi \else \clubpenalty \@clubpenalty \everypar{}% \fi}} \def\@hangfrom#1{\setbox\@tempboxa\hbox{{#1}}% \hangindent \wd\@tempboxa\noindent\box\@tempboxa} \newcount\c@secnumdepth \newcount\c@tocdepth \def\secdef#1#2{\@ifstar{#2}{\@dblarg{#1}}} \let\sectionmark\@gobble \let\subsectionmark\@gobble \let\subsubsectionmark\@gobble \let\paragraphmark\@gobble \let\subparagraphmark\@gobble \message{contents,} \def\@starttoc#1{% \begingroup \makeatletter \@input{\jobname.#1}% \if@filesw \expandafter\newwrite\csname tf@#1\endcsname \immediate\openout \csname tf@#1\endcsname \jobname.#1\relax \fi \@nobreakfalse \endgroup} \def\addcontentsline#1#2#3{% \addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}}} \long\def\addtocontents#1#2{% \protected@write\@auxout {\let\label\@gobble \let\index\@gobble \let\glossary\@gobble}% {\string\@writefile{#1}{#2}}} \def\contentsline#1{\csname l@#1\endcsname} \def\@dottedtocline#1#2#3#4#5{% \ifnum #1>\c@tocdepth \else \vskip \z@ \@plus.2\p@ {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip \parindent #2\relax\@afterindenttrue \interlinepenalty\@M \leavevmode \@tempdima #3\relax \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip {#4}\nobreak \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}\hfill \nobreak \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}% \par}% \fi} \def\numberline#1{\hb@xt@\@tempdima{#1\hfil}} %%% From File: ltfloat.dtx \message{floats,} \newcount\@floatpenalty \def\caption{% \ifx\@captype\@undefined \@latex@error{\noexpand\caption outside float}\@ehd \expandafter\@gobble \else \refstepcounter\@captype \expandafter\@firstofone \fi {\@dblarg{\@caption\@captype}}% } \long\def\@caption#1[#2]#3{% \par \addcontentsline{\csname ext@#1\endcsname}{#1}% {\protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}}% \begingroup \@parboxrestore \if@minipage \@setminipage \fi \normalsize \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par \endgroup} \def\@float#1{% \@ifnextchar[% {\@xfloat{#1}}% {\edef\reserved@a{\noexpand\@xfloat{#1}[\csname fps@#1\endcsname]}% \reserved@a}} \def\@dblfloat{% \if@twocolumn\let\reserved@a\@dbflt\else\let\reserved@a\@float\fi \reserved@a} \def\@xfloat #1[#2]{% \@nodocument \def \@captype {#1}% \def \@fps {#2}% \@onelevel@sanitize \@fps \def \reserved@b {!}% \ifx \reserved@b \@fps \@fpsadddefault \else \ifx \@fps \@empty \@fpsadddefault \fi \fi \ifhmode \@bsphack \@floatpenalty -\@Mii \else \@floatpenalty-\@Miii \fi \ifinner \@parmoderr\@floatpenalty\z@ \else \@next\@currbox\@freelist {% \@tempcnta \sixt@@n \expandafter \@tfor \expandafter \reserved@a \expandafter :\expandafter =\@fps \do {% \if \reserved@a h% \ifodd \@tempcnta \else \advance \@tempcnta \@ne \fi \fi \if \reserved@a t% \@setfpsbit \tw@ \fi \if \reserved@a b% \@setfpsbit 4% \fi \if \reserved@a p% \@setfpsbit 8% \fi \if \reserved@a !% \ifnum \@tempcnta>15 \advance\@tempcnta -\sixt@@n\relax \fi \fi }% \@tempcntb \csname ftype@\@captype \endcsname \multiply \@tempcntb \@xxxii \advance \@tempcnta \@tempcntb \global \count\@currbox \@tempcnta }% \@fltovf \fi \global \setbox\@currbox \color@vbox \normalcolor \vbox \bgroup \hsize\columnwidth \@parboxrestore \@floatboxreset } \def \@floatboxreset {% \reset@font \normalsize \@setminipage } \def \@setnobreak{% \if@nobreak \let\outer@nobreak\@nobreaktrue \@nobreakfalse \fi } \def \@setminipage{% \@minipagetrue \everypar{\@minipagefalse\everypar{}}% } \def\end@float{% \@endfloatbox \ifnum\@floatpenalty <\z@ \@largefloatcheck \@cons\@currlist\@currbox \ifnum\@floatpenalty <-\@Mii \penalty -\@Miv \@tempdima\prevdepth \vbox{}% \prevdepth\@tempdima \penalty\@floatpenalty \else \vadjust{\penalty -\@Miv \vbox{}\penalty\@floatpenalty}\@Esphack \fi \fi } \def\end@dblfloat{% \if@twocolumn \@endfloatbox \ifnum\@floatpenalty <\z@ \@largefloatcheck \@cons\@dbldeferlist\@currbox \fi \ifnum \@floatpenalty =-\@Mii \@Esphack\fi \else \end@float \fi } \def \@endfloatbox{% \par\vskip\z@skip %% \par\vskip\z@ added 15 Dec 87 \@minipagefalse \outer@nobreak \egroup %% end of vbox \color@endbox } \let\outer@nobreak\@empty \def \@largefloatcheck{% \ifdim \ht\@currbox>\textheight \@tempdima -\textheight \advance \@tempdima \ht\@currbox \@latex@warning {Float too large for page by \the\@tempdima}% \ht\@currbox \textheight \fi } \def\@dbflt#1{\@ifnextchar[{\@xdblfloat{#1}}{\@xdblfloat{#1}[tp]}} \def\@xdblfloat#1[#2]{% \@xfloat{#1}[#2]\hsize\textwidth\linewidth\textwidth} \def\@floatplacement{\global\@topnum\c@topnumber % Textpage bit, global: \global\@toproom \topfraction\@colht \global\@botnum \c@bottomnumber \global\@botroom \bottomfraction\@colht \global\@colnum \c@totalnumber % Floatpage bit, local: \@fpmin \floatpagefraction\@colht} \def \@dblfloatplacement {% \global \@dbltopnum \c@dbltopnumber \global \@dbltoproom \dbltopfraction\@colht \@textmin \@colht \advance \@textmin -\@dbltoproom \@fpmin \dblfloatpagefraction\textheight \@fptop \@dblfptop \@fpsep \@dblfpsep \@fpbot \@dblfpbot } \def\marginpar{% \ifhmode \@bsphack \@floatpenalty -\@Mii \else \@floatpenalty-\@Miii \fi \ifinner \@parmoderr \@floatpenalty\z@ \else \@next\@currbox\@freelist{}{}% \@next\@marbox\@freelist{\global\count\@marbox\m@ne}% {\@floatpenalty\z@ \@fltovf\def\@currbox{\@tempboxa}\def\@marbox{\@tempboxa}}% \fi \@ifnextchar [\@xmpar\@ympar} \long\def\@xmpar[#1]#2{% \@savemarbox\@marbox{#1}% \@savemarbox\@currbox{#2}% \@xympar} \long\def\@ympar#1{% \@savemarbox\@marbox{#1}% \global\setbox\@currbox\copy\@marbox \@xympar} \long\def \@savemarbox #1#2{% \global\setbox #1% \color@vbox \vtop{% \hsize\marginparwidth \@parboxrestore \@marginparreset #2% \@minipagefalse \outer@nobreak }% \color@endbox } \def \@marginparreset {% \reset@font \normalsize \@setminipage } \def \@xympar{% \ifnum\@floatpenalty <\z@\@cons\@currlist\@marbox\fi \setbox\@tempboxa \color@vbox \vbox \bgroup \end@float \@ignorefalse \@esphack } \def\reversemarginpar{\global\@mparbottom\z@ \@reversemargintrue} \def\normalmarginpar{\global\@mparbottom\z@ \@reversemarginfalse} \message{footnotes,} \newinsert\footins \skip\footins=\bigskipamount % space added when footnote is present \count\footins=1000 % footnote magnification factor (1 to 1) \dimen\footins=8in % maximum footnotes per page \def\footnoterule{\kern-3\p@ \hrule \@width 2in \kern 2.6\p@} % the \hrule is .4pt high \@definecounter{footnote} \def\thefootnote{\@arabic\c@footnote} \@definecounter{mpfootnote} \def\thempfootnote{{\itshape\@alph\c@mpfootnote}} \def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}} \DeclareRobustCommand*\textsuperscript[1]{% \@textsuperscript{\selectfont#1}} \def\@textsuperscript#1{% {\m@th\ensuremath{^{\mbox{\fontsize\sf@size\z@#1}}}}} \newdimen\footnotesep \def\footnote{\@ifnextchar[\@xfootnote{\stepcounter\@mpfn \protected@xdef\@thefnmark{\thempfn}% \@footnotemark\@footnotetext}} \def\@xfootnote[#1]{% \begingroup \csname c@\@mpfn\endcsname #1\relax \unrestored@protected@xdef\@thefnmark{\thempfn}% \endgroup \@footnotemark\@footnotetext} \long\def\@footnotetext#1{\insert\footins{% \reset@font\footnotesize \interlinepenalty\interfootnotelinepenalty \splittopskip\footnotesep \splitmaxdepth \dp\strutbox \floatingpenalty \@MM \hsize\columnwidth \@parboxrestore \protected@edef\@currentlabel{% \csname p@footnote\endcsname\@thefnmark }% \color@begingroup \@makefntext{% \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% \color@endgroup}}% \def\footnotemark{% \@ifnextchar[\@xfootnotemark {\stepcounter{footnote}% \protected@xdef\@thefnmark{\thefootnote}% \@footnotemark}} \def\@xfootnotemark[#1]{% \begingroup \c@footnote #1\relax \unrestored@protected@xdef\@thefnmark{\thefootnote}% \endgroup \@footnotemark} \def\@footnotemark{% \leavevmode \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi \@makefnmark \ifhmode\spacefactor\@x@sf\fi \relax} \def\footnotetext{% \@ifnextchar [\@xfootnotenext {\protected@xdef\@thefnmark{\thempfn}% \@footnotetext}} \def\@xfootnotenext[#1]{% \begingroup \csname c@\@mpfn\endcsname #1\relax \unrestored@protected@xdef\@thefnmark{\thempfn}% \endgroup \@footnotetext} \def\@mpfn{footnote} \def\thempfn{\thefootnote} %%% From File: ltidxglo.dtx \message{index,} \def\makeindex{% \newwrite\@indexfile \immediate\openout\@indexfile=\jobname.idx \def\index{\@bsphack\begingroup \@sanitize \@wrindex}\typeout {Writing index file \jobname.idx}% \let\makeindex\@empty } \@onlypreamble\makeindex \def\@wrindex#1{% \protected@write\@indexfile{}% {\string\indexentry{#1}{\thepage}}% \endgroup \@esphack} \def\index{\@bsphack\begingroup \@sanitize\@index} \def\@index#1{\endgroup\@esphack} \def\makeglossary{% \newwrite\@glossaryfile \immediate\openout\@glossaryfile=\jobname.glo \def\glossary{\@bsphack\begingroup \@sanitize \@wrglossary}\typeout {Writing glossary file \jobname.glo }% \let\makeglossary\@empty } \@onlypreamble\makeglossary \def\@wrglossary#1{% \protected@write\@glossaryfile{}% {\string\glossaryentry{#1}{\thepage}}% \endgroup \@esphack} \def\glossary{\@bsphack\begingroup\@sanitize\@index} %%% From File: ltbibl.dtx \message{bibliography,} \def\bibitem{\@ifnextchar[\@lbibitem\@bibitem} \def\@lbibitem[#1]#2{\item[\@biblabel{#1}\hfill]\if@filesw {\let\protect\noexpand \immediate \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces} \def\@bibitem#1{\item\if@filesw \immediate\write\@auxout {\string\bibcite{#1}{\the\value{\@listctr}}}\fi\ignorespaces} \def\bibcite{\@newl@bel b} \let\citation\@gobble \DeclareRobustCommand\cite{% \@ifnextchar [{\@tempswatrue\@citex}{\@tempswafalse\@citex[]}} \def\@citex[#1]#2{\leavevmode \let\@citea\@empty \@cite{\@for\@citeb:=#2\do {\@citea\def\@citea{,\penalty\@m\ }% \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}% \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi \@ifundefined{b@\@citeb}{\hbox{\reset@font\bfseries ?}% \G@refundefinedtrue \@latex@warning {Citation `\@citeb' on page \thepage \space undefined}}% {\@cite@ofmt{\csname b@\@citeb\endcsname}}}}{#1}} \let\bibdata=\@gobble \let\bibstyle=\@gobble \def\bibliography#1{% \if@filesw \immediate\write\@auxout{\string\bibdata{#1}}% \fi \@input@{\jobname.bbl}} \def\bibliographystyle#1{% \ifx\@begindocumenthook\@undefined\else \expandafter\AtBeginDocument \fi {\if@filesw \immediate\write\@auxout{\string\bibstyle{#1}}% \fi}} \def\nocite#1{\@bsphack \ifx\@onlypreamble\document \@for\@citeb:=#1\do{% \edef\@citeb{\expandafter\@firstofone\@citeb}% \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi \@ifundefined{b@\@citeb}{\G@refundefinedtrue \@latex@warning{Citation `\@citeb' undefined}}{}}% \else \@latex@error{Cannot be used in preamble}\@eha % \AtBeginDocument{\nocite{#1}} \fi \@esphack} \expandafter\let\csname b@*\endcsname\@empty \def\@cite#1#2{[{#1\if@tempswa , #2\fi}]} \let\@cite@ofmt\hbox \def\@biblabel#1{[#1]} %%% From File: ltpage.dtx \def\pagestyle#1{% \@ifundefined{ps@#1}% \undefinedpagestyle {\@nameuse{ps@#1}}} \def\thispagestyle#1{% \@ifundefined{ps@#1}% \undefinedpagestyle {\global\@specialpagetrue\gdef\@specialstyle{#1}}} \def\ps@empty{% \let\@mkboth\@gobbletwo\let\@oddhead\@empty\let\@oddfoot\@empty \let\@evenhead\@empty\let\@evenfoot\@empty} \def\ps@plain{\let\@mkboth\@gobbletwo \let\@oddhead\@empty\def\@oddfoot{\reset@font\hfil\thepage \hfil}\let\@evenhead\@empty\let\@evenfoot\@oddfoot} \let\@leftmark\@firstoftwo \let\@rightmark\@secondoftwo \def\markboth#1#2{% \begingroup \let\label\relax \let\index\relax \let\glossary\relax \unrestored@protected@xdef\@themark {{#1}{#2}}% \@temptokena \expandafter{\@themark}% \mark{\the\@temptokena}% \endgroup \if@nobreak\ifvmode\nobreak\fi\fi} \def\markright#1{% \begingroup \let\label\relax \let\index\relax \let\glossary\relax \expandafter\@markright\@themark {#1}% \@temptokena \expandafter{\@themark}% \mark{\the\@temptokena}% \endgroup \if@nobreak\ifvmode\nobreak\fi\fi} \def\@markright#1#2#3{\@temptokena {#1}% \unrestored@protected@xdef\@themark{{\the\@temptokena}{#3}}} \def\leftmark{\expandafter\@leftmark\botmark\@empty\@empty} \def\rightmark{\expandafter\@rightmark\firstmark\@empty\@empty} \def\@themark{{}{}} \def\raggedbottom{% \def\@textbottom{\vskip \z@ \@plus.0001fil}\let\@texttop\relax} \def\flushbottom{% \let\@textbottom\relax \let\@texttop\relax} \def\sloppy{% \tolerance 9999% \emergencystretch 3em% \hfuzz .5\p@ \vfuzz\hfuzz} \def\sloppypar{\par\sloppy} \def\endsloppypar{\par} \def\fussy{% \emergencystretch\z@ \tolerance 200% \hfuzz .1\p@ \vfuzz\hfuzz} \overfullrule 0pt %%% From File: ltoutput.dtx \expandafter\let\csname ver@autoout1.sty\endcsname\fmtversion \message{output,} \maxdeadcycles = 100 \let\@elt\relax \def\@next#1#2#3#4{\ifx#2\@empty #4\else \expandafter\@xnext #2\@@#1#2#3\fi} \def\@xnext \@elt #1#2\@@#3#4{\def#3{#1}\gdef#4{#2}} \def\@testfalse{\global\let\if@test\iffalse} \def\@testtrue {\global\let\if@test\iftrue} \@testfalse \def\@bitor#1#2{\@testfalse {\let\@elt\@xbitor \@tempcnta #1\relax #2}} \def\@xbitor #1{\@tempcntb \count#1 \ifnum \@tempcnta =\z@ \else \divide\@tempcntb\@tempcnta \ifodd\@tempcntb \@testtrue\fi \fi} \newinsert\bx@A \newinsert\bx@B \newinsert\bx@C \newinsert\bx@D \newinsert\bx@E \newinsert\bx@F \newinsert\bx@G \newinsert\bx@H \newinsert\bx@I \newinsert\bx@J \newinsert\bx@K \newinsert\bx@L \newinsert\bx@M \newinsert\bx@N \newinsert\bx@O \newinsert\bx@P \newinsert\bx@Q \newinsert\bx@R \gdef\@freelist{\@elt\bx@A\@elt\bx@B\@elt\bx@C\@elt\bx@D\@elt\bx@E \@elt\bx@F\@elt\bx@G\@elt\bx@H\@elt\bx@I\@elt\bx@J \@elt\bx@K\@elt\bx@L\@elt\bx@M\@elt\bx@N \@elt\bx@O\@elt\bx@P\@elt\bx@Q\@elt\bx@R} \gdef\@toplist{} \gdef\@botlist{} \gdef\@midlist{} \gdef\@currlist{} \gdef\@deferlist{} \gdef\@dbltoplist{} \gdef\@dbldeferlist{} \newdimen\topmargin \newdimen\oddsidemargin \newdimen\evensidemargin \let\@themargin=\oddsidemargin \newdimen\headheight \newdimen\headsep \newdimen\footskip \newdimen\textheight \newdimen\textwidth \newdimen\columnwidth \newdimen\columnsep \newdimen\columnseprule \newdimen\marginparwidth \newdimen\marginparsep \newdimen\marginparpush \newbox\@begindvibox \def \AtBeginDvi #1{% \global \setbox \@begindvibox \vbox{\unvbox \@begindvibox #1}% } \newdimen\@maxdepth \@maxdepth = \maxdepth \newdimen\paperheight \newdimen\paperwidth \newif \if@insert \newif \if@fcolmade \newif \if@specialpage \@specialpagefalse \newif \if@firstcolumn \@firstcolumntrue \newif \if@twocolumn \@twocolumnfalse \newif \if@twoside \@twosidefalse \newif \if@reversemargin \@reversemarginfalse \newif \if@mparswitch \@mparswitchfalse \newcount \col@number \col@number \@ne \newcount\@topnum \newdimen\@toproom \newcount\@dbltopnum \newdimen\@dbltoproom \newcount\@botnum \newdimen\@botroom \newcount\@colnum \newdimen\@textmin \newdimen\@fpmin \newdimen\@colht \newdimen\@colroom \newdimen\@pageht \newdimen\@pagedp \newdimen\@mparbottom \@mparbottom\z@ \newcount\@currtype \newbox\@outputbox \newbox\@leftcolumn \newbox\@holdpg \def\@thehead{\@oddhead} % initialization \def\@thefoot{\@oddfoot} \def\clearpage{% \ifvmode \ifnum \@dbltopnum =\m@ne \ifdim \pagetotal <\topskip \hbox{}% \fi \fi \fi \newpage \write\m@ne{}% \vbox{}% \penalty -\@Mi } \def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else \hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi} \def\onecolumn{% \clearpage \global\columnwidth\textwidth \global\hsize\columnwidth \global\linewidth\columnwidth \global\@twocolumnfalse \col@number \@ne \@floatplacement} \def \newpage {% \if@noskipsec \ifx \@nodocument\relax \leavevmode \global \@noskipsecfalse \fi \fi \if@inlabel \leavevmode \global \@inlabelfalse \fi \if@nobreak \@nobreakfalse \everypar{}\fi \par \vfil \penalty -\@M} \def \@emptycol {\vbox{}\penalty -\@M} \def \twocolumn {% \clearpage \global\columnwidth\textwidth \global\advance\columnwidth-\columnsep \global\divide\columnwidth\tw@ \global\hsize\columnwidth \global\linewidth\columnwidth \global\@twocolumntrue \global\@firstcolumntrue \col@number \tw@ \@ifnextchar [\@topnewpage\@floatplacement } \long\def \@topnewpage [#1]{% \@nodocument \@next\@currbox\@freelist{}{}% \global \setbox\@currbox \color@vbox \normalcolor \vbox {% \hsize\textwidth \@parboxrestore \col@number \@ne #1% \vskip -\dbltextfloatsep }% \color@endbox \ifdim \ht\@currbox>\textheight \ht\@currbox \textheight \fi \global \count\@currbox \tw@ \@tempdima -\ht\@currbox \advance \@tempdima -\dbltextfloatsep \global \advance \@colht \@tempdima \ifx \@dbltoplist \@empty \else \@latexerr{Float(s) lost}\@ehb \let \@dbltoplist \@empty \fi \@cons \@dbltoplist \@currbox \global \@dbltopnum \m@ne \ifdim \@colht<2.5\baselineskip \@latex@warning@no@line {Optional argument of \noexpand\twocolumn too tall on page \thepage}% \@emptycol \if@firstcolumn \else \@emptycol \fi \else \global \vsize \@colht \global \@colroom \@colht \@floatplacement \fi } \output {% \let \par \@@par \ifnum \outputpenalty<-\@M \@specialoutput \else \@makecol \@opcol \@startcolumn \@whilesw \if@fcolmade \fi {% \@opcol\@startcolumn}% \fi \ifnum \outputpenalty>-\@Miv \ifdim \@colroom<1.5\baselineskip \ifdim \@colroom<\textheight \@latex@warning@no@line {Text page \thepage\space contains only floats}% \@emptycol \else \global \vsize \@colroom \fi \else \global \vsize \@colroom \fi \else \global \vsize \maxdimen \fi } \gdef\@specialoutput{% \ifnum \outputpenalty>-\@Mii \@doclearpage \else \ifnum \outputpenalty<-\@Miii \ifnum \outputpenalty<-\@MM \deadcycles \z@ \fi \global \setbox\@holdpg \vbox {\unvbox\@cclv}% \else \global \setbox\@holdpg \vbox{% \unvbox\@holdpg \unvbox\@cclv \setbox\@tempboxa \lastbox \unskip }% \@pagedp \dp\@holdpg \@pageht \ht\@holdpg \unvbox \@holdpg \@next\@currbox\@currlist{% \ifnum \count\@currbox>\z@ \advance \@pageht \@pagedp \ifvoid\footins \else \advance \@pageht \ht\footins \advance \@pageht \skip\footins \advance \@pageht \dp\footins \fi \ifvbox \@kludgeins \ifdim \wd\@kludgeins=\z@ \advance \@pageht \ht\@kludgeins \fi \fi \@reinserts \@addtocurcol \else \@reinserts \@addmarginpar \fi }\@latexbug \ifnum \outputpenalty<\z@ \if@nobreak \nobreak \else \addpenalty \interlinepenalty \fi \fi \fi \fi } \def \@doclearpage {% \ifvoid\footins \ifvbox\@kludgeins {\setbox \@tempboxa \box \@kludgeins}% \fi \setbox\@tempboxa\vsplit\@cclv to\z@ \unvbox\@tempboxa \setbox\@tempboxa\box\@cclv \xdef\@deferlist{\@toplist\@botlist\@deferlist}% \global \let \@toplist \@empty \global \let \@botlist \@empty \global \@colroom \@colht \ifx \@currlist\@empty \else \@latexerr{Float(s) lost}\@ehb \global \let \@currlist \@empty \fi \@makefcolumn\@deferlist \@whilesw\if@fcolmade \fi{\@opcol\@makefcolumn\@deferlist}% \if@twocolumn \if@firstcolumn \xdef\@dbldeferlist{\@dbltoplist\@dbldeferlist}% \global \let \@dbltoplist \@empty \global \@colht \textheight \begingroup \@dblfloatplacement \@makefcolumn\@dbldeferlist \@whilesw\if@fcolmade \fi{\@outputpage \@makefcolumn\@dbldeferlist}% \endgroup \else \vbox{}\clearpage \fi \fi \else \setbox\@cclv\vbox{\box\@cclv\vfil}% \@makecol\@opcol \clearpage \fi } \def \@opcol {% \if@twocolumn \@outputdblcol \else \@outputpage \fi \global \@mparbottom \z@ \global \@textfloatsheight \z@ \@floatplacement } \gdef \@makecol {% \ifvoid\footins \setbox\@outputbox \box\@cclv \else \setbox\@outputbox \vbox {% \boxmaxdepth \@maxdepth \unvbox \@cclv \vskip \skip\footins \color@begingroup \normalcolor \footnoterule \unvbox \footins \color@endgroup }% \fi \let\@elt\relax \xdef\@freelist{\@freelist\@midlist}% \global \let \@midlist \@empty \@combinefloats \ifvbox\@kludgeins \@makespecialcolbox \else \setbox\@outputbox \vbox to\@colht {% \@texttop \dimen@ \dp\@outputbox \unvbox \@outputbox \vskip -\dimen@ \@textbottom }% \fi \global \maxdepth \@maxdepth } \gdef \@reinserts{% \ifvoid\footins\else\insert\footins{\unvbox\footins}\fi \ifvbox\@kludgeins\insert\@kludgeins {\unvbox\@kludgeins}\fi } \gdef \@makespecialcolbox {% \setbox\@outputbox \vbox {% \@texttop \dimen@ \dp\@outputbox \unvbox\@outputbox \vskip-\dimen@ }% \@tempdima \@colht \ifdim \wd\@kludgeins>\z@ \advance \@tempdima -\ht\@outputbox \advance \@tempdima \pageshrink \setbox\@outputbox \vbox to \@colht {% \unvbox\@outputbox \vskip \@tempdima \@textbottom }% \else \advance \@tempdima -\ht\@kludgeins \setbox \@outputbox \vbox to \@colht {% \vbox to \@tempdima {% \unvbox\@outputbox \@textbottom}% \vss}% \fi {\setbox \@tempboxa \box \@kludgeins}% } \let \@texttop \relax \let \@textbottom \relax \def\@activechar@info #1{% \@latex@info@no@line {Active #1 character found while output routine is active \MessageBreak This may be a bug in a package file you are using}% } \begingroup \obeylines\obeyspaces% \catcode`\'\active% \gdef\@resetactivechars{% \def^^M{\@activechar@info{EOL}\space}% \def {\@activechar@info{space}\space}% \let'\active@math@prime}% \endgroup \def\@outputpage{% \begingroup % the \endgroup is put in by \aftergroup \let \protect \noexpand \@resetactivechars \global\let\@@if@newlist\if@newlist \global\@newlistfalse \@parboxrestore \shipout \vbox{% \set@typeset@protect \aftergroup \endgroup \aftergroup \set@typeset@protect % correct? or just restore by ending % the group? \if@specialpage \global\@specialpagefalse\@nameuse{ps@\@specialstyle}% \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 \reset@font \normalsize \normalsfcodes \let\label\@gobble \let\index\@gobble \let\glossary\@gobble \baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@ \@begindvi \vskip \topmargin \moveright\@themargin \vbox {% \setbox\@tempboxa \vbox to\headheight{% \vfil \color@hbox \normalcolor \hb@xt@\textwidth{\@thehead}% \color@endbox }% %% 22 Feb 87 \dp\@tempboxa \z@ \box\@tempboxa \vskip \headsep \box\@outputbox \baselineskip \footskip \color@hbox \normalcolor \hb@xt@\textwidth{\@thefoot}% \color@endbox }% }% \global\let\if@newlist\@@if@newlist \global \@colht \textheight \stepcounter{page}% \let\firstmark\botmark } \def \@begindvi{% \unvbox \@begindvibox \global\let \@begindvi \@empty } \def \@combinefloats {% \ifx \@toplist\@empty \else \@cflt \fi \ifx \@botlist\@empty \else \@cflb \fi } \def \@cflt{% \let \@elt \@comflelt \setbox\@tempboxa \vbox{}% \@toplist \setbox\@outputbox \vbox{% \boxmaxdepth \maxdepth \unvbox\@tempboxa \vskip -\floatsep \topfigrule \vskip \textfloatsep \unvbox\@outputbox }% \let\@elt\relax \xdef\@freelist{\@freelist\@toplist}% \global\let\@toplist\@empty } \def \@cflb {% \let\@elt\@comflelt \setbox\@tempboxa \vbox{}% \@botlist \setbox\@outputbox \vbox{% \unvbox\@outputbox \vskip \textfloatsep \botfigrule \unvbox\@tempboxa \vskip -\floatsep }% \let\@elt\relax \xdef\@freelist{\@freelist\@botlist}% \global \let \@botlist\@empty } \def\@comflelt#1{\setbox\@tempboxa \vbox{\unvbox\@tempboxa\box #1\vskip\floatsep}} \def\@comdblflelt#1{\setbox\@tempboxa \vbox{\unvbox\@tempboxa\box #1\vskip\dblfloatsep}} \def \@combinedblfloats{% \ifx \@dbltoplist \@empty \else \setbox\@tempboxa \vbox{}% \let \@elt \@comdblflelt \@dbltoplist \let \@elt \relax \xdef \@freelist {\@freelist\@dbltoplist}% \global\let \@dbltoplist \@empty \setbox\@outputbox \vbox to\textheight {%\boxmaxdepth\maxdepth %% probably not needed, CAR \unvbox\@tempboxa\vskip-\dblfloatsep \ifnum \@dbltopnum>\m@ne \dblfigrule \fi \vskip \dbltextfloatsep \box\@outputbox }% \fi } \def \@startcolumn {% \global \@colroom \@colht \@tryfcolumn \@deferlist \if@fcolmade \else \begingroup \let \reserved@b \@deferlist \global \let \@deferlist \@empty \let \@elt \@scolelt \reserved@b \endgroup \fi } \def \@startdblcolumn {% \@tryfcolumn \@dbldeferlist \if@fcolmade \else \begingroup \let \reserved@b \@dbldeferlist \global \let \@dbldeferlist \@empty \let \@elt \@sdblcolelt \reserved@b \endgroup \fi } \def \@tryfcolumn #1{% \global \@fcolmadefalse \ifx #1\@empty \else \xdef\@trylist{#1}% \global \let \@failedlist \@empty \begingroup \let \@elt \@xtryfc \@trylist \endgroup \if@fcolmade \@vtryfc #1% \fi \fi } \def\@scolelt#1{\def\@currbox{#1}\@addtonextcol} \def\@sdblcolelt#1{\def\@currbox{#1}\@addtodblcol} \def\@vtryfc #1{% \global\setbox\@outputbox\vbox{}% \let\@elt\@wtryfc \@flsucceed \global\setbox\@outputbox \vbox to\@colht{% \vskip \@fptop \vskip -\@fpsep \unvbox \@outputbox \vskip \@fpbot}% \let\@elt\relax \xdef #1{\@failedlist\@flfail}% \xdef\@freelist{\@freelist\@flsucceed}} \def\@wtryfc #1{% \global\setbox\@outputbox\vbox{% \unvbox\@outputbox \vskip\@fpsep \box #1}} \def\@xtryfc #1{% \@next\reserved@a\@trylist{}{}% \@currtype \count #1% \divide\@currtype\@xxxii \multiply\@currtype\@xxxii \@bitor \@currtype \@failedlist \@testfp #1% \ifdim \ht #1>\@colht \@testtrue \fi \if@test \@cons\@failedlist #1% \else \@ytryfc #1% \fi} \def\@ytryfc #1{% \begingroup \gdef\@flsucceed{\@elt #1}% \global\let\@flfail\@empty \@tempdima\ht #1% \let\@elt\@ztryfc \@trylist \ifdim \@tempdima >\@fpmin \global\@fcolmadetrue \else \@cons\@failedlist #1% \fi \endgroup \if@fcolmade \let\@elt\@gobble \fi} \def\@ztryfc #1{% \@tempcnta \count#1% \divide\@tempcnta\@xxxii \multiply\@tempcnta\@xxxii \@bitor \@tempcnta {\@failedlist \@flfail}% \@testfp #1% \@tempdimb\@tempdima \advance\@tempdimb \ht#1% \advance\@tempdimb\@fpsep \ifdim \@tempdimb >\@colht \@testtrue \fi \if@test \@cons\@flfail #1% \else \@cons\@flsucceed #1% \@tempdima\@tempdimb \fi} \def \@addtobot {% \@getfpsbit 4\relax \ifodd \@tempcnta \@flsetnum \@botnum \ifnum \@botnum>\z@ \@tempswafalse \@flcheckspace \@botroom \@botlist \if@tempswa \global \maxdepth \z@ \@flupdates \@botnum \@botroom \@botlist \@inserttrue \fi \fi \fi } \def \@addtotoporbot {% \@getfpsbit \tw@ \ifodd \@tempcnta \@flsetnum \@topnum \ifnum \@topnum>\z@ \@tempswafalse \@flcheckspace \@toproom \@toplist \if@tempswa \@bitor\@currtype{\@midlist\@botlist}% \if@test \else \@flupdates \@topnum \@toproom \@toplist \@inserttrue \fi \fi \fi \fi \if@insert \else \@addtobot \fi } \def \@addtocurcol {% \@insertfalse \@setfloattypecounts \ifnum \@fpstype=8 \else \ifnum \@fpstype=24 \else \@flsettextmin \advance \@textmin \@textfloatsheight \@reqcolroom \@pageht \ifdim \@textmin>\@reqcolroom \@reqcolroom \@textmin \fi \advance \@reqcolroom \ht\@currbox \ifdim \@colroom>\@reqcolroom \@flsetnum \@colnum \ifnum \@colnum>\z@ \@bitor\@currtype\@deferlist \if@test \else \@bitor\@currtype\@botlist \if@test \@addtobot \else \ifodd \count\@currbox \advance \@reqcolroom \intextsep \ifdim \@colroom>\@reqcolroom \global \advance \@colnum \m@ne \global \advance \@textfloatsheight \ht\@currbox \global \advance \@textfloatsheight 2\intextsep \@cons \@midlist \@currbox \if@nobreak \nobreak \@nobreakfalse \everypar{}% \else \addpenalty \interlinepenalty \fi \vskip \intextsep \box\@currbox \penalty\interlinepenalty \vskip\intextsep \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi \outputpenalty \z@ \@inserttrue \fi \fi \if@insert \else \@addtotoporbot \fi \fi \fi \fi \fi \fi \fi \if@insert \else \@resethfps \@cons\@deferlist\@currbox \fi } \def\@addtonextcol{% \begingroup \@insertfalse \@setfloattypecounts \ifnum \@fpstype=8 \else \ifnum \@fpstype=24 \else \@flsettextmin \@reqcolroom \ht\@currbox \advance \@reqcolroom \@textmin \ifdim \@colroom>\@reqcolroom \@flsetnum \@colnum \ifnum\@colnum>\z@ \@bitor\@currtype\@deferlist \if@test \else \@addtotoporbot \fi \fi \fi \fi \fi \if@insert \else \@cons\@deferlist\@currbox \fi \endgroup } \def\@addtodblcol{% \begingroup \@insertfalse \@setfloattypecounts \@getfpsbit \tw@ \ifodd\@tempcnta \@flsetnum \@dbltopnum \ifnum \@dbltopnum>\z@ \@tempswafalse \ifdim \@dbltoproom>\ht\@currbox \@tempswatrue \else \ifnum \@fpstype<\sixt@@n \advance \@dbltoproom \@textmin \ifdim \@dbltoproom>\ht\@currbox \@tempswatrue \fi \advance \@dbltoproom -\@textmin \fi \fi \if@tempswa \@bitor \@currtype \@dbldeferlist \if@test \else \@tempdima -\ht\@currbox \advance\@tempdima -\ifx \@dbltoplist\@empty \dbltextfloatsep \else \dblfloatsep \fi \global \advance \@dbltoproom \@tempdima \global \advance \@colht \@tempdima \global \advance \@dbltopnum \m@ne \@cons \@dbltoplist \@currbox \@inserttrue \fi \fi \fi \fi \if@insert \else \@cons\@dbldeferlist\@currbox \fi \endgroup } \def\@addmarginpar{\@next\@marbox\@currlist{\@cons\@freelist\@marbox \@cons\@freelist\@currbox}\@latexbug\@tempcnta\@ne \if@twocolumn \if@firstcolumn \@tempcnta\m@ne \fi \else \if@mparswitch \ifodd\c@page \else\@tempcnta\m@ne \fi \fi \if@reversemargin \@tempcnta -\@tempcnta \fi \fi \ifnum\@tempcnta <\z@ \global\setbox\@marbox\box\@currbox \fi \@tempdima\@mparbottom \advance\@tempdima -\@pageht \advance\@tempdima\ht\@marbox \ifdim\@tempdima >\z@ \@latex@warning@no@line {Marginpar on page \thepage\space moved}% \else \@tempdima\z@ \fi \global\@mparbottom\@pageht \global\advance\@mparbottom\@tempdima \global\advance\@mparbottom\dp\@marbox \global\advance\@mparbottom\marginparpush \advance\@tempdima -\ht\@marbox \global\setbox \@marbox \vbox {\vskip \@tempdima \box \@marbox}% \global \ht\@marbox \z@ \global \dp\@marbox \z@ \kern -\@pagedp \nointerlineskip \hb@xt@\columnwidth {\ifnum \@tempcnta >\z@ \hskip\columnwidth \hskip\marginparsep \else \hskip -\marginparsep \hskip -\marginparwidth \fi \box\@marbox \hss}% \nointerlineskip \hbox{\vrule \@height\z@ \@width\z@ \@depth\@pagedp}} \newinsert \@kludgeins \global\dimen\@kludgeins \maxdimen \global\count\@kludgeins 1000 \gdef \enlargethispage {% \@ifstar {% \@enlargepage{\hbox{\kern\p@}}}% {% \@enlargepage\@empty}% } \gdef\@enlargepage#1#2{% \@tempskipa#2\relax \ifdim \@tempskipa>.5\maxdimen \@latexerr{Suggested\space extra\space height\space (\the\@tempskipa)\space dangerously\space large}\@eha \else \ifdim \vsize<.5\maxdimen \@bsphack \insert\@kludgeins{#1\vskip-\@tempskipa}% \@esphack \else \@latexerr{Page\space height\space already\space too\space large}\@eha \fi \fi } \def \suppressfloats {% \@ifnextchar [% \@flstop {\global \@colnum \z@}% } \def \@flstop [#1]{% \if t#1% \global \@topnum \z@ \fi \if b#1% \global \@botnum \z@ \fi } \newcount \@fpstype \newdimen \@reqcolroom \newdimen \@textfloatsheight \def \@fpsadddefault {% \edef \@fps {\@fps\csname fps@\@captype \endcsname}% \@latex@warning {% No positions in optional float specifier.\MessageBreak Default added (so using `\@fps')}% } \def \@setfloattypecounts {% \@currtype \count\@currbox \@fpstype \count\@currbox \divide\@currtype\@xxxii \multiply\@currtype\@xxxii \advance \@fpstype -\@currtype } \def \@getfpsbit {% \@boxfpsbit \@currbox } \def \@boxfpsbit #1#2{% \@tempcnta \count#1% \divide \@tempcnta #2\relax } \def \@testfp #1{% \@boxfpsbit #18\relax % Really `#1 8' for human readers! \ifodd \@tempcnta \else \@testtrue \fi } \def \@setfpsbit #1{% \@tempcntb \@tempcnta \divide \@tempcntb #1\relax \ifodd \@tempcntb \else \advance \@tempcnta #1\relax \fi } \def \@resethfps {% \let\reserved@a\@empty \ifnum \@fpstype=\@ne \def \reserved@a {!}% \@fpstype 17 \fi \ifnum \@fpstype=17 \global \advance \count\@currbox \tw@ \@latex@warning@no@line {% `\reserved@a h' float specifier changed to `\reserved@a ht'}% \fi } \def \@flsetnum #1{% \ifnum \@fpstype<\sixt@@n \ifnum #1=\z@ #1\@ne \fi \fi } \def \@flsettextmin {% \ifnum \@fpstype<\sixt@@n \@textmin \z@ \else \@textmin \textfraction\@colht \fi } \def \@flcheckspace #1#2{% \advance \@reqcolroom \ifx #2\@empty \textfloatsep \else \floatsep \fi \ifdim \@colroom>\@reqcolroom \ifdim #1>\ht\@currbox \@tempswatrue \else \ifnum \@fpstype<\sixt@@n \@tempswatrue \fi \fi \fi } \def \@flupdates #1#2#3{% \global \advance #1\m@ne \global \advance \@colnum \m@ne \@tempdima -\ht\@currbox \advance \@tempdima -\ifx #3\@empty \textfloatsep \else \floatsep \fi \global \advance #2\@tempdima \global \advance \@colroom \@tempdima \@cons #3\@currbox } \def\@makefcolumn #1{% \begingroup \@fpmin \z@ \let \@testfp \@gobble \@tryfcolumn #1% \endgroup } \def\@outputdblcol{% \if@firstcolumn \global \@firstcolumnfalse \global \setbox\@leftcolumn \box\@outputbox \else \global \@firstcolumntrue \setbox\@outputbox \vbox {% \hb@xt@\textwidth {% \hb@xt@\columnwidth {% \box\@leftcolumn \hss}% \hfil {\normalcolor\vrule \@width\columnseprule}% \hfil \hb@xt@\columnwidth {% \box\@outputbox \hss}% }% }% \@combinedblfloats \@outputpage \begingroup \@dblfloatplacement \@startdblcolumn \@whilesw\if@fcolmade \fi {\@outputpage \@startdblcolumn}% \endgroup \fi } \newcount\c@topnumber \setcounter{topnumber}{2} \newcommand\topfraction{.7} \newcount\c@bottomnumber \setcounter{bottomnumber}{1} \newcommand\bottomfraction{.3} \newcount\c@totalnumber \setcounter{totalnumber}{3} \newcommand\textfraction{.2} \newcommand\floatpagefraction{.5} \newcount\c@dbltopnumber \setcounter{dbltopnumber}{2} \newcommand\dbltopfraction{.7} \newcommand\dblfloatpagefraction{.5} \newskip\floatsep \newskip\textfloatsep \newskip\intextsep \setlength\floatsep {12\p@ \@plus 2\p@ \@minus 2\p@} \setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@} \setlength\intextsep {12\p@ \@plus 2\p@ \@minus 2\p@} \newskip\dblfloatsep \newskip\dbltextfloatsep \setlength\dblfloatsep {12\p@ \@plus 2\p@ \@minus 2\p@} \setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@} \newskip\@fptop \newskip\@fpsep \newskip\@fpbot \setlength\@fptop{0\p@ \@plus 1fil} \setlength\@fpsep{8\p@ \@plus 2fil} \setlength\@fpbot{0\p@ \@plus 1fil} \newskip\@dblfptop \newskip\@dblfpsep \newskip\@dblfpbot \setlength\@dblfptop{0\p@ \@plus 1fil} \setlength\@dblfpsep{8\p@ \@plus 2fil} \setlength\@dblfpbot{0\p@ \@plus 1fil} \let\topfigrule=\relax \let\botfigrule=\relax \let\dblfigrule=\relax %%% From File: ltclass.dtx \newif\if@compatibility \def\@documentclasshook{% \ifx\@normalsize\@undefined \let\@normalsize\normalsize \fi } \let\@declaredoptions\@empty \let\@classoptionslist\relax \@onlypreamble\@classoptionslist \let\@unusedoptionlist\@empty \@onlypreamble\@unusedoptionlist \let\CurrentOption\@empty \let\@currname\@empty \global\let\@currext=\@empty \def\@clsextension{cls} \def\@pkgextension{sty} \@onlypreamble\@clsextension \@onlypreamble\@pkgextension \def\@pushfilename{% \xdef\@currnamestack{% {\@currname}% {\@currext}% {\the\catcode`\@}% \@currnamestack}} \@onlypreamble\@pushfilename \def\@popfilename{\expandafter\@p@pfilename\@currnamestack\@nil} \@onlypreamble\@popfilename \def\@p@pfilename#1#2#3#4\@nil{% \gdef\@currname{#1}% \gdef\@currext{#2}% \catcode`\@#3\relax \gdef\@currnamestack{#4}} \@onlypreamble\@p@pfilename \gdef\@currnamestack{} \@onlypreamble\@currnamestack \def\@ptionlist#1{% \@ifundefined{opt@#1}\@empty{\csname opt@#1\endcsname}} \@onlypreamble\@ptionlist \def\@ifpackageloaded{\@ifl@aded\@pkgextension} \def\@ifclassloaded{\@ifl@aded\@clsextension} \@onlypreamble\@ifpackageloaded \@onlypreamble\@ifclassloaded \def\@ifl@aded#1#2{% \expandafter\ifx\csname ver@#2.#1\endcsname\relax \expandafter\@secondoftwo \else \expandafter\@firstoftwo \fi} \@onlypreamble\@ifl@aded \def\@ifpackagelater{\@ifl@ter\@pkgextension} \def\@ifclasslater{\@ifl@ter\@clsextension} \@onlypreamble\@ifpackagelater \@onlypreamble\@ifclasslater \def\@ifl@ter#1#2{% \expandafter\@ifl@t@r \csname ver@#2.#1\endcsname} \@onlypreamble\@ifl@ter \def\@ifl@t@r#1#2{% \ifnum\expandafter\@parse@version#1//00\@nil<% \expandafter\@parse@version#2//00\@nil \expandafter\@secondoftwo \else \expandafter\@firstoftwo \fi} \@onlypreamble\@ifl@t@r \def\@parse@version#1/#2/#3#4#5\@nil{#1#2#3#4 } \@onlypreamble\@parse@version \def\@ifpackagewith{\@if@ptions\@pkgextension} \def\@ifclasswith{\@if@ptions\@clsextension} \@onlypreamble\@ifpackagewith \@onlypreamble\@ifclasswith \def\@if@ptions#1#2{% \@expandtwoargs\@if@pti@ns{\@ptionlist{#2.#1}}} \@onlypreamble\@if@ptions \def\@if@pti@ns#1#2{% \let\reserved@a\@firstoftwo \@for\reserved@b:=#2\do{% \expandafter\in@\expandafter{\expandafter,\reserved@b,}{,#1,}% \ifin@\else\let\reserved@a\@secondoftwo\fi}% \reserved@a} \@onlypreamble\@if@pti@ns \def\ProvidesPackage#1{% \xdef\@gtempa{#1}% \ifx\@gtempa\@currname\else \@latex@warning@no@line{You have requested \@cls@pkg\space`\@currname',\MessageBreak but the \@cls@pkg\space provides `#1'}% \fi \@ifnextchar[\@pr@videpackage{\@pr@videpackage[]}}%] \@onlypreamble\ProvidesPackage \def\@pr@videpackage[#1]{% \expandafter\xdef\csname ver@\@currname.\@currext\endcsname{#1}% \ifx\@currext\@clsextension \typeout{Document Class: \@gtempa\space#1}% \else \wlog{Package: \@gtempa\space#1}% \fi} \@onlypreamble\@pr@videpackage \let\ProvidesClass\ProvidesPackage \@onlypreamble\ProvidesClass \def\ProvidesFile#1{% \begingroup \catcode`\ 10 % \ifnum \endlinechar<256 % \ifnum \endlinechar>\m@ne \catcode\endlinechar 10 % \fi \fi \@makeother\/% \@makeother\&% \kernel@ifnextchar[{\@providesfile{#1}}{\@providesfile{#1}[]}} \def\@pass@ptions#1#2#3{% \expandafter\xdef\csname opt@#3.#1\endcsname{% \@ifundefined{opt@#3.#1}\@empty {\csname opt@#3.#1\endcsname,}% \zap@space#2 \@empty}} \@onlypreamble\@pass@ptions \def\PassOptionsToPackage{\@pass@ptions\@pkgextension} \def\PassOptionsToClass{\@pass@ptions\@clsextension} \@onlypreamble\PassOptionsToPackage \@onlypreamble\PassOptionsToClass \def\DeclareOption{% \let\@fileswith@pti@ns\@badrequireerror \@ifstar\@defdefault@ds\@declareoption} \long\def\@declareoption#1#2{% \xdef\@declaredoptions{\@declaredoptions,#1}% \toks@{#2}% \expandafter\edef\csname ds@#1\endcsname{\the\toks@}} \long\def\@defdefault@ds#1{% \toks@{#1}% \edef\default@ds{\the\toks@}} \@onlypreamble\DeclareOption \@onlypreamble\@declareoption \@onlypreamble\@defdefault@ds \def\OptionNotUsed{% \ifx\@currext\@clsextension \xdef\@unusedoptionlist{% \ifx\@unusedoptionlist\@empty\else\@unusedoptionlist,\fi \CurrentOption}% \fi} \@onlypreamble\OptionNotUsed \def\ProcessOptions{% \let\ds@\@empty \edef\@curroptions{\@ptionlist{\@currname.\@currext}}% \@ifstar\@xprocess@ptions\@process@ptions} \@onlypreamble\ProcessOptions \def\@process@ptions{% \@for\CurrentOption:=\@declaredoptions\do{% \ifx\CurrentOption\@empty\else \@expandtwoargs\in@{,\CurrentOption,}{% ,\ifx\@currext\@clsextension\else\@classoptionslist,\fi \@curroptions,}% \ifin@ \@use@ption \expandafter\let\csname ds@\CurrentOption\endcsname\@empty \fi \fi}% \@process@pti@ns} \@onlypreamble\@process@ptions \def\@xprocess@ptions{% \ifx\@currext\@clsextension\else \@for\CurrentOption:=\@classoptionslist\do{% \ifx\CurrentOption\@empty\else \@expandtwoargs\in@{,\CurrentOption,}{,\@declaredoptions,}% \ifin@ \@use@ption \expandafter\let\csname ds@\CurrentOption\endcsname\@empty \fi \fi}% \fi \@process@pti@ns} \@onlypreamble\@xprocess@ptions \def\@process@pti@ns{% \@for\CurrentOption:=\@curroptions\do{% \@ifundefined{ds@\CurrentOption}% {\@use@ption \default@ds}% \@use@ption}% \@for\CurrentOption:=\@declaredoptions\do{% \expandafter\let\csname ds@\CurrentOption\endcsname\relax}% \let\CurrentOption\@empty \let\@fileswith@pti@ns\@@fileswith@pti@ns \AtEndOfPackage{\let\@unprocessedoptions\relax}} \@onlypreamble\@process@pti@ns \def\@options{\ProcessOptions*} \@onlypreamble\@options \def\@use@ption{% \@expandtwoargs\@removeelement\CurrentOption \@unusedoptionlist\@unusedoptionlist \csname ds@\CurrentOption\endcsname} \@onlypreamble\@use@ption \def\ExecuteOptions#1{% \def\reserved@a##1\@nil{% \@for\CurrentOption:=#1\do{\csname ds@\CurrentOption\endcsname}% \edef\CurrentOption{##1}}% \expandafter\reserved@a\CurrentOption\@nil} \@onlypreamble\ExecuteOptions \def\documentclass{% \let\documentclass\@twoclasseserror \if@compatibility\else\let\usepackage\RequirePackage\fi \@fileswithoptions\@clsextension} \@onlypreamble\documentclass \def\documentstyle{% \makeatletter\input{latex209.def}\makeatother \documentclass} \@onlypreamble\documentstyle \def\RequirePackage{% \@fileswithoptions\@pkgextension} \@onlypreamble\RequirePackage \def\LoadClass{% \ifx\@currext\@pkgextension \@latex@error {\noexpand\LoadClass in package file}% {You may only use \noexpand\LoadClass in a class file.}% \fi \@fileswithoptions\@clsextension} \@onlypreamble\LoadClass \def\@loadwithoptions#1#2#3{% \expandafter\let\csname opt@#3.#1\expandafter\endcsname \csname opt@\@currname.\@currext\endcsname #2{#3}} \@onlypreamble\@loadwithoptions \def\LoadClassWithOptions{% \@loadwithoptions\@clsextension\LoadClass} \@onlypreamble\LoadClassWithOptions \def\RequirePackageWithOptions{% \AtEndOfPackage{\let\@unprocessedoptions\relax}% \@loadwithoptions\@pkgextension\RequirePackage} \@onlypreamble\RequirePackageWithOptions \def\usepackage#1#{% \@latex@error {\noexpand \usepackage before \string\documentclass}% {\noexpand \usepackage may only appear in the document preamble, i.e.,\MessageBreak between \noexpand\documentclass and \string\begin{document}.}% \@gobble} \@onlypreamble\usepackage \def\NeedsTeXFormat#1{% \def\reserved@a{#1}% \ifx\reserved@a\fmtname \expandafter\@needsformat \else \@latex@error{This file needs format `\reserved@a'% \MessageBreak but this is `\fmtname'}{% The current input file will not be processed further,\MessageBreak because it was written for some other flavor of TeX.\MessageBreak\@ehd}% \endinput \fi} \@onlypreamble\NeedsTeXFormat \def\@needsformat{% \@ifnextchar[%] \@needsf@rmat {}} \@onlypreamble\@needsformat \def\@needsf@rmat[#1]{% \@ifl@t@r\fmtversion{#1}{}% {\@latex@warning@no@line {You have requested release `#1' of LaTeX,\MessageBreak but only release `\fmtversion' is available}}} \@onlypreamble\@needsf@rmat \def\zap@space#1 #2{% #1% \ifx#2\@empty\else\expandafter\zap@space\fi #2} \def\@fileswithoptions#1{% \@ifnextchar[%] {\@fileswith@ptions#1}% {\@fileswith@ptions#1[]}} \@onlypreamble\@fileswithoptions \def\@fileswith@ptions#1[#2]#3{% \@ifnextchar[%] {\@fileswith@pti@ns#1[{#2}]#3}% {\@fileswith@pti@ns#1[{#2}]#3[]}} \@onlypreamble\@fileswith@ptions \def\@fileswith@pti@ns#1[#2]#3[#4]{% \ifx#1\@clsextension \ifx\@classoptionslist\relax \xdef\@classoptionslist{\zap@space#2 \@empty}% \def\reserved@a{% \@onefilewithoptions#3[{#2}][{#4}]#1% \@documentclasshook}% \else \def\reserved@a{% \@onefilewithoptions#3[{#2}][{#4}]#1}% \fi \else \def\reserved@b##1,{% \ifx\@nil##1\relax\else \ifx\relax##1\relax\else \noexpand\@onefilewithoptions##1[{#2}][{#4}]% \noexpand\@pkgextension \fi \expandafter\reserved@b \fi}% \edef\reserved@a{\zap@space#3 \@empty}% \edef\reserved@a{\expandafter\reserved@b\reserved@a,\@nil,}% \fi \reserved@a} \@onlypreamble\@fileswith@pti@ns \def\@onefilewithoptions#1[#2][#3]#4{% \@pushfilename \xdef\@currname{#1}% \global\let\@currext#4% \expandafter\let\csname\@currname.\@currext-h@@k\endcsname\@empty \let\CurrentOption\@empty \@reset@ptions \makeatletter \def\reserved@a{% \@ifl@aded\@currext{#1}% {\@if@ptions\@currext{#1}{#2}{}% {\@latex@error {Option clash for \@cls@pkg\space #1}% {The package #1 has already been loaded with options:\MessageBreak \space\space[\@ptionlist{#1.\@currext}]\MessageBreak There has now been an attempt to load it with options\MessageBreak \space\space[#2]\MessageBreak Adding the global options:\MessageBreak \space\space \@ptionlist{#1.\@currext},#2\MessageBreak to your \noexpand\documentclass declaration may fix this.% \MessageBreak Try typing \space \space to proceed.}}}% {\@pass@ptions\@currext{#2}{#1}% \global\expandafter \let\csname ver@\@currname.\@currext\endcsname\@empty \InputIfFileExists {\@currname.\@currext}% {}% {\@missingfileerror\@currname\@currext}% \let\@unprocessedoptions\@@unprocessedoptions \csname\@currname.\@currext-h@@k\endcsname \expandafter\let\csname\@currname.\@currext-h@@k\endcsname \@undefined \@unprocessedoptions} \@ifl@ter\@currext{#1}{#3}{}% {\@latex@warning@no@line {You have requested,\on@line, version\MessageBreak `#3' of \@cls@pkg\space #1,\MessageBreak but only version\MessageBreak `\csname ver@#1.\@currext\endcsname'\MessageBreak is available}}% \ifx\@currext\@clsextension\let\LoadClass\@twoloadclasserror\fi \@popfilename \@reset@ptions}% \reserved@a} \@onlypreamble\@onefilewithoptions \let\@@fileswith@pti@ns\@fileswith@pti@ns \@onlypreamble\@@fileswith@pti@ns \def\@reset@ptions{% \global\ifx\@currext\@clsextension \let\default@ds\OptionNotUsed \else \let\default@ds\@unknownoptionerror \fi \global\let\ds@\@empty \global\let\@declaredoptions\@empty} \@onlypreamble\@reset@ptions \ifx\@begindocumenthook\@undefined \let\@begindocumenthook\@empty \fi \let\@enddocumenthook\@empty \long\def\g@addto@macro#1#2{% \begingroup \toks@\expandafter{#1#2}% \xdef#1{\the\toks@}% \endgroup} \def\AtEndOfPackage{% \expandafter\g@addto@macro\csname\@currname.\@currext-h@@k\endcsname} \let\AtEndOfClass\AtEndOfPackage \@onlypreamble\AtEndOfPackage \@onlypreamble\AtEndOfClass \def\AtBeginDocument{\g@addto@macro\@begindocumenthook} \def\AtEndDocument{\g@addto@macro\@enddocumenthook} \@onlypreamble\AtBeginDocument \def\@cls@pkg{% \ifx\@currext\@clsextension document class% \else package% \fi} \@onlypreamble\@cls@pkg \def\@unknownoptionerror{% \@latex@error {Unknown option `\CurrentOption' for \@cls@pkg\space`\@currname'}% {The option `\CurrentOption' was not declared in \@cls@pkg\space`\@currname', perhaps you\MessageBreak misspelled its name. Try typing \space \space to proceed.}} \@onlypreamble\@unknownoptionerror \def\@@unprocessedoptions{% \ifx\@currext\@pkgextension \edef\@curroptions{\@ptionlist{\@currname.\@currext}}% \@for\CurrentOption:=\@curroptions\do{% \ifx\CurrentOption\@empty\else\@unknownoptionerror\fi}% \fi} \@onlypreamble\@unprocessedoptions \@onlypreamble\@@unprocessedoptions \def\@badrequireerror#1[#2]#3[#4]{% \@latex@error {\noexpand\RequirePackage or \noexpand\LoadClass in Options Section}% {The \@cls@pkg\space `\@currname' is defective.\MessageBreak It attempts to load `#3' in the options section, i.e.,\MessageBreak between \noexpand\DeclareOption and \string\ProcessOptions.}} \@onlypreamble\@badrequireerror \def\@twoloadclasserror{% \@latex@error {Two \noexpand\LoadClass commands}% {You may only use one \noexpand\LoadClass in a class file}} \@onlypreamble\@twoloadclasserror \def\@twoclasseserror#1#{% \@latex@error {Two \noexpand\documentclass or \noexpand\documentstyle commands}% {The document may only declare one class.}\@gobble} \@onlypreamble\@twoclasseserror \def\two@digits#1{\ifnum#1<10 0\fi\number#1} \begingroup% \catcode`\*=11 % \catcode`\^^M\active% \catcode`\^^L\active\let^^L\relax% \catcode`\^^I\active% \gdef\filecontents{\@tempswatrue\filec@ntents}% \gdef\filecontents*{\@tempswafalse\filec@ntents}% \gdef\filec@ntents#1{% \openin\@inputcheck#1 % \ifeof\@inputcheck% \@latex@warning@no@line% {Writing file `\@currdir#1'}% \chardef\reserved@c15 % \ch@ck7\reserved@c\write% \immediate\openout\reserved@c#1\relax% \else% \closein\@inputcheck% \@latex@warning@no@line% {File `#1' already exists on the system.\MessageBreak% Not generating it from this source}% \let\write\@gobbletwo% \let\closeout\@gobble% \fi% \if@tempswa% \immediate\write\reserved@c{% \@percentchar\@percentchar\space% \expandafter\@gobble\string\LaTeX2e file `#1'^^J% \@percentchar\@percentchar\space generated by the % `\@currenvir' \expandafter\@gobblefour\string\newenvironment^^J% \@percentchar\@percentchar\space from source `\jobname' on % \number\year/\two@digits\month/\two@digits\day.^^J% \@percentchar\@percentchar}% \fi% \let\do\@makeother\dospecials% \edef\E{\@backslashchar end\string{\@currenvir\string}}% \edef\reserved@b{% \def\noexpand\reserved@b% ####1\E####2\E####3\relax}% \reserved@b{% \ifx\relax##3\relax% \immediate\write\reserved@c{##1}% \else% \edef^^M{\noexpand\end{\@currenvir}}% \ifx\relax##1\relax% \else% \@latex@warning{Writing text `##1' before % \string\end{\@currenvir}\MessageBreak as last line of #1}% \immediate\write\reserved@c{##1}% \fi% \ifx\relax##2\relax% \else% \@latex@warning{% Ignoring text `##2' after \string\end{\@currenvir}}% \fi% \fi% ^^M}% \catcode`\^^L\active% \let\L\@undefined% \def^^L{\@ifundefined L^^J^^J^^J}% \catcode`\^^I\active% \let\I\@undefined% \def^^I{\@ifundefined I\space\space}% \catcode`\^^M\active% \edef^^M##1^^M{% \noexpand\reserved@b##1\E\E\relax}}% \endgroup% \begingroup \catcode`|=\catcode`\% \catcode`\%=12 \catcode`\*=11 \gdef\@percentchar{%} \gdef\endfilecontents{| \immediate\closeout\reserved@c \def\T##1##2##3{| \ifx##1\@undefined\else \@latex@warning@no@line{##2 has been converted to Blank ##3e}| \fi}| \T\L{Form Feed}{Lin}| \T\I{Tab}{Spac}| \immediate\write\@unused{}} \global\let\endfilecontents*\endfilecontents \@onlypreamble\filecontents \@onlypreamble\endfilecontents \@onlypreamble\filecontents* \@onlypreamble\endfilecontents* \endgroup \@onlypreamble\filec@ntents %%% From File: ltfinal.dtx \tracingstats1 \newcount\@lowpenalty \newcount\@medpenalty \newcount\@highpenalty \unitlength = 1pt \fboxsep = 3pt \fboxrule = .4pt \@maxdepth = \maxdepth \vsize = 1000pt \@colroom = \vsize \@colht = \vsize \textheight=.5\maxdimen \textwidth=\textheight \ps@empty \def\reserved@a#1#2{% \@tempcnta#1\relax \@tempcntb#2\relax \reserved@b } \def\reserved@b{% \ifnum\@tempcnta>\@tempcntb\else \reserved@c\@tempcnta \advance\@tempcnta\@ne \expandafter\reserved@b \fi } \def\reserved@c#1{% \count@=#1\advance\count@ by -"20 \uccode#1=\count@ \lccode#1=#1 } \reserved@a{`\a}{`\z} \ifnum\inputlineno=\m@ne\else \reserved@a{"A0}{"BC} \reserved@a{"E0}{"FF} \fi \def\reserved@c#1{% \count@=#1\advance\count@ by "20 \uccode#1=#1 \lccode#1=\count@ \sfcode#1=999 } \reserved@a{`\A}{`\Z} \ifnum\inputlineno=\m@ne\else \reserved@a{"80}{"9C} \reserved@a{"C0}{"DF} \fi \uccode`\^^Y=`\I % dotless i \lccode`\^^Y=`\^^Y % dotless i \uccode`\^^Z=`\J % dotless j, ae in OT1 \lccode`\^^Z=`\^^Z % dotless j, ae in OT1 \ifnum\inputlineno=\m@ne\else \lccode`\^^9d=`\i % dotted I \uccode`\^^9d=`\^^9d % dotted I \lccode`\^^9e=`\^^9e % d-bar \uccode`\^^9e=`\^^d0 % d-bar \fi \lccode`\^^[=`\^^[ % oe in OT1 \lccode`\- =`\- % default hyphen char \lccode 127=127 % alternate hyphen char \lccode 23 =23 % textcompwordmark in T1 \InputIfFileExists{hyphen.cfg} {\typeout{===========================================^^J% Local configuration file hyphen.cfg used^^J% ===========================================}% \def\@addtofilelist##1{\xdef\@filelist{\@filelist,##1}}% } {\input{hyphen.ltx}} \let\@addtofilelist\@gobble \ifdim \font@submax >\z@ \@font@warning{Size substitutions with differences\MessageBreak up to \font@submax\space have occurred.\MessageBreak \MessageBreak Please check the transcript file carefully\MessageBreak and redo the format generation if necessary! \@gobbletwo}% \errhelp{Only stopped, to give you time to read the above message.} \errmessage{} \def\font@submax{0pt} \fi \def\reserved@a#1#2{% \@tempcnta#1\relax \@tempcntb#2\relax \reserved@b } \def\reserved@b{% \ifnum\@tempcnta>\@tempcntb\else \reserved@c\@tempcnta \advance\@tempcnta\@ne \expandafter\reserved@b \fi } \catcode`\ =10 \catcode`\#=6 \catcode`\$=3 \catcode`\%=14 \catcode`\&=4 \catcode`\\=0 \catcode`\^=7 \catcode`\_=8 \catcode`\{=1 \catcode`\}=2 \catcode`\~=13 \catcode`\@=11 \catcode`\^^I=10 \catcode`\^^J=12 \catcode`\^^L=13 \catcode`\^^M=5 \def\reserved@c#1{\catcode#1=12\relax} \reserved@c{`\!} \reserved@c{`\"} \reserved@a{`\'}{`\?} \reserved@c{`\[} \reserved@c{`\]} \reserved@c{`\`} \reserved@c{`\|} \def\reserved@c#1{\catcode#1=11\relax} \reserved@a{`\A}{`\Z} \reserved@a{`\a}{`\z} \def\reserved@c#1{\catcode#1=15\relax} \reserved@a{0}{`\^^H} \reserved@c{`\^^K} \reserved@a{`\^^N}{31} \catcode"7F=15 \def\reserved@c#1{% \count@=#1\advance\count@ by -"20 \uccode#1=\count@ \lccode#1=#1 } \reserved@a{`\a}{`\z} \ifnum\inputlineno=\m@ne\else \reserved@a{"A0}{"BC} \reserved@a{"E0}{"FF} \fi \def\reserved@c#1{% \count@=#1\advance\count@ by "20 \uccode#1=#1 \lccode#1=\count@ \sfcode#1=999 } \reserved@a{`\A}{`\Z} \ifnum\inputlineno=\m@ne\else \reserved@a{"80}{"9C} \reserved@a{"C0}{"DF} \fi \uccode`\^^Y=`\I % dotless i \lccode`\^^Y=`\^^Y % dotless i \uccode`\^^Z=`\J % dotless j, ae in OT1 \lccode`\^^Z=`\^^Z % dotless j, ae in OT1 \ifnum\inputlineno=\m@ne\else \lccode`\^^9d=`\i % dotted I \uccode`\^^9d=`\^^9d % dotted I \lccode`\^^9e=`\^^9e % d-bar \uccode`\^^9e=`\^^d0 % d-bar \fi \lccode`\^^[=`\^^[ % oe in OT1 \DeclareRobustCommand{\MakeUppercase}[1]{{% \def\i{I}\def\j{J}% \def\reserved@a##1##2{\let##1##2\reserved@a}% \expandafter\reserved@a\@uclclist\reserved@b{\reserved@b\@gobble}% \protected@edef\reserved@a{\uppercase{#1}}% \reserved@a }} \DeclareRobustCommand{\MakeLowercase}[1]{{% \def\reserved@a##1##2{\let##2##1\reserved@a}% \expandafter\reserved@a\@uclclist\reserved@b{\reserved@b\@gobble}% \protected@edef\reserved@a{\lowercase{#1}}% \reserved@a }} \def\@uclclist{\oe\OE\o\O\ae\AE \dh\DH\dj\DJ\l\L\ng\NG\ss\SS\th\TH} \protected@edef\MakeUppercase#1{\MakeUppercase{#1}} \protected@edef\MakeLowercase#1{\MakeLowercase{#1}} \IfFileExists{ltpatch.ltx} {\typeout{=================================^^J% Applying patch file ltpatch.ltx^^J% =================================} \def\fmtversion@topatch{unknown} \input{ltpatch.ltx} \ifx\fmtversion\fmtversion@topatch \ifx\patch@level\@undefined \typeout{^^J^^J^^J% !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^^J% !! Patch file `ltpatch.ltx' not suitable for this^^J% !! version of LaTeX.^^J^^J% !! Please check if initex found an old patch file:^^J% !! --- if so, rename it or delete it, and redo the^^J% !! initex run.^^J% !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^^J}% \batchmode \@@end \else \def\fmtversion@topatch{0}% \ifx\fmtversion@topatch\patch@level\else \def\reserved@a\typeout##1##2\reserved@a{% \typeout{##1 patch level \patch@level}##2} \everyjob\expandafter\expandafter\expandafter{% \expandafter\reserved@a\the\everyjob\reserved@a} \let\reserved@a\relax \the\everyjob \fi \fi \else \typeout{^^J^^J^^J% !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^^J% !! Patch file `ltpatch.ltx' (for version <\fmtversion@topatch>)^^J% !! is not suitable for version <\fmtversion> of LaTeX.^^J^^J% !! Please check if initex found an old patch file:^^J% !! --- if so, rename it or delete it, and redo the^^J% !! initex run.^^J% !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^^J}% \batchmode \@@end \fi \let\fmtversion@topatch\relax }{} \let\reserved@a\@filelist \let\reserved@b=\@undefined \let\reserved@c=\@undefined \let\reserved@d=\@undefined \let\reserved@e=\@undefined \let\reserved@f=\@undefined \toks0{} \toks2{} \toks4{} \toks6{} \toks8{} \errhelp{} \def\@providesfile#1[#2]{% \wlog{File: #1 #2}% \expandafter\xdef\csname ver@#1\endcsname{#2}% \endgroup} \let\@filelist\@gobble \def\@addtofilelist#1{\xdef\@filelist{\@filelist,#1}}% \makeatother \errorstopmode \dump \endinput %% %% End of file `latex.ltx'.