
%% November 23, 1994 version
%% THIS FILE TO BE USED WITH LATEX 2.09

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Style File for `Small Format Journals'                               %%
%% Kluwer Academic Publishers                                           %%
%%                                                                      %%
%% Prepared by Amy Hendrickson, TeXnology Inc.                          %%
%%                                                                      %%
%% Inquiries to Suzanne M. Rumsey, net address: prod@world.std.com      %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\typeout{\space\space\space\space\space\space\space\space\space}
\typeout{Document Style `Small Format Journals' 
for Kluwer Academic Publishers}

\typeout{\space\space\space\space\space\space\space\space\space}
\typeout{Written by Amy Hendrickson, TeXnology, Inc.\space}
\typeout{\space\space\space\space\space\space\space\space\space}
\typeout{\space\space\space\space\space\space\space\space\space}

\typeout{Authors! Before beginning to work, please ftp the README file from}
\typeout{the directory /Kluwer/styles/journals at ftp.std.com}
\typeout{to see if you have the current version of smjrnl.sty!}
\typeout{This version is dated November 23, 1994}
\typeout{\space\space\space\space\space\space\space\space\space}
\typeout{\space\space\space\space\space\space\space\space\space}


%% Special Purpose Fonts
\font\smallcaps=cmcsc10 scaled 700
\font\medcaps=cmcsc10 scaled 750 %
\font\elvrm=cmr10 scaled \magstephalf
% Special Fonts to make bold in super- and sub-scripts be the right size.
\font\sevbf =cmbx7
\font\fivbf =cmbx5


\def\titlefont{\bf}
\let\bit\bf
\def\bigbit{\Large\it}
\def\medbit{\large\it}
\def\issuetocfont{\LARGE\bf}
\let\sectionfont\bf
\let\subsubsectionfont\it

%%%%%%%
%% Variations on  LaTeX book.sty 

\def\@ptsize{0}               % Default is REP10.STY
\@namedef{ds@11pt}{\def\@ptsize{1}} % 11pt option reads in REP11.STY
\@namedef{ds@12pt}{\def\@ptsize{2}} % 12pt option reads in REP12.STY

\@twosidetrue     %  Defines twoside option.
\@mparswitchtrue  %  Marginpars go on outside of page.

\def\ds@draft{\overfullrule 5pt}  % Causes overfull hboxes to be marked.

\@options

%%%%%% Start Bk10.sty
% bk10.sty 19-Jan-88

\lineskip 1pt \normallineskip 1pt
\def\baselinestretch{1}

\newif\ifpsfonts

\predisplaypenalty=10000

\def\@normalsize{\@setsize\normalsize{12pt}\xpt\@xpt
\abovedisplayskip 10pt plus2pt minus5pt\belowdisplayskip \abovedisplayskip
\abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6pt plus3pt
minus3pt\let\@listi\@listI
\ifpsfonts%
\def\bit{\tenbit}\fi}

\@normalsize

\def\small{\@setsize\small{11pt}\ixpt\@ixpt
\abovedisplayskip 8.5pt plus 3pt minus 4pt\belowdisplayskip \abovedisplayskip
\abovedisplayshortskip \z@ plus2pt\belowdisplayshortskip 4pt plus2pt minus 2pt
\def\@listi{\leftmargin\leftmargini \topsep 4pt plus 2pt minus 2pt\parsep 2pt
plus 1pt minus 1pt
\itemsep \parsep}%
\ifpsfonts%
\def\bit{\ninebit}\fi}


\def\footnotesize{\@setsize\footnotesize{9.5pt}\viiipt\@viiipt
\abovedisplayskip 6pt plus 2pt minus 4pt\belowdisplayskip \abovedisplayskip
\abovedisplayshortskip \z@ plus 1pt\belowdisplayshortskip 3pt plus 1pt minus
2pt
\def\@listi{\leftmargin\leftmargini \topsep 3pt plus 1pt minus 1pt\parsep 2pt
plus 1pt minus 1pt
\itemsep \parsep}\ifpsfonts%
\def\bit{\eightbit}\fi}

\def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt}
\def\tiny{\@setsize\tiny{6pt}\vpt\@vpt}
\def\large{\@setsize\large{14pt}\xiipt\@xiipt}
\def\Large{\@setsize\Large{18pt}\xivpt\@xivpt}
\def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt}
\def\huge{\@setsize\huge{25pt}\xxpt\@xxpt}
\def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt}
\normalsize 

\oddsidemargin 1in \evensidemargin 1in 
\marginparwidth .75in \marginparsep 7pt 
 \topmargin .75in \headheight 12pt \headsep 24pt \footskip .35in 


\textheight = 44.5pc
\textwidth 30pc 

\columnsep 10pt \columnseprule 0pt 

\footnotesep 6.65pt 
\skip\footins 9pt plus 4pt minus 2pt 
\floatsep 12pt plus 2pt minus 2pt \textfloatsep 20pt plus 2pt minus 4pt
\intextsep 12pt plus 2pt minus 2pt \@maxsep 20pt \dblfloatsep 12pt plus 2pt
minus 2pt \dbltextfloatsep 20pt plus 2pt minus 4pt \@dblmaxsep 20pt 
\@fptop 0pt plus 1fil \@fpsep 8pt plus 2fil \@fpbot 0pt plus 1fil 
\@dblfptop 0pt plus 1fil \@dblfpsep 8pt plus 2fil \@dblfpbot 0pt plus 1fil
\marginparpush 5pt 

\parskip 0pt plus 1pt \parindent 8pt \partopsep 2pt plus 1pt minus 1pt 
\@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 
\@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty
-\@lowpenalty 

\clubpenalty=10000
\widowpenalty=10000

%% Article commands:

\def\authorrunninghead#1{\def\theauthors{\uppercase{#1}}}
\def\titlerunninghead#1{\def\thetitle{\uppercase{#1}}}

\def\thetitle{\relax}
\def\theauthors{}

\newif\iftechnote
\def\technicalnote{\global\technotetrue}

\def\aster{\raise.4ex\hbox{*}}

\let\savefootnotetext\footnotetext

\newcount\thanksnum
\newcount\dothanks

\def\dothankssymbol{\ifcase\thanksnum\or *\or **\or $\dagger$\or
$\ddagger$\or $\mathchar "278$\or $\mathchar "27B$\or $\|$\or $\dagger\dagger$
   \or $\ddagger\ddagger$ \else\@ctrerr\fi\relax}

\def\thanks#1{\global\advance\thanksnum by1\relax 
\global\advance\dothanks by1
\raise.5ex\hbox{\normalsize\dothankssymbol}}

\newif\iftitle
\def\title#1{\global\appendonfalse
\setbox1=\hbox{\let\thanks\maketemp #1}
\refstepcounter{chapter}
\c@section=0
\c@subsection=0
\c@subsubsection=0
\c@footnote=0
\c@equation=0
\c@figure=0
\c@table=0
\vspace*{10pt}
\iftechnote\global\technotefalse
\noindent {\bigbit Technical Note}\vskip4pt\fi
\global\titletrue
{\def\\ {\hfill\break}%
\Large\raggedright\hyphenpenalty=10000\noindent\titlefont#1\vskip12pt}}

\let\articletitle\title

\def\author#1\email#2{\emailauthor{#1}{#2}}
\def\authors#1\email#2{\emailauthor{#1}{#2}}

\def\eatone#1{}

\newcount\thankscounter
\def\maketemp#1{\global\advance\thankscounter by1\relax 
\expandafter\gdef\csname tempthanks\the\thankscounter\endcsname{#1}}


\def\emailauthor#1#2{\ifdim\lastskip=4pt \vskip-6pt\fi
\setbox1=\hbox{\let\thanks\maketemp #1}
\setbox0=\hbox{\let\thanks\eatone%
{\smallcaps\uppercase{#1}}\qquad{\footnotesize\lowercase{#2}}}
\ifdim\wd0<30pc
\hbox to30pc{{\smallcaps\uppercase{#1}}\hfill
{\footnotesize\lowercase{#2}}}
\else
\noindent{\smallcaps\uppercase{#1}}
\vskip4pt
\setbox1=\hbox{\footnotesize\lowercase{#2}}
\ifdim\wd1>30pc\message{EMAIL ADDRESS TOO WIDE! PLEASE LIST
SEPARATELY!}
! EMAIL ADDRESS TOO WIDE! PLEASE LIST SEPARATELY !

#2
\else\hbox to30pc{\hfill\footnotesize\lowercase{#2}}\fi\fi%
%
\vskip1pt}



\def\affil#1{{\def\\ {\hfill\break}
\footnotesize\it\noindent#1
\vskip8pt}}

\def\editor#1{\receivedline\vskip4pt
{\footnotesize\noindent{\bf Editor:} #1\vskip1sp}}

\def\editors#1{\receivedline\vskip4pt
{\footnotesize\noindent{\bf Editors:} #1\vskip1sp}}

\def\abstract#1{\receivedline\vskip14pt
{\footnotesize\noindent{\bf Abstract.} #1\vskip1sp}
\ifnum\thanksnum>0 \global\thanksnum=0
%
\long\def\@makefntext##1{\noindent
	   \raise.5ex\hbox to 12pt{\dothankssymbol\hfill}##1}
\loop
\ifnum\thanksnum<\thankscounter
\global\advance\thanksnum by1\relax
\savefootnotetext{\csname tempthanks\the\thanksnum\endcsname}
\repeat\global\thanksnum=0 \global\thankscounter=0
%
\fi
}

\def\keywords#1{\vskip12pt
{\footnotesize\noindent{\bf Keywords:} #1\vskip4pt}}

\def\issuenumber#1{\def\currissuenumber{#1}}
\def\issuemonth#1{\def\currissuemonth{#1}}
\def\volnumber#1{\def\currvolnumber{#1}}
\def\volyear#1{\def\currvolyear{#1}}
\def\journame#1{\def\thisjourname{#1}}

\volnumber{}
\volyear{}
\issuenumber{}
\issuemonth{}
\journame{}

\newcount\articlenumber

\def\article{\clearpage
\ifodd\c@page\else\null\clearpage\fi}


\def\endarticle{\notes\def\receivedline{\relax}
\write\@auxout{\string\expandafter
\string\gdef\string\csname\space 
endpage\the\articlenumber\endcsname{\the\c@page}}
\newpage\authorrunninghead{}}

\def\kluwerline{\global\advance\articlenumber by1
\hbox to30pc{\hfill\footnotesize \thisjourname,
\currvolnumber, \the\c@page
\expandafter\ifx\csname endpage\the\articlenumber\endcsname\relax%
??\else
\ifnum\c@page=%
\expandafter\csname endpage\the\articlenumber\endcsname\else--%
\csname endpage\the\articlenumber\endcsname\fi\fi\ (\currvolyear)}
\vskip2pt
\hbox to30pc{\hfill\footnotesize \raise1.5pt\hbox{\scriptsize\copyright}%
\ \currvolyear\ %
Kluwer Academic Publishers, Boston. Manufactured in The Netherlands.}
\vskip3pt
}

\newcount\footnum
\newcount\savefootnum

\def\notes{\ifnum\footnum=0\else
\savefootnum=\footnum
\footnum=0
\section*{Notes}%
\noindent\loop\ifnum\savefootnum>\footnum%
\global\advance\footnum by1\relax%
\csname foot\the\footnum\endcsname\relax%
\expandafter\gdef\csname foot\the\footnum\endcsname{\relax}\relax%
\repeat\global\footnum=0\relax\fi}

\let\endnotes\notes

\def\footnote#1{\global\advance\footnum by 1\relax$^{\the\footnum}$%
\long\expandafter\gdef\csname foot\the\footnum\endcsname{%
\vtop{\footnotesize\hsize=30pc\leftskip=12pt\relax\parindent=-12pt
\indent\hbox to12pt{\the\footnum.\hfill}{#1\strut\vskip1sp}}\vskip1pt}}

\def\footnotetext#1{\global\advance\footnum by 1\relax
\long\expandafter\gdef\csname foot\the\footnum\endcsname{%
\vtop{\footnotesize\hsize=30pc\leftskip=12pt\relax\parindent=-12pt
\indent\hbox to12pt{\the\footnum.\hfill}{#1\strut\vskip1sp}}\vskip1pt}}

%% End Matter
\def\acknowledgments{\goodbreak\section*{Acknowledgments}}

\let\acknowledgements\acknowledgments

\def\bibliography#1{\if@filesw\immediate\write\@auxout{\string\bibdata{#1}}\fi
\notes\@input{\jobname.bbl}}

\def\thebibliography#1{\notes\section*{References}%
\bgroup\footnotesize\labelsep=6pt
\list{\arabic{enumi}.}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth
    \advance\leftmargin\labelsep
    \usecounter{enumi}}
    \def\newblock{\hskip .11em plus .33em minus .07em}
    \sloppy\clubpenalty4000\widowpenalty4000
    \sfcode`\.=1000\itemsep=-1.5pt\relax}

\def\endthebibliography{\endlist\egroup\vskip\baselineskip\relax}

\def\references{\notes\goodbreak\section*{References}
\bgroup\footnotesize\labelsep=6pt 
\list{\arabic{enumi}.}{\settowidth\labelwidth{[99]}\leftmargin\labelwidth
 \advance\leftmargin\labelsep
 \usecounter{enumi}}
 \def\newblock{\hskip .11em plus .33em minus .07em}
 \sloppy\clubpenalty4000\widowpenalty4000
 \sfcode`\.=1000\relax\itemsep=-1.5pt\frenchspacing}

\def\endreferences{\endlist\egroup\vskip\baselineskip\relax}

%% Alphabetical References
\def\alphareferences{\notes\goodbreak
\section*{References}
\bgroup\let\bibitem\alphabibitem\footnotesize \leftskip=6pt
 \def\newblock{\hskip .11em plus .33em minus .07em}
\parindent=-6pt \itemsep=-\parskip
\global\firstbibtrue
\indent\hskip-6pt\relax\ignorespaces}

\def\endalphareferences{\vskip1sp\egroup}

\def\bibalpharefs#1{\notes\goodbreak
\section*{References}
\bgroup\let\bibitem\bibalphabibitem\footnotesize \leftskip=6pt
\parindent=-6pt \itemsep=-\parskip
\vskip-10pt
\indent\hskip-6pt%
\def\newblock{\hskip .11em plus .33em minus .07em}%
\ignorespaces}
\def\endbibalpharefs{\vskip1sp\egroup}

\def\alphabibliography{\let\thebibliography\bibalpharefs
\let\endthebibliography\endbibalpharefs\bibliography}

\newif\iffirstbib
\def\alphabibitem{\iffirstbib\vskip-9pt
\global\firstbibfalse\fi
\@ifnextchar[{\alpha@lbibitem}{\alpha@bibitem}}
\def\bibalphabibitem{\@ifnextchar[{\alpha@lbibitem}{\alphaerror}}

\def\alpha@lbibitem[#1]#2{\vskip-\parskip%\item[\@biblabel{#1}]
\if@filesw 
      { \def\protect##1{\string ##1\space}\immediate
        \write\@auxout{\string\bibcite{#2}{(#1)}}}\fi\ignorespaces}

\def\alphaerror#1{\vskip-\parskip\if@filesw 
      { \def\protect##1{\string ##1\space}\immediate
        \write\@auxout{\string\bibcite{#1}{\string\typeout{<<<Please do
not use \string\string\string\cite\string\space\space when 
using \string\string\string\alphabibliography.\string\space\space
See documentation if you have questions.>>>}}}}\fi%
\ignorespaces}

\def\alpha@bibitem#1{\vskip-\parskip\relax%\item
\if@filesw \immediate\write\@auxout
       {\string\bibcite{#1}{(#1)}}\fi\ignorespaces}

\def\@lbibitem[#1]#2{\item\if@filesw 
      { \def\protect##1{\string ##1\space}\immediate
        \write\@auxout{\string\bibcite{#2}{[\theenumi]}}}\fi\ignorespaces}


\newif\ifappendon

\def\applett{}

\def\appendix#1{\gdef\applett{#1}
\ifx\applett\empty\gdef\applett{A}\fi
\goodbreak
\global\appendontrue
\c@section=0
\c@subsection=0
\c@subsubsection=0
\c@equation=0
\c@figure=0
\c@table=0
\xdef\@currentlabel{\applett}
\section*{Appendix #1}}

\def\appendixtitle#1{\vskip-8pt\vskip1sp\section*{#1}}

% \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE} 
%            optional * [ALTHEADING]{HEADING}
%    Generic command to start a section.  
%    NAME       : e.g., 'subsection'
%    LEVEL      : a number, denoting depth of section -- e.g., chapter=1,
%                 section = 2, etc.  A section number will be printed if
%                 and only if LEVEL < or = the value of the secnumdepth
%                 counter.
%    INDENT     : Indentation of heading from left margin
%    BEFORESKIP : Absolute value = skip to leave above the heading.  
%                 If negative, then paragraph indent of text following 
%                 heading is suppressed.
%    AFTERSKIP  : if positive, then skip to leave below heading,
%                       else - skip to leave to right of run-in heading.
%    STYLE      : commands to set style
%  If '*' missing, then increments the counter.  If it is present, then
%  there should be no [ALTHEADING] argument.  A sectioning command
%  is normally defined to \@startsection + its first six arguments.


\def\section{\@startsection {section}{1}{\z@}{-20pt plus -2pt minus 
 -1pt}{12pt plus 1pt}{\normalsize\boldmath\sectionfont}}
\def\subsection{\@startsection{subsection}{2}{\z@}{-20pt plus -2pt
minus -1pt}{12pt plus 1pt}{\normalsize\boldmath\bit}}
\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-20pt
plus -2pt minus -1pt}{12pt plus1pt}{\normalsize\subsubsectionfont}}


\def\paragraph#1{\vskip1sp\noindent{\bit#1}\enspace}

\setcounter{secnumdepth}{3}

\leftmargini 16pt %24pt
\leftmarginii 18pt % 22pt 
\leftmarginiii 18pt %18.7pt 
\leftmarginiv 16pt %
\leftmarginv 10pt
\leftmarginvi 10pt
\leftmargin\leftmargini
\labelsep 6pt

\labelwidth\leftmargini\advance\labelwidth-\labelsep
\def\@listI{\leftmargin\leftmargini \parsep 4pt plus 2pt minus 1pt\topsep 8pt
plus 2pt minus 4pt\itemsep 4pt plus 2pt minus 1pt}
\let\@listi\@listI
\@listi 
\def\@listii{\leftmargin\leftmarginii
 \labelwidth\leftmarginii\advance\labelwidth-\labelsep
 \topsep 4pt plus 2pt minus 1pt
 \parsep 2pt plus 1pt minus 1pt
 \itemsep \parsep}
\def\@listiii{\leftmargin\leftmarginiii
 \labelwidth\leftmarginiii\advance\labelwidth-\labelsep
 \topsep 2pt plus 1pt minus 1pt 
 \parsep \z@ \partopsep 1pt plus 0pt minus 1pt
 \itemsep \topsep}
\def\@listiv{\leftmargin\leftmarginiv
 \labelwidth\leftmarginiv\advance\labelwidth-\labelsep}
\def\@listv{\leftmargin\leftmarginv
 \labelwidth\leftmarginv\advance\labelwidth-\labelsep}
\def\@listvi{\leftmargin\leftmarginvi
 \labelwidth\leftmarginvi\advance\labelwidth-\labelsep}

%%%%% End of Bk10.sty

\def\labelenumi{\theenumi.}    
\def\theenumi{\arabic{enumi}}     
 
\def\labelenumii{(\theenumii)}
\def\theenumii{\Alph{enumii}}
\def\p@enumii{\theenumi}

\def\labelenumiii{\theenumiii.}
\def\theenumiii{\hskip5pt\hbox to5pt{\hss\roman{enumiii}}}
\def\p@enumiii{\theenumi(\theenumii)}

\def\labelenumiv{\theenumiv.}
\def\theenumiv{\Alph{enumiv}}     
\def\p@enumiv{\p@enumiii\theenumiii}

\def\labelitemi{$\bullet$}
\def\labelitemii{\bf --}
\def\labelitemiii{$\ast$}
\def\labelitemiv{$\cdot$}

\def\verse{\let\\=\@centercr  
  \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent 
          \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]}
\let\endverse\endlist

\def\quotation{\list{}{\listparindent 1.5em
    \itemindent\listparindent
    \rightmargin\leftmargin\parsep 0pt plus 1pt}\item[]}
\let\endquotation=\endlist

\def\quote{\list{}{\rightmargin\leftmargin}\item[]}
\let\endquote=\endlist

\def\descriptionlabel#1{\hspace\labelsep \bf #1}
\def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin
       \let\makelabel\descriptionlabel}}

\let\enddescription\endlist

\newdimen\descriptionmargin
\descriptionmargin=3em

\arraycolsep 3pt %5pt %Half the space between columns in an array environment.
\tabcolsep 6pt     % Half the space between columns in a tabular environment.
\arrayrulewidth .4pt % Width of rules in array and tabular environment.
\doublerulesep 2pt   % Space between adjacent rules in array or tabular env.

\tabbingsep \labelsep   % Space used by the \' command.  (See LaTeX manual.)

\skip\@mpfootins = \skip\footins

\fboxsep = 3pt    % Space left between box and text by \fbox and \framebox.
\fboxrule = .4pt  % Width of rules in box made by \fbox and \framebox.

\newcounter{part}
\newcounter {chapter}
\newcounter {section}[chapter]
\newcounter {subsection}[section]
\newcounter {subsubsection}[subsection]

\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth
     \def\@svsec{}\else 
     \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname.%<=== new, 7/1/93
\hskip 1em }\fi
     \@tempskipa #5\relax
      \ifdim \@tempskipa>\z@ 
        \begingroup #6\relax
          \@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\@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\thepart          {\Roman{part}}
\def\thechapter       {}
\def\thesection       {\ifappendon \applett.\fi\arabic{section}}
\def\thesubsection    {\thesection.\arabic{subsection}}
\def\thesubsubsection {\thesubsection.\arabic{subsubsection}}

\def\@pnumwidth{1.55em}
\def\@tocrmarg {2.55em}
\def\@dotsep{4.5}
\setcounter{tocdepth}{2}


\long\def\@makefntext#1{\parindent 1em\noindent 
            \hbox to 1.8em{\hss$^{\@thefnmark}$}#1}

%  \c@topnumber            : Number of floats allowed at the top of a column.
%  \topfraction            : Fraction of column that can be devoted to floats.
%  \c@dbltopnumber, \dbltopfraction : Same as above, but for double-column
%                          floats.
%  \c@bottomnumber, \bottomfraction : Same as above for bottom of page.
%  \c@totalnumber          : Number of floats allowed in a single column, 
%                          including in-text floats.
%  \textfraction         : Minimum fraction of column that must contain text.
%  \floatpagefraction    : Minimum fraction of page that must be taken
%                          up by float page.

%% June 10, 1993, reset these to more generous values to make it easier
%% to position floats.

\setcounter{topnumber}{10}
\setcounter{bottomnumber}{10}

\def\topfraction{.99}
\def\bottomfraction{.99}
\def\textfraction{.01}
\def\floatpagefraction{.5}

\setcounter{totalnumber}{20}

\setcounter{dbltopnumber}{2}
\def\dbltopfraction{.7}
\def\dblfloatpagefraction{.5}

\newcounter{figure}[chapter]
\def\thefigure{\@arabic\c@figure}

\def\fps@figure{tbp}
\def\ftype@figure{1}
\def\ext@figure{lof}
\def\fnum@figure{Figure\ \ifappendon\applett.\fi\thefigure\theletter}
\def\figure{\@float{figure}}
\let\endfigure\end@float
\def\endfigure{\end@float\gdef\@currentlabel{}}
\@namedef{figure*}{\@dblfloat{figure}}
\@namedef{endfigure*}{\end@dblfloat}
%\def\table{\@float{table}}
\let\endtable\end@float
\def\savetable{\@float{table}}
\let\endsavetable\end@float

\def\specialtable{\small\def\@captype{table}
\refstepcounter\@captype\@float{table}}
\def\endspecialtable{\end@float}

\newcounter{table}[chapter]
\def\thetable{\@arabic\c@table}

\def\fps@table{tbp}
\def\ftype@table{2}
\def\ext@table{lot}
\def\fnum@table{Table \ifappendon\applett.\fi\thetable\theletter}

\mark{{}{}}   % Initializes TeX's marks

\def\ps@headings{\def\@oddfoot{}\def\@evenfoot{}%       No feet.
\def\@evenhead{{\elvrm\thepage}\hfil\medcaps\theauthors}% 
                                                %       Left heading.
\def\@oddhead{\hbox{}\iftitle\global\titlefalse
\vbox to0pt{\vss\kluwerline}\else
{\medcaps\thetitle}\hfil{\elvrm\thepage}\fi}% Right heading.
}

\ps@headings                % `headings' page style
\pagenumbering{arabic}      % Arabic page numbers
\onecolumn                  % Single-column.


%%%%%%%%%%%%
%%% Math

\@addtoreset{equation}{chapter}   % Makes \chapter reset 'equation' counter.

\def\themathletter{\relax}

\def\mathletter#1{\gdef\themathletter{#1}}


\def\splitmath#1\\ #2\end#3{\arraycolsep=0pt
\mathindent=0pt
\begin{equation}
\begin{array}{ll}
#1\\
&#2
\end{array}
\end{equation}\aftergroup{\end{splitmath}}}
\let\endsplitmath\relax

\newif\ifinmathqed
\newif\ifqedequation

\def\theequation{\ifappendon\applett.\fi\arabic{equation}\themathletter}


%%% Variation on Fleqn.sty
% fleqn.sty 24-May-89

\linewidth=30pc

\def\[{\relax\global\inmathqedfalse\global\qedequationfalse
\ifmmode\@badmath\else\bgroup\@beginparpenalty\predisplaypenalty
 \@endparpenalty\postdisplaypenalty
 \begin{trivlist}
\vskip\abovedisplayskip
\item[]\leavevmode
 \hbox to\linewidth\bgroup$ \displaystyle
 \hskip\mathindent\bgroup\fi}

\def\]{\relax\ifmmode \egroup $\hfil%
\ifinmathqed\vrule height 6pt width6pt depth0pt\relax\fi%
\egroup%
\ifinmathqed\else\vskip\belowdisplayskip\fi%
\end{trivlist}%
\egroup\else%
\@badmath \fi\noindent\ignorespaces}

\def\xrelax{\relax}


\newif\iffirsttime
\global\firsttimetrue
\newif\ifequation
\def\equation{\global\qedequationfalse%
\global\inmathqedfalse\global\equationtrue%
\@beginparpenalty\predisplaypenalty%
\@endparpenalty\postdisplaypenalty%
\trivlist%
\vskip\abovedisplayskip%
\item[]\leavevmode%
\setbox0=\hbox\bgroup $ \displaystyle%
\hskip\mathindent\let\label\xlabel}

\def\endequation{$\egroup%
\ifx\themathletter\xrelax\global\firsttimetrue%
\refstepcounter{equation}\else%
\iffirsttime\global\firsttimefalse\refstepcounter{equation}\fi\fi%
\setbox1=\hbox{\copy0\@eqnnum}%
\ifdim\wd1>\linewidth%
\vbox{\unskip\noindent\hbox to\linewidth{\unhbox0\hss}\vskip3pt%
\noindent\hbox to\linewidth{\hfill\displaywidth\linewidth\llap{\@eqnnum}}}%
\else%
\vbox{\unskip\noindent\hbox to\linewidth{%
\unhbox0\hfil\displaywidth\linewidth\llap{\@eqnnum}}}%
\fi%
\let\@currentlabel=\theequation
\ifx\templabel\relax\else\savelabel{\templabel}\fi%
\global\let\templabel\relax
\gdef\themathletter{\relax}%
\ifinmathqed\global\inmathqedfalse\global\qedequationtrue\fi%
\vskip\belowdisplayskip%
\endtrivlist\def\themathletter{\relax}\global\equationfalse}


\def\@@eqncr{\let\@tempa\relax 
    \ifcase\@eqcnt \def\@tempa{& & &}\or \def\@tempa{& &} 
      \else \def\@tempa{&}\fi 
     \@tempa 
\ifx\themathletter\xrelax
%% Aug. 9 bug fix ==>
\if@eqnsw
\stepcounter{equation}\fi
%% <==
\else\iffirsttime\global\firsttimefalse\stepcounter{equation}
\fi\fi
\if@eqnsw\@eqnnum 
\fi
\ifx\templabel\relax\else\savelabel{\templabel}\fi%%% <<=== oct 14, make label
\global\let\templabel\relax                  % catch current number and letter
\global\let\themathletter\xrelax %% <<=== oct 4
\global\@eqnswtrue\global\@eqcnt\z@\cr}




\def\xlabel#1{\gdef\templabel{#1}}

\def\eqnarray{\global\qedequationfalse%
\global\inmathqedfalse\let\@currentlabel=\theequation
\global\@eqnswtrue
\let\label\xlabel
\global\@eqcnt\z@\tabskip\mathindent\let\\=\@eqncr 
\abovedisplayskip\topsep\ifvmode\advance\abovedisplayskip\partopsep\fi
\belowdisplayskip\abovedisplayskip
\belowdisplayshortskip\abovedisplayskip
\abovedisplayshortskip\abovedisplayskip
$$\halign to
\linewidth\bgroup\@eqnsel\hskip\@centering$\displaystyle\tabskip\z@
 {##}$&\global\@eqcnt\@ne 
 \hskip 2\arraycolsep \hfil${##}$\hfil
 &\global\@eqcnt\tw@ 
 \hskip 2\arraycolsep $\displaystyle{##}$\hfil 
 \tabskip\@centering&\llap{##}\tabskip\z@\cr}


\def\xslug{\slug}

\def\endeqnarray{\@@eqncr\egroup
\global\firsttimetrue
$$\let\@currentlabel=\theequation
\ifx\templabel\relax\else\savelabel{\templabel}\fi%
\global\let\templabel\relax 
\ifx\@eqnnum\xslug\else
\ifinmathqed\global\inmathqedfalse\global\qedequationtrue\fi\fi
\def\themathletter{\relax}\global\@ignoretrue}

\let\templabel\relax
\newdimen\mathindent 
\mathindent = 24pt

\def\wideequation{\mathindent=0pt}
\def\endwideequation{\global\mathindent=24pt\global\@ignoretrue}

\let\save@eqnnum\@eqnnum
\let\@seqncr=\@eqncr
\@namedef{eqnarray*}{\def\@eqncr{\nonumber\@seqncr}\eqnarray}
\@namedef{endeqnarray*}{\ifinmathqed%
\gdef\@eqnnum{\slug}\else\nonumber\fi\endeqnarray
\global\let\@eqnnum\save@eqnnum}

%% \bbf makes boldface math change sizes in sub and superscripts.
%% Use \[\bbf X^{\bbf Y^{\bbf Z}}\] etc. 

\def\bbf#1{%
\mathchoice{\mbox{\bf #1}}{\mbox{\bf #1}}{\mbox{\scriptsize\bf #1}}%
{\mbox{\tiny\bf #1}}}



%%% End Math

%%% Captions

\def\theletter{\relax}
\newif\ifxfirsttime
\xfirsttimetrue

\def\caption{\ifx\@captype\xtable\else%
\ifx\theletter\xrelax%
\global\xfirsttimetrue\refstepcounter\@captype\else%
\ifxfirsttime\global\xfirsttimefalse\refstepcounter\@captype\fi\fi\fi%
\edef\@currentlabel{\ifappendon\applett.\fi%
\expandafter\csname p@\@captype\endcsname%
\expandafter\csname the\@captype\endcsname\theletter}%
\xdef\currcaptype{\@captype}%
\@dblarg{\@caption\@captype}}

\def\letteredcaption#1{\gdef\theletter{#1}\caption}

\long\def\@makecaption#1#2{%
\ifx\@captype\xtable\vskip1pt\else\vskip18pt\fi
%
\noindent\iflandscape\global\landscapefalse\leftskip-11pc\fi%
\footnotesize{}{\it\relax#1.} #2\vskip1sp\par \leftskip=0pt
%
\edef\@currentlabel{\ifappendon\applett.\fi%
\expandafter\csname p@\@captype\endcsname%
\expandafter\csname the\@captype\endcsname\theletter}
%
\gdef\theletter{\relax}
\ifx\@captype\xtable\vskip6pt\fi
}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Table Macros

\long\def\@caption#1[#2]#3{\par
\begingroup
    \@parboxrestore
    \normalsize
    \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
  \endgroup}

\def\catchlabel{}
\let\savelabel\label

\def\table{\let\tabular\xtabular
\let\endtabular\endxtabular
\expandafter\def\csname tabular*\endcsname ##1{%
\global\setbox\savecurrtable\hbox\bgroup\def\@halignto{to ##1}\@tabular}
\expandafter \let \csname endtabular*\endcsname = \endxtabular
\def\label##1{\gdef\catchlabel{##1}}%
\def\caption##1{\gdef\catchcaption{##1}}%
\footnotesize\@float{table}}


\let\saveendtable\endtable

\def\endtable{%
\ifx\catchcaption\empty\else
\ifx\theletter\xrelax
\global\xfirsttimetrue\refstepcounter\@captype\else
\ifxfirsttime\global\xfirsttimefalse\refstepcounter\@captype\fi\fi\fi
\vskip1sp
\noindent
\iflandscape\global\landscapefalse
\vspace*{6pc}
\hbox to\textwidth{\hskip-11pc
\hbox to\textheight{\hfill%
  \vtop{\ifdim\wd\savecurrtable>0pt 
   \hsize=\wd\savecurrtable\fi
   \ifx\catchcaption\empty\else\vskip1sp\savecaption{\catchcaption}\fi
   \ifdim\wd\savecurrtable>0pt\vskip1pt
   \unhbox\savecurrtable\fi%
       }%
                  \hfill}
\hss}
\else
\hbox to30pc{\hss
  \vtop{\ifdim\wd\savecurrtable>0pt 
   \hsize=\wd\savecurrtable\fi
   \ifx\catchcaption\empty\else\vskip1sp\savecaption{\catchcaption}\fi
   \ifdim\wd\savecurrtable>0pt\vskip1pt
   \unhbox\savecurrtable\fi%
       }
\hss}%
\fi
%
\ifx\catchlabel\empty\else
\xdef\@currentlabel{\ifappendon\applett.\fi\thetable\theletter}
\savelabel{\catchlabel}\fi%
\gdef\@currentlabel{}%
\gdef\catchlabel{}
\gdef\catchcaption{}
\saveendtable}

\let\savecaption\caption
\let\catchcaption\empty
\newbox\savecurrtable

\let\savetabular\tabular
\let\saveendtabular\endtabular

\def\xtabular{\global\setbox\savecurrtable\hbox\bgroup\savetabular}
\def\endxtabular{\saveendtabular\egroup}

\def\xtable{table}

\def\@array[#1]#2{\setbox\@arstrutbox=\hbox{\vrule 
     height\arraystretch \ht\strutbox
     depth\arraystretch \dp\strutbox
     width\z@}\@mkpream{#2}\edef\@preamble{\halign \noexpand\@halignto
\bgroup%
\tabskip\z@\@arstrut\@preamble
\ifx\@captype\xtable\hskip-\tabcolsep\fi%% <==== Changed
\tabskip\z@ \cr}%
\let\@startpbox\@@startpbox \let\@endpbox\@@endpbox%
  \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi%
  \bgroup\let\par\relax%
  \let\@sharp##\let\protect\relax \lineskip\z@\baselineskip\z@\@preamble}

%% new
\def\new@tabacol{\edef\@preamble{\@preamble\hskip0pt}}

\def\@tabclassz{\ifcase \@lastchclass\@acolampacol% 
\or \@ampacol \or
   \or \or \@addamp \or \@acolampacol\or \@firstampfalse 
\ifx\@captype\xtable \new@tabacol\else\@tabacol \fi%
\fi%
\edef\@preamble{\@preamble%
  \ifcase \@chnum%
     \hfil\ignorespaces\@sharp\unskip\hfil%
     \or \ignorespaces\@sharp\unskip\hfil%
     \or \hfil\hskip\z@ \ignorespaces\@sharp\unskip\fi}}

\let\savehline\hline
\def\hline{\noalign{\vskip3pt}\savehline\noalign{\vskip3pt}}

\@namedef{table*}{\table}
\@namedef{endtable*}{\endtable}




%%%%%%%%%%% Code examples in text

%% Algorithm

\newcount\algocount
\def\looker{\ifx\next\end\else\ifx\next\lineending\vskip-4pt%
\noindent\qquad\else\vskip0pt\global\advance\algocount by1\relax%
\noindent\hskip12pt\hbox to0pt{\hss\the\algocount.}\quad\fi\fi}

\def\lineending{\parfillskip=0pt plus1fil\relax\futurelet\next\looker}

\def\thealgocount{\the\algocount}

{\obeylines
\gdef\algorithm{\medskip\global\algocount=0
\let\@currentlabel=\thealgocount
\def\note##1{\parfillskip=0pt\hfill##1}\def\ {\qquad}%
\baselineskip=12pt\parskip=2pt\obeylines\let^^M=\lineending}}

\def\endalgorithm{\vskip12pt}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Theorems, Proofs, Examples, etc.

\newif\ifperiodaftertheorem
\def\MakePeriodAfterTheorem{\global\periodaftertheoremtrue}

\def\@begintheorem#1#2{%
\let\enumerate\saveenumerate
\let\itemize\saveitemize
\let\@trivlist\save@trivlist
\it \trivlist \item[\hskip \labelsep{\bf #1\ #2}\ifperiodaftertheorem.\fi]}

\def\@opargbegintheorem#1#2#3{\it \trivlist
      \item[\hskip \labelsep{\bf #1\ #2\ (#3)}]}

\def\@xnthm#1#2[#3]{\expandafter\@ifdefinable\csname #1\endcsname
{\@definecounter{#1}\@addtoreset{#1}{#3}%
\expandafter%
\xdef\csname the#1\endcsname{\@thmcounter{#1}}%
\global\@namedef{#1}{\@thm{#1}{\sc#2}%%<=== \sc added 2/24/94
}\global\@namedef{end#1}{\@endtheorem}}}

\def\@endtheorem{\if@newlist\@noitemerr\fi 
   \if@inlabel\indent\fi 
   \ifhmode\unskip \par\fi 
\vskip6pt}

\def\@thmcountersep{.}

\newtheorem{theorem}{Theorem}[chapter]
\newtheorem{corollary}{Corollary}[chapter]
\newtheorem{lemma}{Lemma}[chapter]
\newtheorem{proposition}{Proposition}[chapter]
\newtheorem{algorithms}{Algorithm}[chapter]
\newtheorem{claim}{Claim}[chapter]

\def\TheoremTypeEnv#1{
\let\enumerate\saveenumerate
\let\itemize\saveitemize
\let\@trivlist\save@trivlist
\trivlist \item[\hskip \labelsep{\bf#1.}]}

\def\ExampleTypeEnv#1{
\let\enumerate\saveenumerate
\let\itemize\saveitemize
\let\@trivlist\save@trivlist
\trivlist \item[\hskip \labelsep{\it#1:}]}

\def\definition{\TheoremTypeEnv{Definition}}
\let\enddefinition\endtrivlist

\def\remark{\TheoremTypeEnv{Remark}}
\let\endremark\endtrivlist

\def\note{\TheoremTypeEnv{Note}}
\let\endnote\endtrivlist

\def\case{\TheoremTypeEnv{{\it Case}}}
\let\endcase\endtrivlist

\def\result{\TheoremTypeEnv{{\it Result.\/}}}
\let\endresult\endtrivlist

\def\example{\ExampleTypeEnv{Example}}
\def\endexample{~\qed\endtrivlist}

%%%%% 

\def\demo#1{\vskip-\lastskip
\vskip12pt
\noindent{\it#1.\/} }
\def\enddemo{\vskip12pt}


\def\inmathqed{\global\inmathqedtrue}

\def\qed{\penalty-250%
\hbox to 6pt{\hfill}\hfill\llap{%
\vbox{\hrule\hbox{\vrule height6pt\hskip6pt\vrule}\hrule}}}

\def\openbox{\global\openboxtrue}
\newif\ifopenbox

\def\slug{\ifopenbox\global\openboxfalse\qed\else\penalty-250%
\hbox to 6pt{\hfill}\hfill\llap{\vrule height 6pt width 6pt depth0pt}\fi}

\def\proof{\futurelet\next\lookforbracket}

\def\lookforbracket{\ifx\next[\let\go\usespecialterm
\else\let\go\relax
\vskip1sp\noindent{\bf Proof:}\enskip\relax\ignorespaces\fi\go}

\def\usespecialterm[#1]{\vskip12pt
\noindent{\bf #1:}\enskip\relax\ignorespaces}

\def\endproof{\ifqedequation\global\qedequationfalse\vskip-6pt%
\vskip-\belowdisplayskip\slug\else%
\ifinmathqed\global\inmathqedfalse\vskip-\belowdisplayskip
\else\slug\fi\fi\vskip12pt}

\def\proclaim#1{\vskip12pt\bgroup\noindent{\sc#1}\enskip\it\ignorespaces}
\def\endproclaim{\egroup\vskip6pt}

%%% Macros for Kluwer: Issue and Volume Table of Contents

\def\volumetocline{\hbox to30pc{\hss\Large\bf Table of Contents:
Volume \currvolnumber\ (\currvolyear)\hss}}

\def\volumetoc{\clearpage\thispagestyle{empty}\bgroup
\hyphenpenalty=10000
\let\TOCarticle\volTOCarticle
\def\\ {\hfill\break}
\volumetocline}

\def\endvolumetoc{\egroup\newpage}

\def\tocnumberline#1{\vskip26pt
{\elvbf\noindent#1}\vskip8pt}


%% Changed to accept titles more than 2 lines long


\def\volTOCarticle#1#2#3{\vskip.5pt
\setbox0=\hbox{#1\hskip12pt{\it#2}}
\ifdim\wd0<27pc
   %% The simple case, it will fit on one line:
  \hbox to30pc{\strut#1\dotfill{\it#2}\hbox to36pt{\hss#3}}
\else
   %% Find out what we must do next:
   \setbox1=\hbox{#1} \setbox2=\hbox{\hskip18pt{\it #2}}
   \dimen3=\wd1
   \advance\dimen3 by \wd2
   %% Is it 2 lines long?
  \ifdim\dimen3<56pc
   %% Yes, it is 2 lines long.
   %% Is title more than one line long?
       \ifdim\wd1>28pc
   %% Title is more than 1 line long:
   \parfillskip=0pt \parindent=0pt
   \rightskip=36pt
   #1% 
\hskip3pt.%%<==new
   \dotfill\strut\hbox{{\it#2}\hbox to0pt{\hskip36pt\hbox to0pt{\hss#3}\hss}}
       \else
   %% Title is not more than 1 line long:
   \parfillskip=0pt
   \parindent=0pt
   \rightskip=36pt
   #1%
\hskip3pt.%%<==new
\dotfill\break\hbox to27pc{\dotfill\strut\hbox{{\it#2}\hbox 
   to0pt{\hskip36pt\hbox to0pt{\hss#3}\hss}}}
       \fi
   \else
   %% It is more than 2 lines long!
   %% Is title more than two lines long?
       \ifdim\wd1>56pc
   %% Title is more than 2 lines long:
   \parfillskip=0pt \parindent=0pt
   \rightskip=36pt
   #1%
\hskip3pt.%%<==new
   \dotfill\strut\hbox{{\it#2}\hbox to0pt{\hskip36pt\hbox to0pt{\hss#3}\hss}}
       \else
   %% Title is not more than 2 line long:
   \parfillskip=0pt
   \parindent=0pt
   \rightskip=36pt
   #1%
\hskip3pt.%%<==new
\dotfill\break
      \hbox to27pc{\dotfill\strut\hbox{{\it#2}\hbox 
      to0pt{\hskip36pt\hbox to0pt{\hss#3}\hss}}}
       \fi
   \fi
\fi
\vskip.5pt
}

%% Changed to cover possibility of title 2 or more lines long.

\def\TOCarticle#1#2#3{\vskip5.2pt
\setbox0=\hbox{#1\hskip18pt{\it#2}}
\ifdim\wd0=28pt \advance\wd0 by 1pt\fi
\ifdim\wd0<28pc
   %% The simple case, it will fit on one line:
  \hbox to30pc{\strut#1\dotfill{\it#2}\hbox to24pt{\hss#3}}
\else
   %% Find out what we must do next:
   \setbox1=\hbox{#1} \setbox2=\hbox{\hskip18pt{\it #2}}
   \dimen3=\wd1
   \advance\dimen3 by \wd2
   %% Is it 2 lines long?
\ifdim\dimen3=56pc \advance\dimen3 by1sp\fi
  \ifdim\dimen3<56pc
   %% Yes, it is 2 lines long.
   %% Is title more than one line long?
       \ifdim\wd1=28pc \advance\wd1 by1pt\fi
       \ifdim\wd1>28pc
   %% Title is more than 1 line long:
   \parfillskip=0pt \parindent=0pt
   \rightskip=24pt
   #1%
\hskip3pt.%%<==new
\dotfill\strut\hbox{{\it#2}\hbox to0pt{\hskip24pt\hbox to0pt{\hss#3}\hss}}
       \else
   %% Title is not more than 1 line long:
   \parfillskip=0pt
   \parindent=0pt
   \rightskip=24pt
   #1%
\hskip3pt.%%<==new
\dotfill\break\hbox to28pc{\dotfill\strut\hbox{{\it#2}\hbox 
   to0pt{\hskip24pt\hbox to0pt{\hss#3}\hss}}}
       \fi
   \else
   %% It is more than 2 lines long!
   %% Is title more than two lines long?
\ifdim\wd1=56pc \advance\wd1 by 1sp\fi
       \ifdim\wd1>56pc
   %% Title is more than 2 lines long:
   \parfillskip=0pt \parindent=0pt
   \rightskip=24pt
   #1%
\hskip3pt.%%<==new
\dotfill\strut\hbox{{\it#2}\hbox to0pt{\hskip24pt\hbox to0pt{\hss#3}\hss}}
       \else
   %% Title is not more than 2 line long:
   \parfillskip=0pt
   \parindent=0pt
   \rightskip=24pt
   #1%
\hskip3pt.%%<==new
\dotfill\break
      \hbox to28pc{\dotfill\strut\hbox{{\it#2}\hbox 
      to0pt{\hskip24pt\hbox to0pt{\hss#3}\hss}}}
       \fi
   \fi
\fi
\vskip5.2pt\hrule width 30pc}

\def\aster{*}
\newcount\linenumber
\def\findtitle#1 {\def\one{#1}%
\ifx\one\aster\let\xgo\relax\else\global\advance\linenumber by 1
\expandafter\gdef\csname line\the\linenumber\endcsname{#1}%
\let\xgo\findtitle\fi\xgo}


\def\makeissuetoc{\expandafter\ifx\csname line\the\linenumber\endcsname\relax
\let\ygo\relax\else\let\ygo\makeissuetoc
\hbox to30pc{\hfill\issuetocfont 
\expandafter\csname line\the\linenumber\endcsname\hfill}
\vskip8pt\fi\global\advance\linenumber by1\relax\ygo}

\newif\ifinternational
\def\international{\global\internationaltrue}

\def\lookatcurrissue#1/#2{\gdef\two{#2}}
\def\checkcurrissuenumber{\setbox0=
\hbox{\expandafter\lookatcurrissue\currissuenumber/{}}}

\def\issuetoc{\thispagestyle{empty}
\expandafter\findtitle\thisjourname{} *
\linenumber=1
\bgroup
\hyphenpenalty=10000
\def\\ {\hfill\break}
\makeissuetoc
\ifinternational\global\internationalfalse%
\vskip6pt\centerline{\bigbit An International Journal}\fi\vskip24pt
\checkcurrissuenumber
\ifx\two\empty
\TOCvolumeline{Volume \currvolnumber, No.~\currissuenumber, \currissuemonth 
\ \currvolyear}
\else
\TOCvolumeline{Volume \currvolnumber, Nos.~\currissuenumber, \currissuemonth 
\ \currvolyear}
\fi}

\def\endissuetoc{\egroup\newpage}

%% Added Jan. 25, 1994. \longtitleissuetoc takes an argument so user can 
%% hand break lines, and add font change if desired.

\def\longtitleissuetoc#1{\thispagestyle{empty}
{\issuetocfont 
\everypar={\hskip\parfillskip}\parskip=0pt \baselineskip=27pt
\def\\ {\vskip1sp}
#1
\vskip1sp}
\bgroup
\hyphenpenalty=10000
\def\\ {\hfill\break}
\vskip24pt
\TOCvolumeline{Volume \currvolnumber, No.~\currissuenumber, \currissuemonth 
\ \currvolyear}}

\let\endlongtitleissuetoc\endissuetoc

%% Added Sept. 7, 93 to allow Special Issue title

\let\thespecialissue\relax

\def\TOCvolumeline#1{\noindent{\large#1}\vskip24pt
\thespecialissue
\hrule width 30pc}

\def\specialissue#1{\def\thespecialissue{\begin{center}\Large
\medbit #1\vskip24pt
\end{center}}}

\def\footnoterule{\kern -3\p@ \hrule 
width 3pc %%<=== change this dimen to change width of footnote rule line
\kern 2.6\p@}

% Make \cite yield citation in parenthesis or square brackets.
\def\@cite#1#2{{#1\if@tempswa , #2\fi}}

\def\@bibitem#1{\item\if@filesw 
\immediate\write\@auxout{\string\bibcite{#1}{[\the \c@enumi]}}\fi%
\ignorespaces}

\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi
  \def\@citea{}\@cite{\@for\@citeb:=#2\do
    {\@citea\def\@citea{,\penalty\@m\ }\@ifundefined
       {b@\@citeb}{[{\bf ?}]\@warning
       {Citation `\@citeb' on page \thepage \space undefined}}%
\hbox{\csname b@\@citeb\endcsname}}}{#1}}


\def\received#1\revised#2{\def\one{#1}\def\two{#2}%
\ifx\one\empty\else
\def\receivedline{\vskip6pt
\hbox to\textwidth{\footnotesize%
\ifx\one\empty\else{\it Received #1}\ifx\two\empty\else;\fi\fi%
\ifx\two\empty\else{\it Revised #2}\fi\hfill}\def\receivedline{}}\fi
\ifx\two\empty\else
\def\receivedline{\vskip6pt
\hbox to\textwidth{\footnotesize
\ifx\one\empty\else{\it Received #1;}\fi%
\ifx\two\empty\else\ {\it Revised #2}\fi\hfill}\def\receivedline{}}\fi}

\let\receivedline\relax

%% Listing

\let\saveenumerate\enumerate
\let\saveitemize\itemize
\let\save@trivlist\@trivlist

\def\enumerate{\ifnum \@enumdepth >3 \@toodeep\else
      \advance\@enumdepth \@ne 
      \edef\@enumctr{enum\romannumeral\the\@enumdepth}\list
      {\csname label\@enumctr\endcsname}{\usecounter
        {\@enumctr}\def\makelabel##1{##1\hss}}\fi}

\def\itemize{\ifnum \@itemdepth >3 \@toodeep\else \advance\@itemdepth \@ne
\edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
\list{\csname\@itemitem\endcsname}%{\def\makelabel##1{\hss\llap{##1}}}\fi}
{\def\makelabel##1{##1\hss}}\fi}


\def\@trivlist{\ifnum\@itemdepth>1 \vskip-\topsep\fi
\@topsepadd\topsep
  \if@noskipsec \leavevmode \fi
  \ifvmode \advance\@topsepadd\partopsep \else \unskip\par\fi
  \if@inlabel \@noparitemtrue \@noparlisttrue 
    \else \@noparlistfalse \@topsep\@topsepadd \fi
    \advance\@topsep \parskip
  \leftskip\z@
\rightskip\@rightskip \parfillskip\@flushglue
  \@setpar{\if@newlist\else{\@@par}\fi}%
  \global\@newlisttrue \@outerparskip\parskip}



\def\xpt{\textfont\z@\tenrm
  \scriptfont\z@\sevrm \scriptscriptfont\z@\fivrm
\textfont\@ne\tenmi \scriptfont\@ne\sevmi \scriptscriptfont\@ne\fivmi
\textfont\tw@\tensy \scriptfont\tw@\sevsy \scriptscriptfont\tw@\fivsy
\textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
\def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
          \textfont\@ne\tenmi
          \textfont\tw@\tensy \textfont\lyfam\tenly
          \@boldfalse}\@boldfalse
\def\boldmath{\@ifundefined{tenmib}{\global\font\tenmib\@mbi
   \global\font\tensyb\@mbsy
   \global\font\tenlyb\@lasyb\relax\@addfontinfo\@xpt
   {\def\boldmath{\everymath{\mit}\everydisplay{\mit}\@prtct\@nomathbold
        \textfont\@ne\tenmib \textfont\tw@\tensyb
        \textfont\lyfam\tenlyb \@prtct\@boldtrue}}}{}\@xpt\boldmath}%
\def\prm{\fam\z@\tenrm}%
\def\pit{\fam\itfam\tenit}\textfont\itfam\tenit \scriptfont\itfam\sevit
    \scriptscriptfont\itfam\sevit
\def\psl{\fam\slfam\tensl}\textfont\slfam\tensl
     \scriptfont\slfam\tensl \scriptscriptfont\slfam\tensl
\def\pbf{\fam\bffam\tenbf}\textfont\bffam\tenbf
    \scriptfont\bffam\sevbf \scriptscriptfont\bffam\fivbf
\def\ptt{\fam\ttfam\tentt}\textfont\ttfam\tentt
    \scriptfont\ttfam\tentt \scriptscriptfont\ttfam\tentt
\def\psf{\fam\sffam\tensf}\textfont\sffam\tensf
    \scriptfont\sffam\tensf \scriptscriptfont\sffam\tensf
\def\psc{\@getfont\psc\scfam\@xpt{\@mcsc}}%
\def\ly{\fam\lyfam\tenly}\textfont\lyfam\tenly
   \scriptfont\lyfam\sevly \scriptscriptfont\lyfam\fivly
\@setstrut \rm}


\newif\iflandscape

\def\landscapefigure{\newpage\thispagestyle{empty}
\global\landscapetrue\figure[h]}

\def\endlandscapefigure{\endfigure\newpage}

\def\landscapetable{\newpage\thispagestyle{empty}
\global\landscapetrue\table[h]}

\def\endlandscapetable{\endtable\newpage}

\def\spTOCvolumeline#1{\hbox to\textwidth{\hss\large
#1\hss}\vskip24pt
\thespecialissue
\hrule width 30pc}

\endinput

%% Change log:
%% November 22, 1994 

%% Added \paragraph command.

%% November 21, 1994 

%% Made \receivedline work without \editor command. If \editor is
%% not used \receivedline will appear above the abstract.

%% October 6, 1994 
%% Made change to \tocarticle and \voltocarticle to make sure
%% dotfill doesn't disappear if article title is exactly
%% the width of first line. 

%% June 21, 1994

Added \begin{landscapefigure}...\end{landscapefigure}
This positions figure at bottom of landscape page
if you use a 34 pc skip before the caption, i.e.,
  \begin{landscapefigure}
  \vskip34pc %% This dimension makes the figure caption be at
           %% the bottom of the page.
  \caption{This is a caption.}
  \end{landscapefigure}

Added \begin{landscapetable}...\end{landscapetable}

  \begin{landscapetable}
  \begin{tabular}{|c|c|c|}
  Hello& world& how are you?\cr
  are&you&are you, are you, are you??\cr
  \end{tabular}
  \caption{This is the table caption.This is the table caption.
  This is the table caption.This is the table caption.}
  \end{landscapetable}

%% June 20, 1994

`e' taken out of Acknowledgment.

Issue table of contents now has automatic switch built in:

When \issuenumber has more than one number, i.e., \issuenumber{3/4},
the Issue Table of Contents will write
``Vol. 1, nos. 3/4, March 1994''.

When \issuenumber is single number, i.e., \issuenumber{3},
the Issue Table of Contents will write
``Vol. 1, no. 3, March 1994''.

Writing the command \MakePeriodAfterTheorem in the file
will make `Theorem 2. xxxx' rather than `Theorem 2 xxxx'


Multiple \thanks in author and title lines will now work.


Listing works the same in Definition-type and Theorem-type
environments.


Bold super and subscripts will now change size automatically
and appropriately, overcoming the incorrect LaTeX defaults.

No bold math in subsubsection head


The receive/revised line will appear above the editor line.
If you do not have an editor line you can write
\receivedline wherever in the document you want that
line to appear.


%% Jan 20, 1994
\received{}\revised{} in Kluwer section, to enter received, revised
dates. They should be used with empty arguments if there is no
received or revised date for a particular article.

Made \alphabibliography{xxx}, with xxx being a bibtex file, xxx.bib.
For alphabetical references using bibtex.

Make \cite yield citation in parenthesis or square brackets, depending
on whether label is a number or lettered.

Made \begin{specialtable}... \end{specialtable} for cases in which there
is a tabular inside another tabular, or for when author wants to
use \begin{table}...\end{table} with something other than 
\begin{tabular}...\end{tabular} in it.

Appendix now takes an argument: \appendix{A}, \appendix{B} or \appendix{}.
In the last case the title will be `Appendix' and the equation numbers,
etc will be A.1, etc.

Argument given to \footnotetext{} will now show up in notes. 
Notes are automatically included
at end of article, in case author has forgotten to write it in.

\begin{wideequation}...\end{wideequation} 
now has auto noindent for text following it. 

New definition of splitmath, allows user to position `&' in top
line of math to line up bottom line at that point.

\author now takes \email as arg, doesn't matter if there are extra
blank lines between \author and \email; but \email <must> be used
even if it takes an empty argument.

Dummy text taken out of default author commands.

%% Dec 8, 1993
%% Change to name specific font: \font\elvrm=cmr10 scaled\magstephalf

%% November 29, 1993
%% Made \begin{table}[h] etc. work again.
%% Made tabular* and endtabular* work correctly in \table environment,
%% unchanged from normal LaTeX otherwise.
%% Made \specialtable and \endspecialtable for times when author
%% uses something other than \begin{tabular} or \begin{tabular*}
%% for table material. Use: 
%% \begin{table}
%% \specialtable 
%% xxxx
%% \endspecialtable
%% \end{table}


%% November 17, 1993
%% Change to position of title on title page.

%% November 10, 1993
%% Changed to allow PostScript Times-Roman text if 
%% \documentstyle[smjfonts][{smjrnl} is used.
%% Changed tabular macros so that they are normal except when
%% used in \table...\endtable. Made table title automatically
%% appear on top of table, no matter where author enters it.

%% November 3, 1993
%% Made \thanks produce footnote on first page of article.
%% Changed the table macro so caption is used even if no tabular
%% commands are found.

%% October 14, 1993
%% Made \let\catchcaption\empty so that if the first table doesn't
%% have a caption, no error message will be given.
%% Made xreferencing work in eqnarray and equation (!)

%% October 4, 1993
%% Defined \xlabel so that labels would be saved in eqnarray

%% September 24, 1993
%% Reset algorithm counter, make it possible to cross-reference in
%% algorithm with \label{xxx}, yielding algorithm line number.

%% set \let\templabel\relax so no error message appears the first time
%% eqnarray is used.

%% September 15, 1993
%% Eliminated indentation following \]

%% September 8a, 1993
%% Changed to allow special issue command for issue TOC
%% Changed to have a one page article read `5' instead of `5-5'
%% Changed endnotes to left align numbers 1.     instead of 1.
%%                                        10.              10.
%% so that endnotes line up on the left margin.
%% Added \editors command to work the same as \editor but for plural editors.
%% Change made to cross-ref labelling in eqnarray


