% Speech Coding and Synthesis -- Version December 1994
% Derived from
%         Handbook of geometry document style -- Version March 1992
%         Derived from 
%                 houches.sty (24 May 1989)
%         Created by Willem jan Maas (Elsevier Science)
% Adapted by Fer D. Mesman (Elsevier Science)

\typeout{Document Style `Speech' <September 1994>.}

\input toc.sty\relax % read re-definitions of existing parts of
 % LaTeX 2.09 and definitions of extra macros

% CHOOSING THE TYPE SIZE:
%
% The type size option is handled by reading a different file for each 
% size, as follows, to define font size-specific commands:
% 10pt : BK10, 11pt : BK11, 12pt : BK12
% Implemented by \def'ing \@ptsize to last digit of file name.
%

\def\@ptsize{0} % Default is speech10.STY
\@namedef{ds@11pt}{\def\@ptsize{1}} % 11pt option reads in speech11.STY
\@namedef{ds@12pt}{\def\@ptsize{2}} % 12pt option reads in speech12.STY


\newif\if@seminar \@seminarfalse % Default chapter type is `course'
\def\ds@seminar{\@seminartrue
 \let\chaptername=\seminarname} % Chapter type is `course'
\def\ds@course{\@seminarfalse
 \let\chaptername=\coursename} % Chapter type is `seminar'

\def\chapterstyle#1{\@nameuse{ds#1}}
\def\coursename{Chapter}
\def\seminarname{Seminar}
\let\chaptername=\coursename

% Even though books use two-sided printing, a `twoside' document-style
% option is provided. Two-side printing is default.
%
\@twosidetrue %  Default is two-sided printing.
\def\ds@oneside{\@twosidefalse %  Defines oneside option.
 \@mparswitchtrue} % Marginpars go on outside of page.

% draft option
%
% \overfullrule = 0pt % Default is don't mark overfull hboxes.
\def\ds@draft{\overfullrule 5pt} % Causes overfull hboxes to be marked.

% The \@options command causes the execution of every command \ds@FOO 
% which is defined and for which the user typed the FOO option in his
% \documentstyle command. For every option BAR he typed for which
% \ds@BAR is not defined, the file BAR.sty will be read after the present
% (main) .STY file is executed.

\@options

\new@level{part}
\new@level{chapter}
\new@level{section}[chapter]
\new@level{subsection}[section]
\new@level{subsubsection}[subsection]
\new@level{paragraph}[subsubsection]
\new@level{subparagraph}[paragraph]

\input speech1\@ptsize.sty\relax

% ****************************************
% *               FONTS *
% ****************************************
%
% This part of the document style defines three new fonts for LaTeX:
% the bold math italic font, the bold sans-serif font and the italic 
% sans-serif font.
\newif\if@oldfontsel 
\@ifundefined{extract@font}{\@oldfontseltrue}{\@oldfontselfalse}
\if@oldfontsel
 \input oldbold.sty\relax
\else
 \input newbold.sty\relax
\fi

% ****************************************
% *                LISTS *
% ****************************************
%

% ENUMERATE
% Enumeration is done with four counters: enumi, enumii, enumiii
% and enumiv, where enumN controls the numbering of the Nth level
% enumeration. The label is generated by the commands \labelenumi 
% ... \labelenumiv. The expansion of \p@enumN\theenumN defines the 
% output of a \ref command. 
% 16 Mar 88 -- changed defs of \labelenum... to use \theenum...

\def\labelenumi{{\rm (\theenumi)}} 
\def\theenumi{\roman{enumi}} 
 
\def\labelenumii{(\theenumii)}
\def\theenumii{\alph{enumii}}
\def\p@enumii{\theenumi}

\def\labelenumiii{\theenumiii.}
\def\theenumiii{\roman{enumiii}}
\def\p@enumiii{\theenumi(\theenumii)}

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

\def\enumerate{\ifnum \@enumdepth >1 \@toodeep\else
 \advance\@enumdepth \@ne 
 \edef\@enumctr{enum\romannumeral\the\@enumdepth}\list
 {\csname label\@enumctr\endcsname}{\usecounter
 {\@enumctr}\def\makelabel##1{\hfill##1}
 \settowidth{\labelwidth}{(vii)} \labelsep=0.5em
 \leftmargin\z@	\itemindent=\labelwidth
	\advance\itemindent\labelsep \advance\itemindent\parindent
	\partopsep\z@ \topsep\z@ \parsep\z@ \itemsep\z@
 \listparindent\z@}\fi}
\let\endenumerate=\endlist

% ITEMIZE
% Itemization is controlled by four commands: \labelitemi, \labelitemii,
% \labelitemiii, and \labelitemiv, which define the labels of the various 
% itemization levels.

\def\labelitemi{\bf --}
\def\labelitemii{$\ast$}

\newskip\@halfline
\@halfline=6pt plus 3 pt minus 2pt 

\def\itemize{\ifnum \@itemdepth >2 \@toodeep\else
  \advance\@itemdepth \@ne
  \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}\list
    {\csname\@itemitem\endcsname}{\settowidth{\labelwidth}
                {\csname\@itemitem\endcsname}
                \def\makelabel##1{##1}
		\itemindent=\labelwidth \advance\itemindent\labelsep
		\leftmargin\the\itemindent \itemindent=\z@
                \partopsep\z@ \topsep\@halfline \parsep\z@
		\itemsep\z@ \listparindent\z@} \fi}
\let\enditemize=\endlist



% VERSE
% The verse environment is defined by making clever use of the
% list environment's parameters. The user types \\ to end a line.
% This is implemented by \let'in \\ equal \@centercr.
%
\def\verse{\let\\=\@centercr 
  \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent 
 \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]}
\let\endverse\endlist

% QUOTATION
% Fills lines
% Indents paragraph
% 
\def\quotation{\list{}{\listparindent 1.5em
 \itemindent\listparindent
 \rightmargin\leftmargin\parsep 0pt plus 1pt}\footnotesize\item[]}
\let\endquotation=\endlist

% QUOTE -- same as quotation except no paragraph indentation,
%
\def\quote{\list{}{\rightmargin\leftmargin}\item[]}
\let\endquote=\endlist

% DESCRIPTION 
%
% To change the formatting of the label, you must redefine 
% \descriptionlabel. 

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

\let\enddescription\endlist

\newdimen\descriptionmargin
\descriptionmargin=3em


% ****************************************
% *         OTHER ENVIRONMENTS *
% ****************************************
%
%
% THEOREM 
% \@begintheorem ... \@endtheorem are the commands executed at the
% beginning and end of a (user-defined) theorem-like environment.
% Except \@opargbegintheorem is executed when an optional argument is
% given. Cf. LATEX.TEX.
%
\def\@begintheorem#1#2{\em \trivlist
 \item[\hskip\labelsep {\bf #1\ #2.}]}
\def\@opargbegintheorem#1#2#3{\em \trivlist
 \item[\hskip\labelsep {\bf #1\ #2}\ {\rm(}{\em #3\/}{\rm)}{\bf.}]}
\def\@endtheorem{\endtrivlist}

\newtheorem{theorem}{Theorem}[section]

% QUESTION
% The question environment produces upright text

\newcounter{question}[section]
\def\thequestion{\thesection.\arabic{question}}

\def\question{\@ifnextchar [{\@opargquestion}
 {\refstepcounter{question}\it
 \@begintheorem{Question}{\thequestion}}}

\def\@opargquestion[#1]{%
 \refstepcounter{question}\it
 \@opargbegintheorem{Question}{\thequestion}{#1}}

\def\endquestion{\endtrivlist}

% EXAMPLE
% The example environment produces upright text

\newcounter{example}[section]
\def\theexample{\thesection.\arabic{example}}

\def\example{\@ifnextchar [{\@opargexample}
 {\refstepcounter{example}\it
 \@begintheorem{Example}{\theexample}}}

\def\@opargexample[#1]{%
 \refstepcounter{example}\it
 \@opargbegintheorem{Example}{\theexample}{#1}}

\def\endexample{\endtrivlist}


\def\proof{\@ifnextchar [{\@opargproof}
 {\vskip\baselineskip
 \noindent{\bf Proof. }}}

\def\@opargproof[#1]{%
 \vskip\baselineskip\noindent
 {\bf Proof. }{\rm #1}}

\def\endproof{\hfill\opensquare\vskip\baselineskip\global\@ignoretrue}

\def\opensquare{\hbox{\vrule width 0.4pt height0.5em depth0.1em\kern-0.4pt
 \raise0.5em\hbox{\vrule width 0.6em height.32pt depth 0.08pt}\kern
 -0.4pt\vrule width 0.4pt height0.5em depth0.1em\kern-0.6em
 \lower0.1em\hbox{\vrule width 0.6em height.32pt depth 0.08pt}}}

\def\remark#1{\vskip\baselineskip
 \noindent{\bf Remark #1. }}

\def\endremark{\vskip\baselineskip\global\@ignoretrue}


% TITLEPAGE
% In the normal environments, the titlepage environment does nothing but 
% start and end a page, and inhibit page numbers. It also resets the
% page number to zero. In two-column style, it still makes a one-column
% page.
%
\def\titlepage{\newpage \thispagestyle{empty}\c@page\z@}
\def\endtitlepage{\newpage}

% ARRAY AND TABULAR
%

\arraycolsep 0pt % 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.
\def\arraystretch{1.2} % Default value.

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

% MINIPAGE
% \@minipagerestore is called upon entry to a minipage environment to
% set up things that are to be handled differently inside a minipage
% environment. In the current styles, it does nothing.
%
% \skip\@mpfootins : plays same role for footnotes in a minipage as
% \skip\footins does for ordinary footnotes

\skip\@mpfootins = \skip\footins

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


% ****************************************
% *        CHAPTERS AND SECTIONS *
% ****************************************
%

% The value of the counter secnumdepth gives the depth of the
% highest-level sectioning command that is to produce section numbers.
%
\setsecnumdepth{subsubsection}


% For any counter CTR, \theCTR is a macro that defines the printed version
% of counter CTR. It is defined in terms of the following macros:
%
% \arabic{COUNTER} : The value of COUNTER printed as an arabic numeral.
% \roman{COUNTER} : Its value printed as a lower-case roman numberal.
% \Roman{COUNTER} : Its value printed as an upper-case roman numberal.
% \alph{COUNTER} : Value of COUNTER printed as a lower-case letter:
% 1 = a, 2 = b, etc.
% \Alph{COUNTER} : Value of COUNTER printed as an upper-case letter:
% 1 = A, 2 = B, etc.
%

\def\thepart {\arabic{part}}
\def\thechapter {\arabic{chapter}}
\def\thesection {\arabic{section}}
\def\thesubsection {\thesection.\arabic{subsection}}
\def\thesubsubsection{\thesubsection .\arabic{subsubsection}}
\def\theparagraph {\thesubsubsection.\arabic{paragraph}}
\def\thesubparagraph {\theparagraph.\arabic{subparagraph}}
 
% \@chapapp is initially defined to be 'Course'. 
% The \appendix command redefines it to be 'Appendix'.
%
\def\@chapapp{\chaptername}

\def\thisischapter#1{\gdef\@@chapter{#1}} %Used on titlepage
\gdef\@@chapter{} % Set the default

% ****************************************
% *         TABLE OF CONTENTS, ETC. *
% ****************************************
%
% A \subsection command writes a 
% \contentsline{subsection}{TITLE}{PAGE}
% command on the .toc file, where TITLE contains the contents of the
% entry and PAGE is the page number. If subsections are being numbered,
% then TITLE will be of the form
% \numberline{NUM}{HEADING}
% where NUM is the number produced by \thesubsection. Other sectioning
% commands work similarly. 
%
% A \caption command in a 'figure' environment writes
% \contentsline{figure}{\numberline{NUM}{CAPTION}}{PAGE}
% on the .lof file, where NUM is the number produced by \thefigure and
% CAPTION is the figure caption. It works similarly for a 'table' environment.
%
% The command \contentsline{NAME} expands to \l@NAME. So, to specify
% the table of contents, we must define \l@chapter, \l@section, 
% \l@subsection, ... ; to specify the list of figures, we must define
% \l@figure; and so on. Most of these can be defined with the
% \@dottedtocline command, which works as follows.
%
% \@dottedtocline{INDENT}{NUMWIDTH}{STYLE}{NUMBER}{TITLE}{PAGE}
% INDENT : The indentation from the outer left margin of the start of 
% the contents line.
% NUMWIDTH: The width of a box in which the section number is to go,
% if TITLE includes a \numberline command.
% 
% This command uses the following three parameters, which are set
% with a \def (so em's can be used to make them depend upon the font).
% \@pnumwidth: The width of a box in which the page number is put.
% \@tocrmarg : The right margin for multiple line entries. One
% wants \@tocrmarg > or = \@pnumwidth
% \@dotsep : Separation between dots, in mu units. Should be \def'd to
% a number like 2 or 1.7

\def\@pnumwidth{2em}
\def\@tocrmarg {4em}
\def\@dotsep{2.21}
\setcounter{tocdepth}{4}

% TABLEOFCONTENTS
% In report style, \tableofcontents, \listoffigures, etc. are always
% set in single-column style.

\def\contentsname{Contents}
\settocdepth{subsubsection}
\newdimen\@tpagindent
\@tpagindent=0pc

\def\tableofcontents{\begingroup
 \def\makelabel##1{##1\hss}
 \subsubsection*{\contentsname}%
 \@starttoc{toc}
 \endgroup}
 
%%% TOEVOEGING WJ
\typeout{Automatic indentations in TOC WJM <9 Dec 1991>}

\newdimen\ci@section % \ci@NAME is the total indent for the contents
\newdimen\ci@subsection % entry at level NAME
\newdimen\ci@subsubsection
\newdimen\cw@section % \cw@NAME is the width of the box containing 
\newdimen\cw@subsection % the number
\newdimen\cw@subsubsection


\def\l@chapter#1#2{\relax}
\def\l@section{\@dottedtocline{\ci@section}{\cw@section}{\footnotesize}{\thesection.}}
\def\l@normalsection{\@dottedtocline{\ci@section}{\cw@section}{\footnotesize}{\thesection.}}
\def\l@subsection{\@dottedtocline{\ci@subsection}{\cw@subsection}{\footnotesize}{\thesubsection.}}
\def\l@subsubsection{\@dottedtocline{\ci@subsubsection}{\cw@subsubsection}{\footnotesize}{\thesubsubsection.}}

\let\@oldcontentsline\contentsline
\let\@oldtableofcontents\tableofcontents
\let\@oldcontentsextra\contentsextra

\def\tableofcontents{\footnotesize
 \def\contentsextra##1{\relax}%
 \@input{\jobname.toc}%
 \ci@section=0pt
 \cw@section=\secw
 \advance\cw@section0.5em
 \ci@subsection=\cw@section
 \cw@subsection=\subsecw
 \advance\cw@subsection\cw@section
 \ci@subsubsection=\ci@subsection
 \advance\ci@subsubsection\cw@subsection
 \cw@subsubsection=\cw@subsection
 \advance\cw@subsubsection\subsubsecw\relax
 \let\tableofcontents\@oldtableofcontents
 \let\contentsline\@oldcontentsline
 \begingroup
 \leftskip\@tpagindent
 \tableofcontents\endgroup\normalsize
 \let\contentsextra\@oldcontentsextra}

\newdimen\chapw
\newdimen\secw
\newdimen\subsecw
\newdimen\subsubsecw
\newbox\tempcbox

\def\CHAPTER{chapter}
\def\SECTION{section}
\def\SUBSECTION{subsection}
\def\SUBSUBSECTION{subsubsection}

\def\contentsline#1#2#3#4{\def\tester{#1}%
 \ifx\tester\CHAPTER\ifnum#2>0
 \setbox\tempcbox=\hbox{#2.}%
 \ifdim\chapw<\wd\tempcbox\chapw=\wd\tempcbox
 \fi\fi
 \else 
 \ifx\tester\SECTION\ifnum#2>0
 \setbox\tempcbox=\hbox{#2.}%
 \ifdim\secw<\wd\tempcbox\secw=\wd\tempcbox
 \fi\fi
 \else
 \ifx\tester\SUBSECTION\ifnum#2>0
 \setbox\tempcbox=\hbox{#2.}%
 \ifdim\subsecw<\wd\tempcbox\subsecw=\wd\tempcbox
 \fi\fi
 \else
 \ifx\tester\SUBSUBSECTION\ifnum#2>0
 \setbox\tempcbox=\hbox{#2.}%
 \ifdim\subsubsecw<\wd\tempcbox\subsubsecw=\wd\tempcbox
 \fi\fi
 \fi\fi\fi\fi}
%%% END INPUT WJ

% LIST OF FIGURES
%
\def\listfigurename{List of figures}

\def\listoffigures{\@starttable{\@fulllof}{\@partlof}}

\def\@fulllof{\chapter*{\listfigurename} \@starttoc{lof}}

\def\@partlof#1{\ifcase#1 \section*{\listfigurename}\or
 \subsection*{\listfigurename}\else \relax \fi \@starttoc{lof}}

\def\l@figure{\@dottedtocline{1.5em}{2.3em}{\footnotesize}{\thefigure}}

% LIST OF TABLES
%
\def\listtablename{\listtableename}
\def\listoftables{\@starttable{\@fulllot}{\@partlot}}

\def\@fulllot{\chapter*{\listtableename} \@starttoc{lot}}

\def\@partlot#1{\ifcase#1 \section*{\listtableename}\or
 \subsection*{\listtableename}\else \relax \fi \@starttoc{lot}}

\def\l@table{\@dottedtocline{1.5em}{2.3em}{\footnotesize}{\thetable}}


% ****************************************
% *             BIBLIOGRAPHY *
% ****************************************
%
% The thebibliography environment executes the following commands:
%
% \def\newblock{\hskip .11em plus .33em minus .07em} --
% Defines the `closed' format, where the blocks (major units of 
% information) of an entry run together.
%
% \sloppy -- Used because it's rather hard to do line breaks in 
% bibliographies,
% 
% \sfcode`\.=1000\relax --
% Causes a `.' (period) not toproduce an end-of-sentence space.

\def\bibname{References}
\let\endthebibliography=\endlist

\def\citationstyle#1{\csname cs@#1\endcsname}

% definitions for `nameyear' citation style
\def\nam@thebib#1{\section*{\bibname}%
\@mkboth{\bibname}{\bibname}\addcontentsline{toc}{section}{\bibname}
\footnotesize\list{}{\labelwidth\z@ \leftmargin 1em
 \topsep\z@ \partopsep\z@ \rightmargin\z@ \itemsep\z@
 \itemindent-\leftmargin \parsep\z@}\sloppy 
 \clubpenalty4000 \widowpenalty4000 \sfcode`\.=1000\relax}

\def\nam@bibitem#1{\item\if@filesw \immediate\write\@auxout
 {\string\bibcite{#1}{?}}\fi\ignorespaces}
 
% \@@cite is original definition of \cite
\let\@@cite=\cite
\def\citefull{\def\nameyear##1##2{##1, ##2}\@@cite}
\def\citeyear{\def\nameyear##1##2{##2}\@@cite}

% \@citex loops over the list of citation keys
\def\nam@citex[#1]#2{\if@filesw
 \immediate\write\@auxout{\string\citation{#2}}\fi
 \def\@citea{}\@cite{\@for\@citeb:=#2\do
 {\@citea\def\@citea{; }\@ifundefined{b@\@citeb}{{\bf ?}\@warning
 {Citation `\@citeb' on page \thepage \space undefined}}%
{\csname b@\@citeb\endcsname}}}{#1}}

% \@cite produces the output of \cite
\def\nam@cite#1#2{(#1\if@tempswa , #2\fi)}

% definitions for `number' citation style
\def\num@thebib#1{\section*{\bibname}%
\@mkboth{\bibname}{\bibname}\addcontentsline{toc}{section}{\bibname}
\footnotesize\list{[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}
 \leftmargin\labelwidth \advance\leftmargin\labelsep
 \topsep\z@ \partopsep\z@ \rightmargin\z@ \itemsep\z@
 \parsep\z@ \usecounter{enumi}}\sloppy 
 \clubpenalty4000 \widowpenalty4000 \sfcode`\.=1000\relax}

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

\def\num@biblabel#1{[#1]\hfill}

\newcount\@tempcntc
% \@citex loops over the list of citation keys and collapses 
% citation numbers to ranges. Non-numeric and undefined labels are handled.
% The citation keys are not sorted.
\def\num@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi
 \@tempcnta\z@\@tempcntb\m@ne\def\@citea{}\@cite{\@for\@citeb:=#2\do
 {\@ifundefined
 {b@\@citeb}{\@citeo\@tempcntb\m@ne\@citea
 \def\@citea{,\penalty\@m\ }{\bf ?}\@warning
 {Citation `\@citeb' on page \thepage \space undefined}}%
% IF \b@KEY expands to number 
% \@tempcntc := expansion of \b@KEY
% ELSE
% \@tempcntc := 0; \box0 := expansion of \b@KEY 
 {\setbox\z@\hbox{\global\@tempcntc0\csname b@\@citeb\endcsname\relax}%
 \ifnum\@tempcntc=\z@ \@citeo\@tempcntb\m@ne
 \@citea\def\@citea{,\penalty\@m\ }
 \hbox{\csname b@\@citeb\endcsname}%
 \else
 \advance\@tempcntb\@ne
 \ifnum\@tempcntb=\@tempcntc
 \else\advance\@tempcntb\m@ne\@citeo
 \@tempcnta\@tempcntc\@tempcntb\@tempcntc\fi\fi}}\@citeo}{#1}}

\def\@citeo{\ifnum\@tempcnta>\@tempcntb\else\@citea
 \def\@citea{,\penalty\@m\ }%
 \ifnum\@tempcnta=\@tempcntb\the\@tempcnta\else
 {\advance\@tempcnta\@ne\ifnum\@tempcnta=\@tempcntb \else \def\@citea{--}\fi
 \advance\@tempcnta\m@ne\the\@tempcnta\@citea\the\@tempcntb}\fi\fi}

% \@cite produces the output of \cite
\def\num@cite#1#2{[{#1\if@tempswa , #2\fi}]}

% \citenum emits the plain citation label without ornament
\def\citenum#1{\begingroup \def\@cite##1##2{##1}\cite{#1}\endgroup}

% definitions for selecting `nameyear' and `number' citation style
\def\cs@nameyear{\let\thebibliography=\nam@thebib
\let\@biblabel=\@gobble \let\@bibitem=\nam@bibitem
% \cite is redefined to allow a *-form;
\def\cite{\@ifstar{\citeyear}{\citefull}}\let\@citex=\nam@citex
\let\@cite=\nam@cite}

\def\cs@number{\let\thebibliography=\num@thebib \let\cite=\@@cite
\let\@biblabel=\num@biblabel \let\@bibitem=\num@bibitem
\let\nameyear=\@gobbletwo \let\@citex=\num@citex \let\@cite=\num@cite}


% ****************************************
% *             FOOTNOTES *
% ****************************************
%
% \footnoterule is a macro to draw the rule separating the footnotes from
% the text. It should take zero vertical space, so it needs a negative
% skip to compensate for any positive space taken by the rule. (See
% PLAIN.TEX.)

\def\footnoterule{\kern-3\p@ \hrule width 5em \kern2.6\p@} 

% \newcounter{footnote}
\@addtoreset{footnote}{chapter} % Numbers footnotes within chapters

% \@makefntext{NOTE} :
% Must produce the actual footnote, using \@thefnmark as the mark 
% of the footnote and NOTE as the text. It is called when effectively
% inside a \parbox of width \columnwidth (i.e., with \hsize = 
% \columnwidth). 
%
% The following macro indents all lines of the footnote by 10pt, and 
% indents the first line of a new paragraph by 1em. To change these 
% dimensions, just substitute the desired value for '10pt' [in both 
% places] or '1em'. The mark is flushright against the footnote. 
% \long\def\@makefntext#1{\@setpar{\@@par\@tempdima \hsize 
% \advance\@tempdima-10pt\parshape \@ne 10pt \@tempdima}\par
% \parindent 1em\noindent \hbox to \z@{\hss$^{\@thefnmark}$}#1}
%
% A simpler macro is used, in which the footnote text is
% set like an ordinary text paragraph, with no indentation except
% on the first line of a paragraph, and the first line of the 
% footnote. Thus, all the macro must do is set \parindent
% to the appropriate value for succeeding paragraphs and put the 
% proper indentation before mark.

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

% \@makefnmark : A macro to generate the footnote marker that goes
% in the text. Default used.
%
\def\thefootnote{\arabic{footnote}}



% ****************************************
% *         FIGURES AND TABLES *
% ****************************************
% 
% Float placement parameters. See LaTeX manual for their definition.
%
\setcounter{topnumber}{2} \def\topfraction{0.85}
\setcounter{bottomnumber}{2} \def\bottomfraction{0.8}
\setcounter{totalnumber}{3} \def\textfraction{0.15}
\def\floatpagefraction{0.5}
\setcounter{dbltopnumber}{2} \def\dbltopfraction{0.85}
\def\dblfloatpagefraction{0.5}

% \@makecaption{NUMBER}{TEXT} : Macro to make a figure or table caption. 
% NUMBER : Figure or table number--e.g., 'Figure 3.2' 
% TEXT : The caption text.
% Macro should be called inside a \parbox of right width, with \normalsize.

\long\def\@makefigurecaption#1#2{\vskip 10pt \begingroup 
 \let\footnote\relax
 \global\setbox\@tempboxa\hbox{\footnotesize #1. #2}\endgroup
 \ifdim \wd\@tempboxa>\hsize \footnotesize #1. #2\par \else
 \hbox to\hsize{\hfil\footnotesize #1. #2\hfil}\fi}

\long\def\@maketablecaption#1#2{\begingroup \let\footnote\relax
 \global\setbox\@tempboxa\hbox{\footnotesize #2}
 \endgroup \parbox[t]{\hsize}{\footnotesize
 \hbox to \hsize{\hss#1\hss}\par #2}\vskip 4pt}

% To define a float of type TYPE (e.g., TYPE = figure), the document style 
% must define the following.
%
% \fps@TYPE : The default placement specifier for floats of type TYPE.
%
% \ftype@TYPE : The type number for floats of type TYPE. Each TYPE has
% associated a unique positive TYPE NUMBER, which is a power 
% of two. E.g., figures might have type number 1, tables type 
% number 2, programs type number 4, etc.
%
% \ext@TYPE : The file extension indicating the file on which the 
% contents list for float type TYPE is stored. For example, 
% \ext@figure = 'lof'.
%
% \fnum@TYPE : A macro to generate the figure number for a caption.
% For example, \fnum@TYPE == Figure \thefigure.
%
% The actual float-making environment commands--e.g., the commands
% \figure and \endfigure--are defined in terms of the macros \@float
% and \end@float, which are described below.
%
% \@float{TYPE}[PLACEMENT] : Macro to begin a float environment for a 
% single-column float of type TYPE with PLACEMENT as the placement 
% specifier. The default value of PLACEMENT is defined by \fps@TYPE. 
% The environment is ended by \end@float. 
% E.g., \figure == \@float{figure}, \endfigure == \end@float.

% FIGURE

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

\def\fps@figure{tbp}
\def\ftype@figure{1}
\@extension{figure}{lof}
\def\figurename{Figure}
\def\fnum@figure{\figurename\ \thefigure}
\def\figure{\let\@makecaption\@makefigurecaption \centering\@float{figure}}
\let\endfigure\end@float
\@namedef{figure*}{\@dblfloat{figure}}
\@namedef{endfigure*}{\end@dblfloat}

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

\def\fps@table{tbp}
\def\ftype@table{2}
\@extension{table}{lot}
\def\tablename{Table}
\def\fnum@table{\tablename\ \thetable}
\def\table{\let\@makecaption\@maketablecaption \centering\@float{table}}
\let\endtable\end@float
\@namedef{table*}{\@dblfloat{table}}
\@namedef{endtable*}{\end@dblfloat}


% ****************************************
% *                TITLE                 *
% ****************************************
%
% Uses same title format as the article style's
% titlepage option.

% \def\title#1{\gdef\@title{#1}}     
                                     \gdef\@title{\relax}
\def\subtitle#1{\gdef\@subtitle{#1}} \gdef\@subtitle{\relax}
% \def\author#1{\gdef\@author{#1}}   
                                     \gdef\@author{\relax}
\def\editor#1{\gdef\@editor{#1}}     \gdef\@editor{\relax}

%\def\date#1{\gdef\@date{#1}}
%\gdef\@date{\today}          %Default is today's date
\def\pubyear#1{\gdef\@pubyear{#1}}
\xdef\@pubyear{\number\year}          %Default taken from today's date

\def\empty@field{\relax}

\def\maketitle{\begin{titlepage} \centering
 \let\footnoterule\relax      % Produce footnotes without separating rule.
 \setcounter{page}{0}
 \null \vskip 0pt plus 1fil \begin{raggedright}
 {\LARGE \@subtitle \par} \vskip 3em
 {\LARGE \@title    \par} \vskip 3em
 {\large edited by}       \vskip 1em
 {\large \@editor}
 \vskip 0pt plus 3fil
 {\normalsize NORTH-HOLLAND \par}
 {\normalsize AMSTERDAM $\cdot$ OXFORD $\cdot$ NEW YORK $\cdot$ TOKYO \par}
 \vskip 0pt plus 1fil \null
 \end{raggedright} \par
 \@thanks \gdef\@thanks{}
\end{titlepage}
\setcounter{footnote}{0}       % Footnotes start at zero
\edef\@booktitle{\@title}      % Save title and author(s)
\edef\@bookauthor{\@author}    % of book
\let\maketitle\relax}



%    ****************************************
%    *            PAGE STYLES               *
%    ****************************************
%
% The page style 'foo' is defined by defining the command \ps@foo.  This
% command should make only local definitions.  There should be no stray
% spaces in the definition, since they could lead to mysterious extra
% spaces in the output.
%
% The \ps@... command defines the macros \@oddhead, \@oddfoot,
% \@evenhead, and \@evenfoot to define the running heads and
% feet---e.g., \@oddhead is the macro to produce the contents of the
% heading box for odd-numbered pages.  It is called inside an \hbox of
% width \textwidth.
%
% To make headings determined by the sectioning commands, the page style
% defines the commands \chaptermark, \sectionmark, ... , where
% \chaptermark{TEXT} is called by \chapter to set a mark, and so on.
% The \...mark commands and the \...head macros are defined with the
% help of the following macros.  (All the \...mark commands should be
% initialized to no-ops.)
%
% MARKING CONVENTIONS:
% LaTeX extends TeX's \mark facility by producing two kinds of marks
% a 'left' and a 'right' mark, using the following commands:
%     \markboth{LEFT}{RIGHT} : Adds both marks.
%     \markright{RIGHT}      : Adds a 'right' mark.
%     \leftmark  : Used in the \@oddhead, \@oddfoot, \@evenhead or \@evenfoot
%                  macro, gets the current 'left'  mark.  Works like TeX's 
%                  \botmark command.
%     \rightmark : Used in the \@oddhead, \@oddfoot, \@evenhead or \@evenfoot
%                  macro, gets the current 'right'  mark.  Works like TeX's 
%                  \firstmark command.
% The marking commands work reasonably well for right marks 'numbered 
% within' left marks--e.g., the left mark is changed by a \chapter command and
% the right mark is changed by a \section command.  However, it does
% produce somewhat anomalous results if two \bothmark's occur on the same page.
% 
% 
% Commands like \tableofcontents that should set the marks in some page styles
% use a \@mkboth command, which is \let by the pagestyle command (\ps@...)
% to \markboth for setting the heading or \@gobbletwo to do nothing.

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

% \ps@empty and \ps@plain defined in latex.tex; the latter one
% is re-defined here
\def\ps@plain{\let\@mkboth\@gobbletwo
     \def\@oddhead{}\def\@oddfoot{\small\rm\hfil\thepage
     \hfil}\def\@evenhead{}\let\@evenfoot\@oddfoot}

\def\ps@headings{\let\@mkboth\markboth
  \def\@oddhead{\small {\it \@shorttitle}\hfill\thepage}
  \def\@oddfoot{}
  \def\@evenhead{\small \thepage \hfill{\it\@shortauthor}}
  \def\@evenfoot{}
  \def\chaptermark##1{}}

% Definition of 'myheadings' page style removed


%    ****************************************
%    *             MISCELLANEOUS            *
%    ****************************************
%
% DATE
%
\def\today{\ifcase\month\or
  January\or February\or March\or April\or May\or June\or
  July\or August\or September\or October\or November\or December\fi
  \space\number\day, \number\year}

% \em is defined to be \it inside an unslanted style and \rm inside a
% slanted style.  An \em command in a section title will produce a \pem
% command in the table of contents.
%
% \def\em{\protect\pem{}}
% \def\pem{\ifdim \fontdimen\@ne\font >\z@ \rm \else \it \fi}

%    ****************************************
%    *               EQUATION               *
%    ****************************************
%
% EQUATION and EQNARRAY -- put here because it must follow \chapter definition
%
% \newcounter{equation}    
%
\@addtoreset{equation}{section}   % Makes \section reset 'equation' counter.

\def\theequation{\thesection.\arabic{equation}}

\jot=5pt      % Extra space added between lines of an eqnarray environment

% The macro \@eqnnum defines how equation numbers are to appear in equations.
%
% \def\@eqnnum{(\theequation)} 

\def\mathtrivlist{\parsep\parskip\topsep\abovedisplayskip
  \@trivlist \labelwidth\z@ \leftmargin\z@
  \itemindent\z@ \def\makelabel##1{##1}}

\def\endmathtrivlist{\endtrivlist}


\newdimen\mathindent     \mathindent=4em
\newdimen\eqnarraycolsep \eqnarraycolsep=1pt

\def\displaymath{\relax\ifmmode\@badmath\else\@beginparpenalty\predisplaypenalty
 \@endparpenalty\postdisplaypenalty
 \begin{mathtrivlist}\item[]\leavevmode
 \hbox to\linewidth\bgroup$ \displaystyle
 \hskip\mathindent\bgroup\fi}
\def\enddisplaymath{\relax\ifmmode \egroup $\hfil \egroup\global\@ignoretrue
   \end{mathtrivlist}\else
\@badmath\global\@ignoretrue \fi}

\let\[\displaymath
\let\]\enddisplaymath

\def\equation{\@beginparpenalty\predisplaypenalty
 \@endparpenalty\postdisplaypenalty
\refstepcounter{equation}\mathtrivlist \item[]\leavevmode
 \hbox to\linewidth\bgroup $ \displaystyle
\hskip\mathindent}
\def\endequation{$\hfil \displaywidth\linewidth\@eqnnum\egroup \endmathtrivlist}

%% New version to take care of long equations
\newbox\temp@
\newbox\temp@@
\newdimen\tempdim@

\def\equation{\@beginparpenalty\predisplaypenalty
 \@endparpenalty\postdisplaypenalty
\refstepcounter{equation}\mathtrivlist \item[]\leavevmode
\setbox\temp@=\hbox \bgroup $\displaystyle}

\def\endequation{$\egroup
   \tempdim@=\wd\temp@
   \setbox\temp@@=\hbox{\@eqnnum}%
   \advance\tempdim@ 5em\relax %5em=\mathindent+1em for not touching \@eqnnum
   \advance\tempdim@\wd\temp@@
   \ifnum\tempdim@>\linewidth\par
        \hbox to \linewidth{\hskip 4em minus 4em\box\temp@\hfil\strut}
        \hbox to \linewidth{\hfil\box\temp@@}
   \else
        \hbox to \linewidth{\hskip\mathindent\box\temp@\hfil\box\temp@@}\fi
 \endmathtrivlist}

\def\@notmath#1{\@latexerr{\noexpand#1 may only be used in math mode}\@eha}


\def\binom#1#2{\relax\ifmmode{\left({#1\atop#2}\right)}\else
               \@notmath{\binom}\fi}
        
\def\eqnarray{\stepcounter{equation}\let\@currentlabel=\theequation
\global\@eqnswtrue
\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\eqnarraycolsep \hfil${##}$\hfil
 &\global\@eqcnt\tw@ \hskip 2\eqnarraycolsep $\displaystyle{##}$\hfil 
 \tabskip\@centering&\llap{##}\tabskip\z@\cr}
\def\endeqnarray{\@@eqncr\egroup
 \global\advance\c@equation\m@ne$$\global\@ignoretrue }

% LaTeX eliminates \eqalign and replaces it by the eqnarray environment.
%
\def\ialign{\everycr{}\tabskip\z@skip\halign} % initialized \halign
\def\eqalign#1{\null\,\vcenter{\openup\jot\m@th
  \ialign{\strut\hfil$\displaystyle{##}$&$\displaystyle{{}##}$\hfil
    \crcr#1\crcr}}\,}

% various operator definitions
\def\d{\,{\rm d}}
\def\sgn{\mathop{\rm sgn}\nolimits}
\def\e{\mathop{\rm e}\nolimits}
\def\curl{\mathop{\rm curl}\nolimits}
\def\div{\mathop{\rm div}\nolimits}
\def\Re{\mathop{\rm Re}\nolimits}
\def\Im{\mathop{\rm Im}\nolimits}
% integrals should have limits in display style, and
% superior/inferiors otherwise
\def\int{\intop\nolimits}

% \vec{X}  makes X a vector symbol (font = bold italic)
% \mat{X}  makes X a matrix symbol (font = bold sans-serif)
% \tens{X} makes X a tensor symbol (font = sans-serif italic)
\if@oldfontsel
  \def\vec#1{{\bfi #1}}
  \def\mat#1{{\sfb #1}}
  \def\tens#1{{\sfi #1}}
\else
  \def\vec#1{\bfi{#1}}
  \def\mat#1{\sfb{#1}}
  \def\tens#1{\sfi{#1}}
\fi

\def\casefrac#1#2{\mbox{$\frac{#1}{#2}$}}

%    ****************************************
%    *           INITIALIZATION             *
%    ****************************************
%
% Default initializations

\ps@headings                % `headings' page style
\cs@number                  % `number' citation style
\pagenumbering{arabic}      % Arabic page numbers
\onecolumn                  % Single-column.
\frenchspacing              % No extra white space at end of sentence
\tolerance=1600             % Lines of text can be a bit more loose,
\hbadness=1600              % and reporting this is not necessary
\hfuzz=1pt                  % do not be to critical about boxes

\editor{W.B. Kleijn and K.K. Paliwal}
\pubyear{1995}
