% X-Sun-Data-Type: default
% X-Sun-Data-Description: default
% X-Sun-Data-Name: ddm.sty
% X-Sun-Charset: us-ascii
% X-Sun-Content-Lines: 751

% ddm.sty is the DDM Proceedings style file.
% created by David Evans, Merlin Open Systems, Nottingham, UK
% Version 1 Copyright David Evans, March 1993
%
% It can be used for:
%
%	single authored books
%
%	multi-authored books
%
%	edited books
%
% The style file will detect which type of book it is by the details
% supplied and will set up the correct text area and chapter opening
% style.
%
% Version 1 Copyright David Evans, March 1993
% Version 2 Revised 28th April, 1993
% Version 2.1 27th September, 1993
% Version 2.2 15th December, 1993; amended to change ref setting to [], 4-01-94
% Text height/width changed to match 'Software Based Systems' series
% 28th July 1994
%
% Version 3.0 12th January 1995; amended to allow for multiple authors for an
% authored book.
% Version 4.0 Jeremy Cook, Parallab, changed to be used for DDM.org
%             All references to Wiley removed, we can continue to use
%             this according to Jan xxx  of Wiley.
%
\def\version{ddm.sty v4.0, 01-10-1998}
\typeout{Domain Decomposition Proceedings style, \version}
%
% JMC Parallab
\newcommand{\tenrm}{\normalsize\rm}
%
%
%*****************************************************
%TYPE SIZE AND LEADING
%To set the basic point size and leading
%*****************************************************
\tenrm\baselineskip=12pt

%*****************************************************
%PARAGRAPHS---SPACE BETWEEN
%To ensure no additional space is placed between paragraphs set
%this at 0pt
%*****************************************************
\parskip=0pt

%*****************************************************
%PARAGRAPH INDENTATION
%When in 10/12pt the indentation should be set to 10pt. When in
%9/10pt the indentation should be set to 9pt.
%*****************************************************
\parindent=10pt

%*****************************************************
%TOLERANCE BETWEEN WORDS
%This sets the acceptable tolerance for spacing between words. 
%(The default is 200).
%*****************************************************
\tolerance=5000
\pretolerance=5000

%*****************************************************
%SPACE AFTER PUNCTUATION
%This prevents additional spacing being set after punctuation.
%*****************************************************
\frenchspacing

%*****************************************************
%HANGINDENT
%This sets the hanging indentation level.
%*****************************************************
\hangindent=10pt

%*****************************************************
%CORRECT BASELINESKIP
%This sets the \xpar to the same specification as \par and is
%used at the end of quotations. It ensures the correct
%baselineskip is used when setting the data.
%*****************************************************
\let\xpar=\par

%BULLETS ON LOCATION LINE OF JW ON TITLE PAGE
\def\llbul{{\font\fourteenllb=cmr10 at 14pt
          {\fourteenllb\ \smash{\raise1.75pt\hbox{.}}\ }}}

% END OF JOHN WILEY MACROS


% set counter `authors' to number of authors
% It is a contributed-author book if there is an editor -- sets `edited' to 1

\newcounter{edited}
\setcounter{edited}{0}
\newcounter{authors}
\setcounter{authors}{0}
%
%
% Page parameters
%
% The text width/height have been changed to match original series
% 28th July 1994
% For an authored book: 28x43pc. For an edited book: 31x47pc.

\newdimen\ntextheight % textheight on normal pages
\newdimen\ftextheight % textheight on first page of contributed-author chapter
                      % allows space for two copyright lines plus a rule
\def\setpagedimen{
% defaults to authored book unless textarea macro called
\ifnum\thetextarea = 0%
  \ifnum\theedited = 0 \global\textwidth 28pc \global\textheight 43pc\else
    \global\textwidth 31pc \global\textheight 47pc\fi
\else
  \global\textwidth\@textwidth \global\textheight\@textheight
\fi
\global\hsize\textwidth
\ntextheight\textheight
\ftextheight 40.75pc % 43pc-27pt only used for edited books
}

% set text area to be used: \textarea{width}{height}
\newcounter{textarea}
\setcounter{textarea}{0}
\def\textarea#1#2{\def\@textwidth{#1}\def\@textheight{#2}%
  \setcounter{textarea}{1}}

\headsep 14pt
\oddsidemargin 0.5in
\evensidemargin 0.5in

% Sections etc.

\def\section{\@startsection{section}{1}{\z@}{-24pt}{12pt}{\sectsize}}
\def\subsection{\@startsection{subsection}{2}{\z@}{-18pt}{6pt}{\subsectsize}}
\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-18pt}{6pt}%
  {\subsubsectsize}}
\def\subsubsubsection{\@startsection{subsubsubsection}{4}{\z@}{-18pt}{6pt}%
  {\subsubsubsectsize}}

\renewcommand{\sectionmark}[1]{}
\renewcommand{\chaptermark}[1]{\chaptitle{#1}%
    \markboth{\uppercase{#1}}{\uppercase{#1}}}

% Sizes

\def\sectsize{\@setsize\sectsize{13pt}\xipt\@xipt\bf\raggedright}
\def\subsectsize{\@setsize\subsectsize{12pt}\xpt\@xpt\it\raggedright}
\def\subsubsectsize{\@setsize\subsubsectsize{12pt}\xpt\@xpt\bf\raggedright}
\def\subsubsubsectsize{\@setsize\subsubsubsectsize{12pt}%
  \xpt\@xpt\it\raggedright}

% setsize is not used for all these definitions as the
% fonts are not available pre-loaded (\xxivpt for example)

\def\captsize{\@setsize\captsize{10pt}\ixpt\@ixpt}
\def\halftitlesize{\font\sixteenrm=cmr12 at 16truept
               \sixteenrm\baselineskip=16pt}
\def\titlesize{\font\twentyeightrm=cmr12 at 28truept
               \twentyeightrm\baselineskip=30pt}
\def\edsize{\font\sixteenrm=cmr12 at 16truept
            \sixteenrm\baselineskip=16pt}
\def\authsize{\@setsize\authsize{14pt}\xivpt\@xivpt}
\def\affilsize{\@setsize\affilsize{10pt}\ixpt\@ixpt}
\def\refsize{\@setsize\refsize{10pt}\ixpt\@ixpt}
\def\ddmsize{\@setsize\ddmsize{12pt}\xipt\@xipt}
\def\headsize{\@setsize\headsize{10pt}\ixpt\@ixpt}
\def\chapsize{\font\twentytwobf=cmbx10 at 22truept
              \twentytwobf\baselineskip=22pt}
\def\tocsize{\font\twentyfourrm=cmr10 at 24truept
             \twentyfourrm\baselineskip=24pt}
\def\tabsize{\@setsize\tabsize{9pt}\viiipt\@viiipt}

% Footnotes

\def\footnotesize{\@setsize\footnotesize{9pt}\viiipt\@viiipt
\abovedisplayskip 8pt plus 2pt minus 4pt\belowdisplayskip \abovedisplayskip
\abovedisplayshortskip \z@ plus 1pt\belowdisplayshortskip 4pt plus 2pt minus
2pt
\def\@listi{\topsep 6pt\parsep0pt
\itemsep \parsep}}

% References

\def\references{\ifnum\theauthors=1
  \chapter*{References}\addcontentsline{toc}{chapter}{References}
   \chaptitle{REFERENCES}\else
  \section*{REFERENCES} \fi
  \refsize
  \everypar={\parindent=0pt\hangindent=9pt\refsize}
  \noindent\ignorespaces}
\def\endreferences{
  \everypar={\parindent=10pt\hangindent=0pt\tenrm\baselineskip=12pt}
  \indent
}

\def\thebibliography#1{%
 \ifnum\theauthors=1
   \chapter*{References}\addcontentsline{toc}{chapter}{References}
   \chaptitle{REFERENCES}\markboth{REFERENCES}{REFERENCES}\else
   \section*{REFERENCES} \fi
 \refsize
 \list{}{\labelwidth0pt\labelsep0pt\leftmargin9pt
 \itemindent=-9pt
 \parsep0pt\itemsep0pt
 \usecounter{enumi}}
 \def\newblock{\hskip .11em plus .33em minus .07em}
 \sloppy\clubpenalty4000\widowpenalty4000\interlinepenalty=100
 \sfcode`\.=1000\relax}
\let\endthebibliography=\endlist

\def\@biblabel#1{[#1]~}
\def\@cite#1{[#1]}

% here is a useful little macro that lets you access citation numbers
% use it as in \citestr{CiteKey}
\def\citestr#1{\nocite{#1}\csname b@#1\endcsname}

% Set up style and include references for contributed book style
\def\chapterrefs#1{
  \bibliographystyle{ddm}
  \bibliography{#1}
  \@input{#1.bbl}
}

% Title page

\def\title#1{\gdef\@title{#1}\booktitle{#1}}
\gdef\@edition{}
\def\edition#1{\gdef\@edition{#1}}

\def\editor#1{\gdef\@editor{#1}\setcounter{edited}{1}}
\gdef\@editor{?? {\bf Use editor macro to fill this in} ??}

\def\editortitle#1{\gdef\@editortitle{#1}\setcounter{edited}{1}}
\gdef\@editortitle{?? {\bf Use editortitle macro to fill this in} ??}


% changes for multiple authors and affiliations (up to 8) DRE 6-1-1995
\def\author#1{\addtocounter{authors}{1}
\addcontentsline{toc}{chapter}{authorb}%JMC
  \ifcase\theauthors\or%
    \gdef\@author{#1}\or%
    \gdef\@authorii{#1}\or%
    \gdef\@authoriii{#1}\or%
    \gdef\@authoriv{#1}\or%
    \gdef\@authorv{#1}\or%
    \gdef\@authorvi{#1}\or%
    \gdef\@authorvii{#1}\or%
    \gdef\@authorviii{#1}%
  \fi}
\def\author#1{\gdef\@author{#1}%
}
\gdef\@affiliation{}
\def\affiliation#1{%
  \ifcase\theauthors\or%
    \gdef\@affiliation{#1}\or%
    \gdef\@affiliationii{#1}\or%
    \gdef\@affiliationiii{#1}\or%
    \gdef\@affiliationiv{#1}\or%
    \gdef\@affiliationv{#1}\or%
    \gdef\@affiliationvi{#1}\or%
    \gdef\@affiliationvii{#1}\or%
    \gdef\@affiliationviii{#1}%
  \fi}
\gdef\@date{?? {\bf Use date macro to fill this in} ??}


\def\halftitlepage{%
\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
     \else \newpage \fi \thispagestyle{empty}\c@page\z@}

\def\endhalftitlepage{\if@restonecol\twocolumn \else \newpage \fi}

		 
% Authored book has one or more authors, 
% contributed-book has an editor
% This macro is made obsolete by the code above for multiple authors
\def\authors#1{}

\def\maketitle{%
 \setpagedimen%
 \ifnum\theedited = 1\markboth{\@authorhead}{\@authorhead}%
   \else% for authored books
     \markboth{\@booktitle}{\@booktitle}
     % Number figures and tables from 1 rather than 1.1, 1.2, ...
     \gdef\thefigure{\@arabic\c@figure}
     \gdef\thetable{\@arabic\c@table}
   \fi

\begin{halftitlepage}%
 \let\footnotesize\small
 \let\footnoterule\relax

 \setcounter{page}{0}%
 \pagenumbering{roman}
 \null
 \vskip 2.5pc
 {\halftitlesize \noindent\@title \par}%
\@thanks
\null
\end{halftitlepage}%

\begin{titlepage}%
 \let\footnotesize\small
 \let\footnoterule\relax

 \setcounter{page}{3}%
 \null
 \vskip 1.5pc
 \vskip -2pt
 {\titlesize \noindent\@title \par}%
 \vskip 1.5pc
 {\noindent\edsize \@edition \par}
 \vskip 2.5pc
 \vskip -2pt
 { \noindent
   \ifnum\theedited = 1 {\authsize{\it Edited by} \@editortitle\par}%
     \vskip .5pc {\noindent\affilsize\@affiliation}%
   \else {\authsize\@author\par}
   {\noindent\affilsize\@affiliation\par}\vskip 9pt
   \ifnum\theauthors>1{\noindent\authsize\@authorii\par}
     {\noindent\affilsize\@affiliationii\par}\vskip 9pt\fi
   \ifnum\theauthors>2{\noindent\authsize\@authoriii\par}
     {\noindent\affilsize\@affiliationiii\par}\vskip 9pt\fi
   \ifnum\theauthors>3{\noindent\authsize\@authoriv\par}
     {\noindent\affilsize\@affiliationiv\par}\vskip 9pt\fi
   \ifnum\theauthors>4{\noindent\authsize\@authorv\par}
     {\noindent\affilsize\@affiliationv\par}\vskip 9pt\fi
   \ifnum\theauthors>5{\noindent\authsize\@authorvi\par}
     {\noindent\affilsize\@affiliationvi\par}\vskip 9pt\fi
   \ifnum\theauthors>6{\noindent\authsize\@authorvii\par}
     {\noindent\affilsize\@affiliationvii\par}\vskip 9pt\fi
   \ifnum\theauthors>7{\noindent\authsize\@authorviii\par}
     {\noindent\affilsize\@affiliationviii\par}\fi
   \fi
   \par}%
   \vskip 1.5em
 {\large \par}% did have \@date
 \par

\vfill

{\noindent\ddmsize DDM.org }
\vskip3pt

%{\tenrm\noindent\ignorespaces
%Chichester{\llbul}New York{\llbul}Brisbane{\llbul}Toronto{\llbul}Singapore}

\@thanks
\null
\end{titlepage}%
\setcounter{footnote}{0}%
\let\thanks\relax
\gdef\@thanks{}\let\maketitle\relax}

% Table of contents

\def\contentsname{Contents}

% re-define startsection to pass level (#1) to ssect
\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth
     \let\@svsec\@empty\else
     \refstepcounter{#1}%
     \let\@@protect\protect
     \def\protect{\noexpand\protect\noexpand}%
     \edef\@svsec{\@seccntformat{#1}}%
     \let\protect\@@protect\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\relax  %% \relax added 2 May 90
                   \@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\@startsection#1#2#3#4#5#6{\if@noskipsec \leavevmode \fi
   \par \@tempskipa #4\relax
   \@afterindenttrue
   \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse\fi
   \if@nobreak \everypar{}\else
     \addpenalty{\@secpenalty}\addvspace{\@tempskipa}\fi \@ifstar
     {\@ssect{#3}{#4}{#5}{#6}{#1}}{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}

% re-define ssect to use level to generate an `unLEVEL' contents line
\def\@ssect#1#2#3#4#5#6{\@tempskipa #3\relax
   \ifdim \@tempskipa>\z@
     \begingroup #4\@hangfrom{\hskip #1}{\interlinepenalty \@M #6\par}\endgroup
\typeout{ssect}
   \else \def\@svsechd{#4\hskip #1\relax #6}
   \fi
   \@xsect{#3}}

% re-define ssect to use level to generate an `unLEVEL' contents line
%%\def\@ssect#1#2#3#4#5#6{\@tempskipa #3\relax
%%   \ifdim \@tempskipa>\z@
%%     \begingroup #4\@hangfrom{\hskip #1}{\interlinepenalty \@M #6\par}\endgroup
%%     %JMC\addcontentsline{toc}{un#5}{#6}
%%   \else \def\@svsechd{#4\hskip #1\relax #6}
%%     %JMC\addcontentsline{toc}{un#5}{#6}
%%   \fi
%%   \@xsect{#3}}
%%
\newcounter{intoc}
\setcounter{intoc}{0}
\def\tableofcontents{\@restonecolfalse\setcounter{intoc}{1}
  \if@twocolumn\@restonecoltrue\onecolumn\fi
  \chapter*{{\tocsize\raggedright\contentsname}}%
  \chaptitle{\uppercase{\contentsname}}
  \markboth{\@chaptitle}{\@chaptitle}%

  \pagenumbering{roman}
  \setcounter{page}{5}% start on page 5 in roman numerals
  \thispagestyle{empty}
  \@starttoc{toc}\if@restonecol\twocolumn\fi\setcounter{intoc}{0}}

% put entries down to sub-sections in table of contents
%
%  PB, DD_book change this to 0
%\setcounter{tocdepth}{2}
\setcounter{tocdepth}{1}

% toc entries are indented 1em on wrapover lines
% all unnumbered entries treated like numbered sections (no indent)
\def\l@chapter#1#2{\vskip 1em\@dottedtocline{1}{0em}{3em}
    {{\hangindent=1em\bf #1}}{#2}}

\def\l@section#1#2{\@dottedtocline{1}{1.5em}{2.3em}{\hangindent=1em #1}{#2}}
\def\l@subsection#1#2{\@dottedtocline{2}{3.8em}{3.2em}{\hangindent=1em #1}{#2}}
\def\l@subsubsection#1#2{\@dottedtocline{3}{7.0em}{4.1em}
    {\hangindent=1em #1}{#2}}
\def\l@subsubsubsection#1#2{\@dottedtocline{4}{9.2em}{5.0em}
    {\hangindent=1em #1}{#2}}

\def\l@unsection#1#2{\@dottedtocline{1}{1.5em}{2.3em}{\hangindent=1em #1}{#2}}
\def\l@unsubsection#1#2{\@dottedtocline{2}{1.5em}{2.3em}
    {\hangindent=1em #1}{#2}}
\def\l@unsubsubsection#1#2{\@dottedtocline{3}{1.5em}{2.3em}
    {\hangindent=1em #1}{#2}}
\def\l@unsubsubsubsection#1#2{\@dottedtocline{4}{1.5em}{2.3em}
    {\hangindent=1em #1}{#2}}


% Preface

\def\frontchapter#1{\chapter*{#1}
  \chaptitle{#1}
  \addcontentsline{toc}{chapter}{#1}
  \setcounter{startchap}{0}}

\def\preface{\frontchapter{Preface}}

% Page headers

\gdef\@booktitle{}
\gdef\@chaptitle{}
\gdef\@authorhead{}
\def\booktitle#1{\gdef\@booktitle{\uppercase{#1}}}
\def\chaptitle#1{\gdef\@chaptitle{\uppercase{#1}}%
   \ifnum\theedited = 1\markboth{\@authorhead}{\@authorhead}%
   \else\markboth{\@booktitle}{\@booktitle}\fi
   \markright{\@chaptitle}}
\def\authorhead#1{\gdef\@authorhead{\uppercase{#1}}
  %\addtocontents{toc}{\@authorhead}%JMC
  %\addcontentsline{toc}{section}{#1}%JMC
}

% Page styles
\def\ps@ddm{\let\@mkboth\@gobbletwo%
     \def\@oddhead{\headsize\rightmark\hfil\thepage}%
     \def\@oddfoot{\sysdetails}
     \def\@evenhead{\headsize\thepage\hfil\leftmark}
     \let\@evenfoot\@oddfoot}
\pagestyle{ddm}

% plain used for chapter openings, else use empty
\def\ps@plain{\let\@mkboth\@gobbletwo%
     \let\@oddhead\@empty
     \def\@oddfoot{\vbox{\myfootnote\global\textheight\ntextheight\global%
       \@colht\textheight\hbox{\sysdetails}}}
     \let\@evenhead\@empty\let\@evenfoot\@oddfoot}
\def\ps@empty{\let\@mkboth\@gobbletwo%
     \let\@oddhead\@empty\def\@oddfoot{\sysdetails}
     \let\@evenhead\@empty\let\@evenfoot\@oddfoot}

% print integer as a zero-filled 2 digit field
\def\twodigits#1{\ifnum#1<10{0#1}\else{#1}\fi}

% Print system details in footline -- first calculate time!
\newcount\hour
\newcount\minute
\hour=\time
\divide\hour by 60
\minute=\hour
\multiply\minute by 60
\advance\minute by -\time
\minute=-\minute

% Version details in footer -- use \def\sysdetails{} in document to remove
\gdef\sysdetails{\hss\jobname\ \number\day/\number\month/\number\year\ %
\twodigits{\number\hour}:\twodigits{\number\minute}%
---\stage\ for DDM.org  (\version)\hss}
\def\stage{\hbox{PAGE PROOFS}}


% Chapter macro (first page) adapted from:
% BOOK STANDARD DOCUMENT STYLE -- Released 14 Jan 1992
%    for LaTeX version 2.09

\def\chaptername{}

\newcounter{startchap}
\setcounter{startchap}{0}
\def\chapter{%
   \ifnum\theedited=1 \ifnum\theintoc=0\global\textheight\ftextheight%
     \global\@colht\textheight\setpagedimen\fi\fi
   \clearpage
   \ifnum\thestartchap=0 \pagenumbering{arabic} \fi
   \setcounter{startchap}{1}
   \thispagestyle{plain}%
   \global\@topnum\z@

   \@afterindentfalse
   \secdef\@chapter\@schapter}% Change to \@afterindenttrue to have

\newcounter{savedfig}
\newcounter{savedtable}
\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
   % want figures numbered 1, 2, ... throughout an authored book
   % so need to save counters and restore after chapter is stepped
   \ifnum\theedited = 0%
     \setcounter{savedfig}{\c@figure}\setcounter{savedtable}{\c@table}\fi
   \refstepcounter{chapter}%
   \ifnum\theedited = 0%
     \setcounter{figure}{\thesavedfig}\setcounter{table}{\thesavedtable}\fi

   \typeout{\@chapapp\space\thechapter.}%
   \addcontentsline{toc}{chapter}{%\@chapapp~\protect
   {\numberline{\thechapter}#1 (\@authorhead)}} \else
   \addcontentsline{toc}{chapter}{#1}\fi
   %\addcontentsline{toc}{chapter}{\@chapapp~\protect
   %\numberline{\thechapter}#1 (\@authorhead)}\else
   %\numberline{\protect\makebox[1cm][r]{\thechapter}}#1 (\@authorhead)}\else
   %\addcontentsline{toc}{chapter}{#1 (\@authorhead)\fi
   \chaptermark{#1}%
   \addtocontents{lof}%
      {\protect\addvspace{10\p@}}% Adds between-chapter space to
   \addtocontents{lot}%
      {\protect\addvspace{10\p@}}% lists of figs & tables.
   %\addtocontents{toc}{\protect\hspace{1cm}\@authorhead}%JMC
   \if@twocolumn
           \@topnewpage[\@makechapterhead{#2}]%
     \else \@makechapterhead{#2}%
           \@afterheading
     \fi
   \count202=0 % used to detect footnotes on first page of chapter
}

\def\chapno#1{\setcounter{chapter}{#1}\addtocounter{chapter}{-1}}
\def\@makechapterhead#1{%
  \ifnum\theinappendix=0
    \thispagestyle{plain}
    \ifnum\thechapter=1 \pagenumbering{arabic}\setcounter{page}{1}\fi
  \else
    \thispagestyle{empty}
  \fi
  \chaptitle{#1}
  \vspace*{1.5pc}%
  {\parindent \z@\raggedright
    \ifnum \c@secnumdepth >\m@ne
      \chapsize \ifnum\theinappendix=1 \@chapapp{} \fi \thechapter
    \par
    \vskip 24pt \fi
    \tocsize
    \noindent #1\par
    \nobreak
    % author name on first page of chapter of multi-author book
    \ifnum\theedited=1 \vskip 1pc
        \noindent{\authsize\@author} \vskip 42pt
    \else \vskip 3pc \fi
}}

\def\@makeschapterhead#1{%
  \thispagestyle{plain}
  % \chaptitle{} % do not want it blank
  % \chaptitle{#1} % this is required for prelims, references and index
  % chaptitle now done with chaptermark DRE 12-1-1995
  \vspace*{1.5pc}%
  {\parindent \z@\raggedright
    \par
    \if@twocolumn \vskip 18pt \fi
    \vskip 46pt % 22pt + 24pt
    \tocsize
    \noindent #1\par
    \nobreak
    \if@twocolumn \vskip 1.5pc \else \vskip 3pc \fi
  }}

% Footer on first page of chapter of contributed-author book
\def\myfootnote{%
\ifnum\theedited=1%
\vbox{\footnotesize
\hbox{\vrule height 0pt depth 0pt width0pt}
\ifodd\count202\relax\else%
\hbox to \textwidth{\leaders\hrule height 0.5pt\hfill}\fi
\hbox to \textwidth{\noindent {\it \@title}\hfill}
\hbox to \textwidth{\noindent Editors \@editor\hfill%
\copyright \@date\ DDM.org }}\fi}

% Figure and table captions

\newcounter{figtype}
\setcounter{figtype}{1}
\def\fnum@table{\setcounter{figtype}{0}\captsize {\bf Table \thetable}}
\def\fnum@figure{\setcounter{figtype}{1}\captsize {\bf Figure \thefigure}}

% Figure and table placement is: tbp
\def\fps@figure{tbp}
\def\fps@table{tbp}

\def\caption{\refstepcounter\@captype \@dblarg{\@caption\@captype}}
\long\def\@makecaption#1#2{
\begin{center}
  {\captsize\rm #1\quad #2\normalsize}
\end{center}
\ifnum\thefigtype=0 \vskip 3pt \else \vskip -6pt \fi
}

% Weight of rules

\def\medline{\leaders\hrule height 0.8pt\\}
\def\tspace#1{\noalign{\vskip #1}}
\def\ds{\cr\noalign{\vskip 5pt}}
%to set a rule within a table
\def\tabrule{\noalign{\vskip2pt}
             \noalign{\hrule}
             \noalign{\vskip2pt}}
% thick rule to be used at top and bottom of tables
\def\tabruletop{\noalign{\hrule height3pt depth-2.5pt}\noalign{\vskip2pt}}
\def\tabrulebot{\noalign{\vskip2pt}\noalign{\hrule height3pt depth-2.5pt}}

% Footnotes

\count202=0
\def\footnoterule{\global\advance\count202 by 1\kern -3\p@%
\hbox to \textwidth{\leaders\hrule height 0.5pt\hfill}\kern2.2\p@}

\long\def\@makefntext#1{%
  \ifnum\thefootnote<10\hangindent7pt\else\hangindent9pt\fi
  %jc {\footnotesize\rm\thefootnote} #1}
  {\footnotesize\rm\@thefnmark} #1}

% Table footnotes

\def\tabnote{\tabsize}

% Lists

% em-dash for second level lists
\def\labelitemii{\bf ---}

% Use \wideitem{widest_item} to set the size for large items

\newcounter{wideitem}
\setcounter{wideitem}{0}
\def\wideitem#1{\setcounter{wideitem}{1}\def\@wideitem{#1}}

\def\enumerate{\ifnum \@enumdepth >3 \@toodeep\else
  \advance\@enumdepth \@ne
  \edef\@enumctr{enum\romannumeral\the\@enumdepth}
  \list{\csname label\@enumctr\endcsname}{\usecounter
    {\@enumctr}
    \ifnum\thewideitem=0
      \settowidth\labelwidth{\thinspace1.~}
    \else
      \settowidth\labelwidth{\thinspace\@wideitem.~}
    \fi
    \leftmargin\labelwidth
    \itemsep0pt
    \parsep0pt\def\makelabel##1{\hss\llap{##1}}}\fi}
\def\endenumerate{\endlist\setcounter{wideitem}{0}}

\def\itemize{\ifnum \@itemdepth >3 \@toodeep\else \advance\@itemdepth \@ne
  \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
  \list{\csname\@itemitem\endcsname}{
    \ifnum\thewideitem=0
      \settowidth\labelwidth{\thinspace\csname\@itemitem\endcsname~}
    \else
      \settowidth\labelwidth{\thinspace\@wideitem~}
    \fi
    \leftmargin\labelwidth
    \itemsep0pt
    \parsep0pt\def\makelabel##1{\hss\llap{##1}}}\fi}
\def\enditemize{\endlist\setcounter{wideitem}{0}}

% Index

\def\indexname{Index}
\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
\columnseprule \z@
\columnsep 1.5pc\clearpage\twocolumn[\chapter*{\indexname}]%
    \chaptitle{\uppercase{\indexname}}
    \markboth{\uppercase{\indexname}}{\uppercase{\indexname}}%
    \thispagestyle{empty}\addcontentsline{toc}{chapter}{\indexname}
    \parindent\z@\refsize
    \parskip\z@ plus .3\p@\relax\let\item\@idxitem}

\def\@idxitem{\par\parindent=0pt\hangindent=18pt}

\def\subitem{\par\parindent=9pt\hangindent=27pt}

\def\subsubitem{\par\parindent=18pt\hangindent=36pt}

\def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi}

\def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax}

% Appendix

\newcounter{inappendix}
\setcounter{inappendix}{0}

\def\appendixstr{}
\def\appendix{\clearpage
 \thispagestyle{empty}
 \setcounter{inappendix}{1}
 \def\appendixname{Appendix}
 \def\@chapapp{\appendixname}
 \setcounter{chapter}{0}
 \setcounter{section}{0}
 \setcounter{subsection}{0}
 \setcounter{subsubsection}{0}
 \def\thesection{\Alph{chapter}.\arabic{section}}
 \def\thechapter{\Alph{chapter}}
}

%EOF
