% Copyright (C) 1988 Springer-Verlag, Inc.
% 
% Everyone is granted permission to copy and redistribute this file, as
% long as it is unchanged.
%
%
% smva.sty 01 Nov 87
%
%
\newif\if@multipleauthors
\@ifundefined{@svsa}{%
        \@multipleauthorstrue
        \typeout{Sub-style 'svmult' (Springer-Verlag Multi-Authored). Released January 1993}}%
        {\@multipleauthorsfalse}
\ds@twoside
\headheight=9pt
\headsep=15pt   % 2pc-9pt
\textheight=45pc
\textwidth=27pc
\parindent=1em
%
% Running head: 9 pt CM, c/lc, 2em# inside of fl. outside folio, base aligns
% with folio; recto: CN, period, word # to CT; verso: contributor's name(s).
% In single-author, verso: SN, period, word # to ST.
%
% If you want the running heads on the opposite pages, just put \flipheads
% after the documentstyle.  LaTeX isn't bright enough to allow one option
% file to define ds@flipheads.
%
\newif\if@flipheads \@flipheadsfalse
\def\flipheads{\@flipheadstrue}
\def\ps@headings{\let\@mkboth=\markboth % Instead of \@gobbletwo, for toc
        \def\@oddfoot{}\def\@evenfoot{}%       No feet.
        \if@flipheads
            \def\@oddhead{\ixONxi\rm
                \hbox{}\hfil{\rightmark}\hskip 2em minus 1em\thepage}%
            \def\@evenhead{\ixONxi\rm \thepage\hskip 2em\leftmark \hfill}%
        \else
            \def\@oddhead{\ixONxi\rm
                \hbox{}\hfil{\leftmark}\hskip 2em minus 1em\thepage}%
            \def\@evenhead{\ixONxi\rm \thepage\hskip 2em\rightmark \hfill}%
        \fi
        \def\chaptermark##1{\markbothsame{\ifnum \c@secnumdepth >\m@ne
              \@chapapp\ %\thechapter. \ 
   \fi ##1}}%
        \if@multipleauthors
            \def\sectionmark##1{}%
        \else
            \def\sectionmark##1{\markleft{\ifnum \c@secnumdepth >\z@
                 \thesection. \ \fi ##1}}%
        \fi
}

\pagestyle{headings}
\pagenumbering{roman}   % toc is in roman
\def\@chapterauthors{}
\def\markbothsame#1{\markboth{#1}{#1}}
\def\markleft#1{{\let\protect\noexpand\expandafter\@markleft\@themark
     {#1}\mark{\@themark}}}
\def\@markleft#1#2#3{\gdef\@themark{{#3}{#2}}}
\def\leftmark{\expandafter\@leftmark\topmark}
%
% All pages without running heads must carry corner marks.
%
\def\clap#1{\hbox to 0pt{\hss#1\hss}}
\newdimen\@crosshairrule \@crosshairrule=.24pt
\def\@crosshairs{\vbox to 0pt{\hsize=0pt\baselineskip=0pt\lineskip=0pt
                \vss
                \clap{\vrule height .125in width \@crosshairrule depth 0pt}
                \clap{\vrule width .25in height \@crosshairrule depth 0pt}
                \clap{\vrule height .125in width \@crosshairrule depth 0pt}
                \vss}}
\def\ps@empty{%
\def\@oddhead{\hfill\raise\headheight\@crosshairs}
\let\@evenhead\@oddhead
\def\@evenfoot{}\let\@oddfoot\@evenfoot}
\frenchspacing
\def\@chapapp{}
\def\viiiONx{\@setsize\viiiONx{10pt}\viipt\@viipt}
\def\ixONxi{\@setsize\ixONxi{11pt}\ixpt\@ixpt}
\def\xONxii{\normalsize}
\def\xiiONxiv{\@setsize\xiiONxiv{14pt}\xiipt\@xiipt}
\def\xivONxvi{\@setsize\xivONxvi{16pt}\xivpt\@xivpt}
\def\xivONxiv{\@setsize\xivONxiv{14pt}\xivpt\@xivpt}
\def\xxONxx{\@setsize\xxONxx{20pt}\xxpt\@xxpt}
\font\chnum = cmr10 scaled \magstep5

\def\chapter{\cleardoublepage      % Starts new recto.
   \thispagestyle{empty}     % Page style of chapter page is 'empty'
   \global\@topnum\z@        % Prevents figures from going at top of page.
   \@afterindentfalse        % Suppresses indent in first paragraph.  Change
   \secdef\@chapter\@schapter}   % to \@afterindenttrue to have indent.

%
% Chapter number: 24 CM  arabic numeral, fl.l, top text
% Chapter title: 20/20 CM x 27pc, c/lc, fl.l, sink 60 pt from top
%       type to base of CT, to's fl.l, do not hyphenate

\def\@makechapterhead#1{             % Heading for \chapter command
% We want the chapter number to be 20 pts from top text.  The simplest
% was is to set \topskip, making sure there's nothing between the number
% and the top of page, so \baselineskip doesn't come in.
  { \topskip=20pt \parindent 0pt \raggedright 
    \xxONxx\rm
    \ifnum \c@secnumdepth >\m@ne     % IF secnumdepth > -1 THEN
     \@chapapp{} {\chnum \thechapter} % Print 'Chapter' and number.
 \par 
 \vskip 6pt \fi             % Space between number and title.
  #1\par                      % Title.
   \nobreak                    % TeX penalty to prevent page break.
   \vskip-\prevdepth           % Fool TeX into ignoring the depth of
   \prevdepth=0pt              % the CT when spacing to the CA
   \if@multipleauthors
    \vskip 30pt                % 2.5pi b/b between title and chapter authors
   \else
    \vskip 44pt        % want ~60pt b/b to abstract
   \fi
}
 }

\def\@makeschapterhead#1{             % Heading for \chapter* command
  { \topskip=44pt \parindent 0pt \raggedright 
    \xxONxx\rm
    #1\par                      % Title.
    \nobreak                    % TeX penalty to prevent page break.
    \vskip-\prevdepth           % Fool TeX into ignoring the depth of
    \prevdepth=0pt              % the CT when spacing to the CA
    \if@multipleauthors
     \vskip 30pt                % 2.5pi b/b between title and chapter authors
    \else
     \vskip 44pt                % want ~60pt b/b to abstract
    \fi

  } }

\if@multipleauthors
\gdef\chapterauthors#1{%
        {\def\\{, }\def\footnote##1{}\def\footnotemark[##1]{}%
                \xdef\@chapterauthors{#1}}%
        \markright{\@chapterauthors}%
        {\parindent0pt \raggedright\xivONxiv\rm #1\par
                \nobreak
           \vskip 12pt
}}\fi

%
% Restart the footnote counter each chapter.
%
%\newcounter{footnote}[chapter]
%
% FN    1pc space above footnotes to text.
%       5 pc 1/2 pt rule fl.l. above footnotes
%       leave 6pt # after rule followed by ftn
%
\skip\footins=18.5pt    % space above line and below line, 1pc+6pt+.5pt
\footskip=16pt
\footnotesep=7pt        % pretty arbitrary
\def\footnotesize{\@setsize\footnotesize{10pt}\ixpt\@ixpt}
\def\footnoterule{\kern-6.5pt\hrule width 5pc height .5pt\vskip 6pt}
%
% Footnote at end of chapter position below last text line (not at bottom
% of page).
%
\def\clearpage{\par\penalty -\@M \write\m@ne{}\vbox{}\penalty -\@Mi}
\def\@makecol{\ifvoid\footins \setbox\@outputbox\box\@cclv
   \else\setbox\@outputbox
     \vbox{\unvbox\@cclv\vskip\skip\footins\footnoterule\unvbox\footins}\fi
     \xdef\@freelist{\@freelist\@midlist}\gdef\@midlist{}\@combinefloats
     \setbox\@outputbox\vbox to\@colht{\boxmaxdepth\maxdepth
        \@texttop
        \@tempdima=\@colht \multiply\@tempdima by 10 \divide\@tempdima by 9
        \ifdim \ht\@outputbox<\@tempdima
                \unvbox\@outputbox \vfill
        \else
                \unvbox\@outputbox
        \fi
        \@textbottom}\global\maxdepth\@maxdepth}
%
% Abstract: 9/11 TRx25pi, sink 2.5pi b/b from CA
%
\def\abstract{\vskip 9pt % from CA
\rightskip=1pc\leftskip=1pc\parindent=\z@
\ixONxi\rm
{ABSTRACT }}
\def\endabstract{\par}  % If we don't do this, the paragraph won't be
                        % set until after rightskip and leftskip have been
                        % returned to their old values.

\def\tableofcontents{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
  \fi\chapter*{Contents\@mkboth{Contents}{Contents}}
  \@starttoc{toc}\if@restonecol\twocolumn\fi}

%
% Don't indent the paragraph following each header.  Vertical distances
% showld have \baselineskip taken out, and the height of the next
% line, which should be text (10/12 TR).
%
\setcounter{secnumdepth}{2}     % number section and subsections
\setcounter{tocdepth}{2}        % and put them in the table of contents
% No 1 Head, 14/16 CM, 36pt b/b above, 24 tp b/b below
\def\section{\@startsection
    {section}{1}{\z@}{-21pt plus 6pt minus 1pt}{12pt plus 2pt}%
        {\xivONxvi\rm\raggedright}}
% No 2 Head, 12/14 CM italic, 30pt above, 18 pt below
\def\subsection{\@startsection
    {subsection}{2}{\z@}{-16pt plus 4pt minus 1pt}{6pt plus 1pt}%
        {\xiiONxiv\it\raggedright}}
% No 3 Head, 10/12 CM, 24pt above, 18pt below
\def\subsubsection{\@startsection
    {subsubsection}{3}{\z@}{-12pt plus 3pt minus 1pt}{6pt plus 1pt}%
        {\xONxii\rm\raggedright}}
% No 4 Head, 10/12 CM italic, 20pt above, 18pt below
\def\paragraph{\@startsection
     {paragraph}{4}{\z@}{-8pt plus 2pt minus .5pt}{6pt plus 1pt}%
        {\xONxii\it\raggedright}}
% No 5 Head, 10/12 CM italic, period,  en space to run in text, 18pt above
\def\subparagraph#1{\@startsection
     {subparagraph}{5}{\z@}{-6pt plus 2pt minus .5pt}{-.5em}{\xONxii\it}{#1.}}
% Ack: Acknowledgements same as No 5 head, 36pt above
\def\acknowledgments{\@startsection
     {subparagraph}{6}{\z@}{-24pt plus 6pt minus 1pt}{-.5em}%
        {\xONxii\it}*{Acknowledgments:\/}}
% R-1: ``References'', same as No.2 head
% unless it's single-author.
\def\mainbibliography#1{{\@multipleauthorsfalse\bibliography{#1}}}
\def\thebibliography#1{%
\if@multipleauthors
  \@startsection
    {section}{2}{\z@}{-16pt plus 4pt minus 1pt}{6pt plus 1pt}%
        {\xiiONxiv\rm\raggedright}{References}%
\else
  \chapter*{References\@mkboth
  {References}{References}}%
  \addcontentsline{toc}{chapter}{\protect\numberline{}References}%
\fi
%endif
  \list
  {[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth
    \advance\leftmargin\labelsep
    \usecounter{enumi}}
    \def\newblock{\hskip .11em plus .33em minus -.07em}
    \sloppy
    \sfcode`\.=1000\relax}
% Put index in the toc
\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
\columnseprule \z@
\columnsep 35pt\twocolumn[\@makeschapterhead{Index}]
    \addcontentsline{toc}{chapter}{\protect\numberline{}Index}%
    \@mkboth{Index}{Index}\thispagestyle{empty}\parindent\z@
    \parskip\z@ plus .3pt\relax\let\item\@idxitem}
\def\theauthorindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
\columnseprule \z@
\columnsep 35pt\twocolumn[\@makeschapterhead{Author Index}]
    \addcontentsline{toc}{chapter}{\protect\numberline{}Author Index}%
    \@mkboth{Author Index}{Author Index}\thispagestyle{empty}\parindent\z@
    \parskip\z@ plus .3pt\relax\let\item\@idxitem}
\def\thesubjectindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
\columnseprule \z@
\columnsep 35pt\twocolumn[\@makeschapterhead{Subject Index}]
    \addcontentsline{toc}{chapter}{\protect\numberlin6e{}Subject Index}%
    \@mkboth{Subject Index}{Subject Index}\thispagestyle{empty}\parindent\z@
    \parskip\z@ plus .3pt\relax\let\item\@idxitem}
\def\thesymbolindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
\columnseprule \z@
\columnsep 35pt\twocolumn[\@makeschapterhead{Symbol Index}]
    \addcontentsline{toc}{chapter}{\protect\numberline{}Symbol Index}%
    \@mkboth{Symbol Index}{Symbol Index}\thispagestyle{empty}\parindent\z@
    \parskip\z@ plus .3pt\relax\let\item\@idxitem}

%
% lists: 10/12 TRx27pc, 1/2line# above/below
%
\topsep 6pt plus 3pt minus 1pt     % Extra vertical space, in addition to 
                                   % \parskip, added above and below list and
                                   % paragraphing environments.
\itemsep 6pt plus 2pt minus 1pt    % Extra vertical space, in addition to
                                   % \parskip, added between list items.
%
% Eq: Center on text width; equation numbers set flush right, align with
% last line of equation, 6pt # above/below.
%
\abovedisplayskip=6pt plus 1.5pt minus 3pt
\belowdisplayskip=\abovedisplayskip
\abovedisplayshortskip=\z@ plus 1.5pt
\belowdisplayshortskip=3pt plus 1.5pt minus 1.5pt
%
% FL: Figure legends ``FIGURE 0.0'' 9/11 CM, c/lc, period, word # to text.
%
\long\def\@makecaption#1#2{{
   \vskip 10pt
   \ixONxi
   \setbox\@tempboxa\hbox{#1. #2}
   \ifdim \wd\@tempboxa >\hsize   % IF longer than one line:
       \unhbox\@tempboxa\hfil\par      %   THEN set as ordinary paragraph.
     \else                        %   ELSE  center.
       \hbox to\hsize{\hfil\box\@tempboxa\hfil}
   \fi}}
\def\fnum@figure{\ixONxi FIGURE \thefigure}%
%
% TN+TT: ``TABLE 0.0'' 9/11 TR, c/lc. period, word # to table title:
% 3 pt # below to 1/2 pt rule x table measuer, 3 pt # below rule to
% TCH
%
\arrayrulewidth=.5pt
\def\fnum@table{\ixONxi TABLE~\thetable}
\def\TableSubtitleRule{\noalign{\vskip 3pt}\hline\noalign{\vskip 3pt}}
\long\def\TableFootnote#1{\gdef\TFN{#1}}

\def\@@startpbox#1{\vtop\bgroup \hsize #1\@arrayparboxrestore
\parindent=-1em\leftskip=1em}
\newsavebox{\@stablebox}
\def\stable#1#2{\@ifnextchar[{\@stable{#1}{#2}}{\@stable{#1}{#2}[h]}}
\def\@stable#1#2[#3]{\begin{table}[#3]
        \def\foo{#1}\def\TFN{}%
        \viiiONx
        \setbox\@stablebox=\hbox\bgroup
        \begin{tabular}{#2}%
        \noalign{\vskip 3pt}
        \hline
        \noalign{\vskip 3pt}}
\@namedef{endstable}{\crcr\noalign{\vskip 6pt}\hline\end{tabular}\egroup
$$\vbox{\hsize=\wd\@stablebox
\caption{\foo}
\box\@stablebox
\prevdepth=0pt  % last thing was a rule
\par
\TFN}$$
\end{table}}
%%%% GROT.  This is hacked to move a label definition outside.
%%%% I think the whole stable idea is broken.

\def\stable#1#2{\@ifnextchar[{\@stable{#1}{#2}}{\@stable{#1}{#2}[h]}}
\def\@stable#1#2[#3]{\table[#3]
        \def\foo{#1}\def\TFN{}\def\stablelabel{}%
        \viiiONx
        \setbox\@stablebox=\hbox\bgroup\def\label##1{\gdef\stablelabel{\label{##1}}}%
        \tabular{#2}%
        \noalign{\vskip 3pt}%
        \hline
        \noalign{\vskip 3pt}}
\@namedef{endstable}{\crcr\noalign{\vskip 6pt}\hline\endtabular\egroup
$$\vbox{\hsize=\wd\@stablebox
\caption{\foo}\stablelabel
\box\@stablebox
\prevdepth=0pt  % last thing was a rule
\par
\TFN}$$
\endtable}

\def\stablecont#1#2{\@ifnextchar[{\@stablecont{#1}{#2}}{\@stablecont{#1}{#2}[h]}}
\def\@stablecont#1#2[#3]{\table[#3]
        \def\foo{#1}\def\TFN{}
        \viiiONx
        \setbox\@stablebox=\hbox\bgroup\def\label{\error}
        \tabular{#2}%
        \noalign{\vskip 3pt}%
        \hline
        \noalign{\vskip 3pt}}
\@namedef{endstablecont}{\crcr\noalign{\vskip 6pt}\hline\endtabular\egroup
$$\vbox{\hsize=\wd\@stablebox
  \begingroup
    \@parboxrestore
        \vskip 10pt
        \ixONxi
           \setbox\@tempboxa\hbox{\ignorespaces \foo}
           \ifdim \wd\@tempboxa >\hsize   % IF longer than one line:
               \unhbox\@tempboxa\hfil\par      %   THEN set as ordinary paragraph.
             \else                        %   ELSE  center.
               \hbox to\hsize{\hfil\box\@tempboxa\hfil}
           \fi\par
  \endgroup
\box\@stablebox
\prevdepth=0pt  % last thing was a rule
\par
\TFN}$$
\endtable}

%%%%
\newdimen\stabularwidth

\def\stabular{\@ifnextchar[{\@stabular}{\@stabular[h]}}
\def\@stabular[#1]#2{
        \setbox\@stablebox=\hbox\bgroup\viiiONx
        \tabular[#1]{#2}%
        \noalign{\vskip 3pt}%
        \hline
        \noalign{\vskip 3pt}}
\def\endstabular{\crcr\noalign{\vskip 6pt}\hline\endtabular\egroup
\stabularwidth=\wd\@stablebox
\box\@stablebox}

\def\thefigure{\@arabic\c@figure}  %% deletes Chap No from Section.

\def\appendix{\par
 \setcounter{chapter}{0}
 \setcounter{section}{0}
 \def\@chapapp{}
 \def\thechapter{\Alph{chapter}}}