diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/base/latex.ltx')
-rw-r--r-- | Master/texmf-dist/tex/latex/base/latex.ltx | 7985 |
1 files changed, 7985 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/base/latex.ltx b/Master/texmf-dist/tex/latex/base/latex.ltx new file mode 100644 index 00000000000..1057d4b0614 --- /dev/null +++ b/Master/texmf-dist/tex/latex/base/latex.ltx @@ -0,0 +1,7985 @@ +%% +%% 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 +%% 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.3 +%% 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.3 or later is part of all distributions of LaTeX +%% version 2003/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 <dimen> +\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 <return> = control <space> +\let\^^I\^^M % same for <tab> +\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\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{2003/12/01} +\iftrue +\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 <return> 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{} +\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 <return> 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 <return> 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 <command> <return> \space to replace it % + with another command,\MessageBreak + or \space <return> \space to continue without it.} +\gdef\@ehb{% + You've lost some text. \space \@ehc} +\gdef\@ehc{% + Try typing \space <return> % + \space to proceed.\MessageBreak + If that doesn't work, type \space X <return> \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 <RETURN> 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{\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{% + \expandafter\@firstoftwo\string#1 allowed 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@warning{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\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\endcsname#1}% + \version@list + \else + \edef\reserved@a{\noexpand\in@{\string\use@mathgroup}% + {\expandafter\meaning\csname @\expandafter + \@gobble\string#1\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\endcsname + \if/#5/% + \noexpand\no@alphabet@error + \noexpand\no@alphabet@error + \else + \expandafter\noexpand\csname M@#2\endcsname + \expandafter\noexpand\csname#2/#3/#4/#5\endcsname + \fi + }% + \toks2\expandafter{#1}% + \edef\alpha@list{\the\toks@\noexpand\alpha@elt\the\toks2}% + \def\version@elt##1{\toks@\expandafter{##1}% + \edef##1{\the\toks@\install@mathalphabet + \expandafter\noexpand + \csname @\expandafter\@gobble + \string#1\endcsname + {\if/#5/% + \noexpand\no@alphabet@error + \noexpand#1% + \else + \noexpand\select@group\the\toks2 + \fi}}% + }% + \version@list + \expandafter\edef\csname @\expandafter\@gobble + \string#1\endcsname{\if/#5/% + \noexpand\no@alphabet@error + \noexpand#1% + \else + \noexpand\select@group\the\toks2 + \fi}% + \edef#1{\noexpand\protect + \expandafter\noexpand\csname @\expandafter + \@gobble\string#1\endcsname}% +} +\@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\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\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\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}% + \def\@parboxto{to\@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 + \@tempdima\dp\@cclv + \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 <return> \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 <return> + \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'. |