% ===================================================================
% RS.sty  
% Copyright (C) 1992 Cambridge University Press
% Version 1.01, 26 January 1993
% V 0.91  6 Oct 92 JAS.
% V 0.92 21 Nov 92 JAS.
% V 0.93 30 Nov 92 JAS.
% V 0.94  3 Dec 92 Alison Woollatt to include truesize option.
% V 0.95  3 Dec 92 Alison Woollatt to remove raggedbottom and 
%  increase floatpagefraction to 0.9, put letterspacing in author macro,
%  correct proofbox
% V 1.00  8 Jan 93 Alison Woollatt to correct section headings, equation
%  numbering and referencing in appendices
% V 1.01 26 Jan 93 Alison Woollatt to include \sect, reduce
%  space in appendix % equation numbering, center running heads
% V 1.02 26 Apr 93 Jonathan Wainwright to include a selection of
%  AMS symbols from AMSSYMBO.STY (see AMS SYMBOLS) and to change theorem
%  typeface from \it to \sl (see THEOREM)
%
% Royal Society: Proceedings document style
% based on FLM.sty
% based on ARTICLE DOCUMENT STYLE -- Released 26 April 88
%    for LaTeX version 2.09 by Leslie Lamport
% ------------------------------------------------------------------
%
% INSTRUCTIONS TO EDITOR:
%
% Use the following \documentstyle options to select journal
% for catchline (default = trans):
%	\documentstyle[trans]	% Phil. Trans. R. Soc. Lond.
%	\documentstyle[proc]	% Proc. R. Soc. Lond.
%
% Use the following commands in preamble to control catchline:
%       \series{A}			% (the default)
%	\volume{2}
%	\pagerange{0--000}
%	\year{1993}
%
% For received date, add the following to end of file after References:
%       \received{Received 9 August 1992; accepted 10 August 1992.}
%
% For first paragraph after abstract, insert a \noindent by hand.
%
% For Discussion section after References, use \discussion and \comment.
%
% The \documentstyle[truesize] option invokes the 10.5/12 font size.
%
%======================================================================

\typeout{Document style `Royal Society journal style',  V 1.02, 26 April 1993}
%
%  Journals use two-sided printing.
%
\@twosidetrue
\@mparswitchtrue
\def\ds@draft{\overfullrule 5pt}
\def\ds@proc{\gdef\@journal{Proc.\ R.\ Soc.\ Lond.}}
\def\ds@trans{\gdef\@journal{Phil.\ Trans.\ R.\ Soc.\ Lond.}}
\def\@journal{Phil.\ Trans.\ R.\ Soc.\ Lond.}	% default
%
%  ****************************************
%  *               FONTS                  *
%  ****************************************
%
\let\xvipt\xviipt 
\let\@xvipt\@xviipt

\lineskip 1pt
\normallineskip 1pt
\def\baselinestretch{1}
\def\@normalsize{\@setsize\normalsize{12pt}\xipt\@xipt% 11 on 12
 \abovedisplayskip 6.5pt plus 1pt minus 1pt
 \belowdisplayskip \abovedisplayskip
 \abovedisplayshortskip 3pt plus 1pt
 \belowdisplayshortskip  \abovedisplayshortskip}
\def\small{\@setsize\small{10pt}\ixpt\@ixpt% 9 on 10
 \abovedisplayskip 6pt plus 1pt minus 1pt
 \belowdisplayskip \abovedisplayskip
 \abovedisplayshortskip 3pt plus 1pt
 \belowdisplayshortskip  \abovedisplayshortskip}
\def\footnotesize{\@setsize\footnotesize{10pt}\viiipt\@viiipt% 8 on 10
 \abovedisplayskip 5pt plus 1pt minus 1pt
 \belowdisplayskip \abovedisplayskip
 \abovedisplayshortskip 2pt plus 1pt
 \belowdisplayshortskip  \abovedisplayshortskip}
\def\indexsize{\@setsize\indexsize{9pt}\viiipt\@viiipt} % 8 on  9
\def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt} % 7 on 8
\def\tiny{\@setsize\tiny{6pt}\vpt\@vpt} % 5 on 6
\def\large{\@setsize\large{12.5pt}\xipt\@xipt} % 11 on 12.5
\def\Large{\@setsize\Large{18pt}\xivpt\@xivpt} % 14 on 18
\def\LARGE{\@setsize\LARGE{19pt}\xvipt\@xvipt} % 16 on 19
\def\huge{\@setsize\huge{25pt}\xxpt\@xxpt} % 20 on 25
\def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt} % 25 on 30
%\newfont{\qsmall}{mtr10 scaled 975} % 9.75pt rm, used in quotations
%\newfont{\qsmall}{Times-Roman at 9.75pt} % 9.75pt rm, used in quotations
\normalsize

%  ****************************************
%  *               TRUESIZE               *
%  ****************************************

\def\ds@truesize{%
%
% define 10.5pt and 16pt
\font\tenptfiverm = cmr10 at 10.5pt
\font\tenptfiveit = cmti10 at 10.5pt
\font\tenptfivemi  = cmmi10 at 10.5pt
   \skewchar\tenptfivemi ='177		%  for placement of accents
\font\tenptfivesy  = cmsy10 at 10.5pt
   \skewchar\tenptfivesy ='60		%   for placement of math accents
\font\tenptfivesl  = cmsl10 at 10.5pt
\font\tenptfivebf  = cmbx10 at 10.5pt
\font\tenptfivett  = cmtt10 at 10.5pt
   \hyphenchar\tenptfivett = -1		%  suppress hyphenation in \tt font
\font\tenptfivesf  = cmss10 at 10.5pt
\font\tenptfively  = lasy10 at 10.5pt
\font\tenptfiveex  = cmex10 at 10.5pt

\def\xptv{\textfont\z@\tenptfiverm 
  \scriptfont\z@\sevrm \scriptscriptfont\z@\fivrm
\textfont\@ne\tenptfivemi \scriptfont\@ne\sevmi \scriptscriptfont\@ne\fivmi
\textfont\tw@\tenptfivesy \scriptfont\tw@\sevsy \scriptscriptfont\tw@\fivsy
\textfont\thr@@\tenptfiveex \scriptfont\thr@@\tenptfiveex \scriptscriptfont\thr@@\tenptfiveex
\def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
          \textfont\@ne\tenptfivemi 
          \textfont\tw@\tenptfivesy \textfont\lyfam\tenptfively
          \@boldfalse}\@boldfalse
\def\boldmath{\@ifundefined{tenptfivemib}{\global\font\tenptfivemib\@mbi 
   \global\font\tenptfivesyb\@mbsy 
   \global\font\tenptfivelyb\@lasyb\relax\@addfontinfo\@xptv
   {\def\boldmath{\everymath{\mit}\everydisplay{\mit}\@prtct\@nomathbold
        \textfont\@ne\tenptfivemib \textfont\tw@\tenptfivesyb 
        \textfont\lyfam\tenptfivelyb \@prtct\@boldtrue}}}{}\@xptv\boldmath}%
\def\prm{\fam\z@\tenptfiverm}%
\def\pit{\fam\itfam\tenptfiveit}\textfont\itfam\tenptfiveit \scriptfont\itfam\sevit
    \scriptscriptfont\itfam\sevit
\def\psl{\fam\slfam\tenptfivesl}\textfont\slfam\tenptfivesl 
     \scriptfont\slfam\tenptfivesl \scriptscriptfont\slfam\tenptfivesl
\def\pbf{\fam\bffam\tenptfivebf}\textfont\bffam\tenptfivebf 
    \scriptfont\bffam\tenptfivebf \scriptscriptfont\bffam\tenptfivebf 
\def\ptt{\fam\ttfam\tenptfivett}\textfont\ttfam\tenptfivett
    \scriptfont\ttfam\tenptfivett \scriptscriptfont\ttfam\tenptfivett
\def\psf{\fam\sffam\tenptfivesf}\textfont\sffam\tenptfivesf
    \scriptfont\sffam\tenptfivesf \scriptscriptfont\sffam\tenptfivesf
\def\psc{\@getfont\psc\scfam\@xptv{\@mcsc}}%
\def\ly{\fam\lyfam\tenptfively}\textfont\lyfam\tenptfively 
   \scriptfont\lyfam\sevly \scriptscriptfont\lyfam\fivly 
\@setstrut \rm}

\def\@xptv{}

% sixteen point
 \font\sxtnrm  = cmr10 at 16pt        % roman MR(6.3.91)
%% \font\sxtnmi  = mtmi10 at 16pt       % math italic
%%    \skewchar\sxtnmi ='177            % for placement of accents
%\font\sxtnmib = mtmib10 at 16pt      % bold math italic
%% \font\sxtnsy  = mtsy10 at 16pt       % math symbols
%%    \skewchar\sxtnsy ='60             % for placement of math accents
%\font\sxtnsyb = mtbsy10 at 16pt      % bold symbols
%\font\sxtnit  = mtti10 at 16pt       % text italic
%\font\sxtnsl  = mtsl10 at 16pt       % slanted
 \font\sxtnbf  = cmbx10 at 16pt       % extended bold 
%\font\sxtnbfs = mtbxsl10 at 16pt     % extended bold slanted
%\font\sxtntt  = mttt10 at 16pt       % typewriter
%\font\sxtntti = mtitt10 at 16pt      % italic typewriter
%\font\sxtntts = mtsltt10 at 16pt     % slanted typewriter
%\font\sxtnsf  = mtss10 at 16pt       % sans serif
%\font\sxtnsfi = mtssi10 at 16pt      % italic sans serif
%\font\sxtnsfb = mtssbx10 at 16pt     % bold sans serif
%\font\sxtnsc  = mtcsc10 at 16pt      % small caps
%% \font\sxtnly  = lasy10 at 16pt       % LaTeX symbols
%\font\sxtnlyb = lasyb10 at 16pt      % bold LaTeX symbols
%\font\sxtnuit = mtu10 at 16pt        % unslanted italic

\def\xvipt{\textfont\z@\sxtnrm 
  \scriptfont\z@\twlrm \scriptscriptfont\z@\tenrm
%%\textfont\@ne\sxtnmi \scriptfont\@ne\twlmi \scriptscriptfont\@ne\tenmi
%%\textfont\tw@\sxtnsy \scriptfont\tw@\twlsy \scriptscriptfont\tw@\tensy
%%\textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
%%\def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
%%         \textfont\@ne\sxtnmi \textfont\tw@\sxtnsy \textfont\lyfam\sxtnly
%%          \@boldfalse}\@boldfalse
%%\def\boldmath{\@subfont\boldmath\unboldmath}%
\def\prm{\fam\z@\sxtnrm}%
%%\def\pit{\@getfont\pit\itfam\@xvipt{mtti10\@magscale3}}%
%%\def\psl{\@getfont\psl\slfam\@xvipt{mtsl10\@magscale3}}%
\def\pbf{\fam\bffam\sxtnbf}\textfont\bffam\sxtnbf 
    \scriptfont\bffam\twlbf \scriptscriptfont\bffam\tenbf 
%%\def\ptt{\@getfont\ptt\ttfam\@xvipt{mttt10\@magscale3}\@nohyphens
%%   \ptt\@xvipt}%
%%\def\psf{\@getfont\psf\sffam\@xvipt{mtss16}}%
%%\def\psc{\@getfont\psc\scfam\@xvipt{\@mcsc\@magscale3}}%
%%\def\ly{\fam\lyfam\sxtnly}\textfont\lyfam\sxtnly 
%%   \scriptfont\lyfam\twlly   \scriptscriptfont\lyfam\tenly
\@setstrut \rm}

\def\@xvipt{}

% overwrite sixteenpoint 
\let\xvipt\xvipt 
\let\@xvipt\@xvipt

\def\@normalsize{\@setsize\normalsize{12pt}\xptv\@xptv% 10.5 on 12
 \abovedisplayskip 6.5pt plus 1pt minus 1pt
 \belowdisplayskip \abovedisplayskip
 \abovedisplayshortskip 3pt plus 1pt
 \belowdisplayshortskip  \abovedisplayshortskip}
} % end of ds@truesize

\@options
%
%  ****************************************
%  *            PAGE LAYOUT               *
%  ****************************************
%
% SIDE MARGINS:
\oddsidemargin  2pc
\evensidemargin 2pc
\marginparwidth 2.0cm
\marginparsep 10pt

% VERTICAL SPACING:
\topmargin 2.5pc
\headheight 12pt
\headsep 8pt
\topskip 12pt
\footheight 8pt
\footskip 18pt
\newskip\halflineskip
\halflineskip=6pt plus .5pt minus .5pt
%\newskip\affilskip % used by authors to separate affiliations on title page
%\affilskip=3pt

% DIMENSION OF TEXT:
\textheight = 48\baselineskip \advance\textheight by \topskip
\textwidth 32pc
\columnsep 10pt
\columnseprule 0pt

% FOOTNOTES:
\footnotesep 2pt%             % space between footnotes
\skip\footins 18pt plus 1pt%  % space between text and first note

% FLOATS:
%\def\topfigrule{\vskip\floatsep\hbox{\rule{\textwidth}{.4pt}}\vskip-\floatsep}
\floatsep 10pt plus 2pt minus 1pt
\textfloatsep=1.4\floatsep
\intextsep\floatsep
\@maxsep 15pt
\dblfloatsep\floatsep
\dbltextfloatsep\floatsep
\@dblmaxsep 15pt
\@fptop 0pt plus 0fil
\@fpsep 10pt plus 0fil
\@fpbot 0pt plus 3fil
\@dblfptop 0pt plus 0fil
\@dblfpsep 10pt plus 0fil
\@dblfpbot 0pt plus 3fil
\marginparpush 5pt

%  ****************************************
%  *           PARAGRAPHING               *
%  ****************************************
%
\parskip \z@ plus .3pt
\parindent 1em
\partopsep 0pt plus 1pt
\@lowpenalty   51
\@medpenalty  151
\@highpenalty 301
\@beginparpenalty -\@lowpenalty
\@endparpenalty -\@lowpenalty
\@itempenalty -\@lowpenalty
\clubpenalty=0
\widowpenalty=10000

%  ****************************************
%  *                 PARTS                *
%  ****************************************
%
\def\part{\par \addvspace{4ex}\@afterindentfalse
 \secdef\@part\@spart}
\def\@part[#1]#2{\ifnum \c@secnumdepth >\m@ne
  \refstepcounter{part}
  \addcontentsline{toc}{part}{Part \thepart: #1}
 \else \addcontentsline{toc}{part}{#1}
 \fi
 {\parindent 0pt \centering %changed ggw
  \ifnum \c@secnumdepth >\m@ne
   \large\rm PART
   \ifcase\thepart \or ONE \or TWO \or THREE \or FOUR \or FIVE
    \or SIX \or SEVEN \or EIGHT \or NINE \or TEN \else \fi
   \par \nobreak
  \fi
  \LARGE \rm #2 \markboth{}{}\par }
 \nobreak \vskip 3ex \@afterheading}
\def\@spart#1{{\parindent 0pt \centering % changed ggw
  \LARGE \rm #1\par}
 \nobreak \vskip 3ex \@afterheading}

%  ****************************************
%  *               SECTIONS               *
%  ****************************************
%
\def\section{\setcounter{equation}{0}
 \@startsection {section}{1}{\z@}
 {19pt plus 2pt minus 1pt}%   beforeskip; neg = suppress indent
 {6pt plus .5pt minus .3pt}%  afterskip
 {\centering\large\bf}}%      style
\def\subsection{\@startsection{subsection}{2}{\z@}
 {9pt plus 1pt minus 1pt}
 {3pt plus .1pt minus .1pt}
 {\centering\normalsize\it}}
\def\subsubsection{\@startsection{subsubsection}{3}{\z@}
 {9pt plus 1pt minus 1pt}
 {3pt plus .1pt minus .1pt}
 {\raggedright\normalsize\it}}
\def\paragraph{}
\def\subparagraph{}
%
\def\@sect#1#2#3#4#5#6[#7]#8{%
 \ifnum #2>\c@secnumdepth
  \def\@svsec{}%
 \else
  \refstepcounter{#1}
  \ifnum #2=1
   \edef\@svsec{\ifappendix Appendix \fi\csname the#1\endcsname.\hskip 0.5em}
  \fi
  \ifnum #2=2
   \edef\@svsec{{\rm(}\csname the#1\endcsname{\rm)}\hskip 0.5em}
  \fi
  \ifnum #2=3
   \edef\@svsec{{\rm(\csname the#1\endcsname)}\hskip 0.5em}
  \fi
 \fi
 \@tempskipa #5\relax
 \ifdim \@tempskipa>\z@
  \begingroup #6\relax
   \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\par}
  \endgroup
  \csname #1mark\endcsname{#7}%
  \ifnum #2=1% sections only
   \addcontentsline{toc}{#1}{\ifnum #2>\c@secnumdepth \else
    \ifappendix\protect\hskip\@tempdima Appendix~\csname the#1\endcsname.\ \ #7%
    \else \protect\numberline{\csname the#1\endcsname.}#7\fi\fi}
%     \protect\numberline{\csname the#1\endcsname.}\ifappendix\else #7\fi\fi}
  \else
   \addcontentsline{toc}{#1}{\ifnum #2>2 \else
      \protect\numberline{{\rm(}{\it\csname the#1\endcsname}{\rm)}}#7\fi}
  \fi
 \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}}

\newif\ifappendix \appendixfalse
\def\appendix{\par
 \setcounter{section}{0}
 \def\thesection{\Alph{section}}
 \def\thesubsection{\alph{subsection}}
 \def\thesubsubsection{\roman{subsubsection}}
 \def\theequation{{\rm \thesection}\ls\arabic{equation}}
 \appendixtrue}

\setcounter{secnumdepth}{3} % number sections, subsections and subsubsections
			    % but not paragraphs or subparagraphs.

%  ****************************************
%  *       PART & SECTION NUMBERS       *
%  ****************************************
%
% from home:
\newcounter{part}
\newcounter {section}
\newcounter {subsection}[section]
\newcounter {subsubsection}[subsection]
\newcounter {paragraph}[subsubsection]
%\newcounter {subparagraph}[paragraph]
\def\thepart          {\arabic{part}}
\def\thesection       {\arabic{section}}
\def\thesubsection    {\alph{subsection}}
\def\thesubsubsection {\roman{subsubsection}}
\def\theparagraph     {\thesubsubsection.\arabic{paragraph}}
%\def\thesubparagraph  {\theparagraph.\arabic{subparagraph}}
%  ****************************************
%  *               SKIPS                  *
%  ****************************************
%
\newskip\@indentskip
\newskip\smallindent
\newskip\@footindent
\newskip\@leftskip
\@indentskip=2.5em
\smallindent=1em
\@footindent=\smallindent
\@leftskip=\z@

%  ****************************************
%  *                LISTS                 *
%  ****************************************
%
\leftmargini\z@
\labelsep\z@
\labelwidth\z@
%
%\def\makeitemlabel#1{\hspace\labelwidth\hspace\labelsep\hfill #1}
\def\makeitemlabel#1{\hfill #1}
%
% set leftmargin to labelwidth + labelsep of OUTER list:
\def\@listI{\parsep\z@ \topsep\z@ \partopsep\z@ \itemsep\z@ \rightmargin\z@
 \leftmargin\labelwidth \advance\leftmargin\labelsep}
\def\@listi{\@listI \leftmargin\leftmargini \itemindent 1em}
\def\@listii{\@listI \advance\leftmargin 1em}
\def\@listiii{\@listI}
\def\@listiv{\@listI}
\def\@listv{\@listI}
\def\@listvi{\@listI}
\@listi
%
% ITEMIZE
\def\itemize{\ifnum \@itemdepth >3 \@toodeep
 \else \advance\@itemdepth \@ne
  \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
  \list{\csname\@itemitem\endcsname}%
  {\labelsep .5em \settowidth{\labelwidth}{\csname\@itemitem\endcsname}
    \let\makelabel\makeitemlabel}%
 \fi}
\def\labelitemi{$\bullet$} % ggw
\def\labelitemii{$\circ$}
\def\labelitemiii{---} % ggw
\def\labelitemiv{--} % ggw
%
% ENUMERATE
\def\enumerate{\ifnum \@enumdepth >3 \@toodeep
 \else \advance\@enumdepth \@ne
 \edef\@enumctr{enum\romannumeral\the\@enumdepth}\fi
 \@ifnextchar [{\@enumeratetwo}{\@enumeratetwo[i]}}
\def\@enumeratetwo[#1]{%
 \list{\csname label\@enumctr\endcsname}%
  {\settowidth\labelwidth{#1} \labelsep .5em
   \advance\itemindent\labelsep \advance\itemindent\labelwidth
   \usecounter{\@enumctr}}}
%
\def\labelenumi{(\theenumi)}
\def\theenumi{\roman{enumi}}
\def\labelenumii{({\it\theenumii})}
\def\theenumii{\alph{enumii}}
\def\p@enumii{\theenumi.\theenumii}
\def\labelenumiii{\theenumiii.}
\def\theenumiii{\roman{enumiii}}
\def\p@enumiii{\p@enumii.\theenumiii}
\def\labelenumiv{\theenumiv}
\def\theenumiv{\roman{enumiv}}
\def\p@enumiv{\p@enumiii.\theenumiv}
%
% DESCRIPTION
\def\descriptionlabel#1{\hspace\labelsep \bf #1}
\def\description{\list{}{\labelwidth\z@%\itemindent-\leftmargin
  \ifnum\@listdepth=1\else\advance\leftmargin 1em\fi
  \let\makelabel\descriptionlabel}}
\let\enddescription\endlist
%
%
%  ****************************************
%  *            DISPLAYED TEXT            *
%  ****************************************
%
% VERSE
\def\verse{\let\\=\@centercr
 \list{}{\itemsep\z@
  \itemindent -\@indentskip
  \listparindent \itemindent
  \rightmargin\leftmargin
  \advance\leftmargin \@indentskip}\item[]}
\let\endverse\endlist
%
% QUOTATION
\def\quotation{\list{}{\listparindent\smallindent
  \itemindent\listparindent
  \leftmargin 1em\rightmargin\leftmargin
  \topsep\halflineskip
  \parsep 0pt plus 1pt}\item[]}
\let\endquotation=\endlist
%
% QUOTE
\let\quote\quotation
%\def\quote{\par\list{}{\leftmargin\z@\rightmargin\leftmargin}\item[]%
% \small\rule{0pt}{10pt}\ignorespaces}
\let\endquote=\endlist

%  ****************************************
%  *         OTHER ENVIRONMENTS           *
%  ****************************************
%
% THEOREM
% The following modifies two internal routines called by Latex's
% \newtheorem command, which RS.sty users are encouraged to use
% for their own purposes, such as creating Lemma 1.2, etc.
%
\newenvironment{definition}{\par\addvspace{\halflineskip}
\refstepcounter{theorem}{\it Definition~\thetheorem}.\hskip.5em\ignorespaces}%
{\vskip\halflineskip\par}
%
\def\@begintheorem#1#2{\par\addvspace{\halflineskip}{\bf #1\ #2.}\hskip.5em\sl}
\def\@opargbegintheorem#1#2#3{\par\vskip\halflineskip
 {\bf #1\ #2.\ {\rm (#3)}.}\hskip.5em\sl}
\def\@endtheorem{\vskip\halflineskip\par}
%
% PROOF
\newsavebox{\proofbox}
\sbox{\proofbox}{\rule{7pt}{7pt}}
%\def\proof{\list{}{\topsep\halflineskip \labelwidth\z@ \labelsep .5em
% \let\makelabel\makeitemlabel} \item[{\it Proof.}]}
%\def\endproof{\hspace*{\fill}\usebox{\proofbox}\endlist}
\def\proof{\par\addvspace{\halflineskip} {\it Proof.}\hskip.5em\ignorespaces}
\def\endproof{\hspace*{\fill}\usebox{\proofbox}\vskip\halflineskip\par}
\@namedef{proof*}{\proof}
\@namedef{endproof*}{\vskip\halflineskip\par}
%
% REMARK works like \newtheorem but without the ability to number,and
% produces displayed paragraph in same style as proof.
\def\newremark#1#2{\newenvironment{#1}{%
 \list{}{\topsep\halflineskip \labelwidth\z@
 \labelsep .5em\let\makelabel\makeitemlabel} \item[{\it #2.}]}{\endlist}}
%
% EQUATION and EQNARRAY
%
\def\theequation{\thesection.\arabic{equation}}
%
% \jot = 3pt      % Extra space added between lines of an eqnarray environment
% \def\@eqnnum{(\theequation)}  % (the default in LaTeX)
%
% The following substitution causes \eqnarray to give same spacing
% around =,>,<, etc. as in one-line equation.
\def\eqnarray{\stepcounter{equation}\let\@currentlabel=\theequation
\global\@eqnswtrue
\global\@eqcnt\z@\tabskip\@centering\let\\=\@eqncr
$$\halign to \displaywidth\bgroup\@eqnsel\hskip\@centering
  $\displaystyle\tabskip\z@{##}$&\global\@eqcnt\@ne
% \hskip 2\arraycolsep \hfil${##}$\hfil
  \hfil${\;##\;}$\hfil
% &\global\@eqcnt\tw@ \hskip 2\arraycolsep $\displaystyle\tabskip\z@{##}$\hfil 
  &\global\@eqcnt\tw@ $\displaystyle\tabskip\z@{##}$\hfil 
   \tabskip\@centering&\llap{##}\tabskip\z@\cr}
%
% TITLEPAGE
%
\def\titlepage{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
  \else \newpage \fi \thispagestyle{empty}\c@page\z@}
\def\endtitlepage{\if@restonecol\twocolumn \else \newpage \fi}

\arraycolsep 5pt
\tabcolsep 3pt % this is half the space between cols. in a tabular env. ggw
\arrayrulewidth .5pt
\doublerulesep 1.5pt
\tabbingsep \labelsep
%\skip\@mpfootins = \skip\footins
\skip\@mpfootins = 0pt
\fboxsep = 3pt
\fboxrule = .5pt

%  ****************************************
%  *         TITLE AND ABSTRACT           *
%  ****************************************
%
\def\affiliation#1{\gdef\@affiliation{#1}}
\gdef\@affiliation{}

\def\maketitle{\appendixfalse\@ifnextchar [{\m@ketitleone}{\m@ketitletwo}}%
\def\m@ketitletwo{\m@ketitleone[n]}
\def\m@ketitleone[#1]{
 \par
 \begingroup
% no changes to footnoting necessary; keep at bottom of page -- jas
% \def\thefootnote{\fnsymbol{footnote}}
% \def\@makefnmark{\hbox to 0pt{${\@thefnmark}$\hss}}% fnmark now on line -- ggw
  \newpage \global\@topnum\z@
  \@maketitle{#1}\thispagestyle{titlepage} \@thanks
 \endgroup
 \setcounter{footnote}{0}
 \let\maketitle\relax \let\@maketitle\relax \gdef\@affiliation{}
 \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\thanks\relax}

%\def\and{{\small\bf AND}\ }         % not needed for Roy.Soc.

\def\@maketitle#1{
 \newpage
 \vspace*{10pt}
 {\centering \sloppy
  {\LARGE\bf \@title \par}
  \vskip 16pt plus 2pt minus 1pt
  {\sc B\ls y\ls\ \@author \par}
  \vskip 3pt plus 1pt
  {\it \@affiliation \par}
 \par}
 \vskip 20pt plus 2pt minus 1pt
}

\def\abstract{\par\normalsize\noindent\ignorespaces}
\def\endabstract{\par\vskip 9pt plus 1pt minus 1pt
 \vbox{\centerline{\rule[4pt]{30pc}{.4pt}}}\vskip 9pt plus 1pt minus 1pt\par}

%  ****************************************
%  *            PAGE STYLES               *
%  ****************************************
%
\mark{{}{}}
\gdef\@author{\mbox{}}
\def\author{\@ifnextchar [{\@authortwo}{\@authorone}}
% make \and a simple 'and' for \@shortauthor
\def\@authortwo[#1]#2{\gdef\@author{#2}\gdef\@shortauthor{#1}}
\def\@authorone#1{\gdef\@author{#1}
 \begingroup\def\and{and}\gdef\@shortauthor{#1}\endgroup}
\def\shortauthor#1{\gdef\@shortauthor{#1}}
\gdef\@shortauthor{}
\gdef\@title{\mbox{}} % SFB 0.96
\def\title{\@ifnextchar [{\@titletwo}{\@titleone}}
\def\@titletwo[#1]#2{\gdef\@title{#2}\gdef\@shorttitle{#1}}
\def\@titleone#1{\gdef\@title{#1}\gdef\@shorttitle{#1}}
\def\shorttitle#1{\gdef\@shorttitle{#1}}
\gdef\@shorttitle{}
%
\def\series#1{\gdef\@series{#1}}
\gdef\@series{A}
\def\year#1{\gdef\@year{#1}}
\gdef\@year{1993}
\def\volume#1{\gdef\@volume{#1}}
\gdef\@volume{11}
\def\pagerange#1{\gdef\@pagerange{#1}}
\gdef\@pagerange{1--000}
\newsavebox{\RSfootbox}
\sbox{\RSfootbox}{\footnotesize{\it\@journal}\ \rm\@series\ (\@year)}
\def\ps@headings{\let\@mkboth\markboth
 \def\@oddhead{\phantom{\rm \thepage}\hfil\it \@shorttitle \hfil\rm \thepage}
 \def\@oddfoot{\usebox{\RSfootbox}\hfil}
 \def\@evenhead{\rm \thepage \hfil \it \@shortauthor \hfil\phantom{\rm \thepage}}
 \def\@evenfoot{\@oddfoot}
 \def\sectionmark##1{\markboth{##1}{}}
 \def\subsectionmark##1{\markright{##1}}}
\def\ps@myheadings{\let\@mkboth\@gobbletwo
 \def\@oddhead{\it \rightmark \hfill \rm \thepage}
 \def\@oddfoot{}
 \def\@evenhead{\it \leftmark \hfill \rm \thepage}
 \def\@evenfoot{}
 \def\sectionmark##1{}
 \def\subsectionmark##1{}}
\def\ps@titlepage{\let\@mkboth\@gobbletwo
 \def\@oddfoot{\raisebox{0pt}[8pt][0pt]{%
  \parbox[t]{\textwidth}{\footnotesize\usebox{\RSfootbox} {\bf\@volume},
  {\rm \@pagerange} \hfill {\rm\copyright\ \@year\ The Royal
  Society}\\[2pt] \makebox[0pt][l]{\it Printed in Great Britain} \hfil
  {\small\rm\thepage} \hfil}}}
 \def\@oddhead{}\def\@evenhead{}\let\@evenfoot\@oddfoot
 \def\sectionmark##1{}\def\subsectionmark##1{}}

%  ****************************************
%  *         TABLE OF CONTENTS, ETC.      *
%  ****************************************
%
\def\@pnumwidth{1.55em}
\def\@tocrmarg {2.55em}
\def\@dotsep{4.5}
\setcounter{tocdepth}{2}
%\@undottedtocline{LEVEL}{INDENT}{NUMWIDTH}{TITLE}{PAGE}
\def\@undottedtocline#1#2#3#4#5{\ifnum #1>\c@tocdepth
 \else
  \vskip \z@ plus .2pt
  {\hangindent #2\relax
   \rightskip \@tocrmarg \parfillskip -\rightskip
   \parindent #2\relax \@afterindenttrue
   \interlinepenalty\@M \leavevmode
   \@tempdima #3\relax {\rm #4}\nobreak \hfill \nobreak
   \hbox to\@pnumwidth{\hfil\rm #5}\par}\fi} % page number added -- ggw
\def\tableofcontents{\@restonecolfalse
 \if@twocolumn\@restonecoltrue\onecolumn\fi
 \vskip 4pt plus .5pt
 \centerline{\large\bf Contents} \mbox{}\hfill {\sc page}
 \vskip 2pt
 \@starttoc{toc}
 \if@restonecol\twocolumn\fi \par\vspace{12pt}}
%
\def\l@section#1#2{\addpenalty{\@secpenalty}
 \@tempdima 1.5em
 \begingroup
  \parindent\z@ \rightskip\@pnumwidth \parfillskip -\@pnumwidth
  \rm\leavevmode \advance\leftskip\@tempdima
  \hskip-\leftskip {#1}\nobreak\hfil
  \nobreak\hbox to\@pnumwidth{\hss #2}\par
 \endgroup}
\def\l@subsection{\@undottedtocline{2}{1.5em}{1.6em}}
\def\l@subsubsection{\@undottedtocline{3}{3.8em}{3.2em}}
%
% The following are irrelevant for RS -- jas
% \def\l@paragraph{\@undottedtocline{4}{7.0em}{4.1em}}
% \def\l@subparagraph{\@undottedtocline{5}{10em}{5em}}
% \def\listoffigures{\@restonecolfalse
%  \if@twocolumn\@restonecoltrue\onecolumn\fi
%  \section*{List of Figures}% altered -- ggw
%  \@starttoc{lof} \if@restonecol\twocolumn\fi}
% \def\l@figure{\@undottedtocline{1}{1.5em}{2.3em}}
% \def\listoftables{\@restonecolfalse
%  \if@twocolumn\@restonecoltrue\onecolumn\fi
%  \section*{List of Tables}% altered -- ggw
%  \@starttoc{lot} \if@restonecol\twocolumn\fi}
% \let\l@table\l@figure

%  ****************************************
%  *              THE INDEX               *
%  ****************************************
%
\newif\if@restonecol
\def\theindex{\section*{Index} % changed to U&LC -- ggw
 \addcontentsline{toc}{section}{Index}
 \footnotesize \parindent\z@ \parskip\z@ plus .1pt\relax
 \let\item\@idxitem}
\def\@idxitem{\par\hangindent 1em}
\def\subitem {\par\hangindent 1em \hspace*{1em}}
\def\subsubitem{\par\hangindent 1em\hspace*{1em}}
\def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi}
\def\indexspace{\par\vskip\baselineskip \relax}

%  ****************************************
%  *             FOOTNOTES                *
%  ****************************************
%
%\def\footnoterule{}
\def\footnoterule{\setcounter{footnote}{0}}% To force numbering to start
%              at 1 on each page.  Works because numbers are
%              assigned at occurrence of the \footnote{} command; this
%              resets counter after they are printed.  This might not work
%              if next footnote falls close enough to page break to have
%              already been 'digested'. --jas
\def\@makefntext#1{\hskip1em\@thefnmark\hskip.5em\ignorespaces #1}
\def\@fnsymbol#1{\ifcase#1\or \dag\or \ddag\or \P\or \|\or
 \dag\dag\or \ddag\ddag\or \P\P\or \|\| \else\@ctrerr\fi\relax}
%   \@makefnmark : A macro to generate the footnote marker from \@thefnmark
%         The default is \hbox{$^\@thefnmark$}, i.e., raised.
\def\@makefnmark{\hbox{\@thefnmark}}% used in text
\def\thempfootnote{\hbox{$^\alph{mpfootnote}$}}% have to change this because we
              %do want minipage footnote marks to be raised (since they are
              %alphabetic and not symbols).

%  ****************************************
%  *         FIGURES AND TABLES           *
%  ****************************************
%
\setcounter{topnumber}{3}
\def\topfraction{.9}
\setcounter{bottomnumber}{0}
\def\bottomfraction{.9}
\setcounter{totalnumber}{3}
\def\textfraction{.1}
\def\floatpagefraction{.9}
\setcounter{dbltopnumber}{3}
\def\dbltopfraction{.9}
\def\dblfloatpagefraction{.5}
%
\long\def\@makecaption#1#2{\vskip3pt\begingroup\small
  \setbox\@tempboxa\hbox{{\rm #1.} \fcap@type #2}
  \ifdim \wd\@tempboxa >2\hsize \parbox{\textwidth}{\unhbox\@tempboxa}
  \else {\centering \unhbox\@tempboxa\par} \fi \endgroup\vskip3pt}
%
\newcounter{table}
\def\thetable{\@arabic\c@table}
\def\fps@table{tp}
\def\ftype@table{1}
\def\ext@table{lot}
\def\fnum@table{Table~\thetable}
%\def\table{\@float{table}\rule[4pt]{\textwidth}{.4pt} \vskip\floatsep}
\def\table{\let\fcap@type\it \@float{table}\small}
\def\plaintable{\@float{table}}
\let\endplaintable\end@float
\let\endtable\end@float
\@namedef{table*}{\@dblfloat{table}}
\@namedef{endtable*}{\end@dblfloat}
\def\fstyle@table{\small\rm}
\def\fjust@table{\centering}%changed ggw
\def\fcapjust@table{\centering} %changed ggw
\def\fcapsize@table{\small\rm}
\def\fcapstyle@table{\small\it}
%
\newcounter{figure}
\def\thefigure{\@arabic\c@figure}
\def\fps@figure{tp}
\def\ftype@figure{2}
\def\ext@figure{lof}
\def\fnum@figure{Figure~\thefigure}
\def\figure{\let\fcap@type\rm \@float{figure}}
\let\endfigure\end@float
\@namedef{figure*}{\@dblfloat{figure}}
\@namedef{endfigure*}{\end@dblfloat}
\def\fstyle@figure{\small\rm}
\def\fjust@figure{\centering}
\def\fcapjust@figure{\centering}% changed ggw
\def\fcapsize@figure{\small\rm}
\def\fcapstyle@figure{\small\rm}
\newif\ifwide@float
\wide@floatfalse
%
%\@caption{TYPE}[STEXT]{TEXT}
\def\@dblfloat{\wide@floattrue\@float}
\def\end@dblfloat{\if@twocolumn\egroup
 \ifnum\@floatpenalty <\z@ \@cons\@dbldeferlist\@currbox\fi
 \ifnum \@floatpenalty =-\@Mii \@esphack\fi\else\end@float\fi
 \wide@floatfalse}

%this is to preserve the old tabular environment in case it is needed
\let \oldtabular \tabular
\let \endoldtabular \endtabular

\def\tabular{\def\@halignto{to \textwidth}\tabskip=\tabcolsep plus 1fil\@tabular}
% This fixes tabular things so that they are full out l and r; the \tabskip setting
% is to put tabskip before the first column.
%    The following is to adjust the intercolumn spacing to put in
% enough stretch. ggw
\def\@tabarray{\@ifnextchar[{\@tarray}{\@ttarray}}
\def\@tarray[#1]#2{\t@barray[#1]{@{\tabskip=2\tabcolsep plus 3pt}
                                #2}}
\def\@ttarray#1{\t@barray[c]{@{\tabskip=2\tabcolsep plus 3pt}
                                #1 }}
\def\t@barray[#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 \tabskip=\tabcolsep plus 1fil \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}

%  ****************************************
%  *           CUP specials               *
%  ****************************************
%
\def\ls{\kern.15em} % for letterspacing; .15em is a hair less than thinspace
\renewcommand{\thefootnote}{\mbox{$\fnsymbol{footnote}$}}
\def\sect#1{\hbox{\S\ls{#1}}} % for a section mark
\def\hline{\noalign{\ifnum0=`}\fi \vskip 6pt
 \hrule \@height \arrayrulewidth \vskip 6pt
 \futurelet \@tempa\@xhline}
\def\@xhline{\ifx\@tempa\hline \vskip -12pt
 \vskip \doublerulesep \fi \ifnum0=`{\fi}}
\newenvironment{acknowledgments}{
 \par\addvspace{\halflineskip}\noindent\small\ignorespaces}{\par}
\def\discussion{\par\addvspace{22pt plus 1pt minus 1pt}
 \centerline{{\it Discussion}} \vskip4pt}
\def\comment{\par\addvspace{12pt}\noindent\ignorespaces}
\def\received#1{\par\addvspace{\halflineskip}\centerline{\footnotesize\it #1}}
%  ****************************************
%  *            MISCELLANEOUS             *
%  ****************************************
%
\def\today{\number\day\ \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 \ \year}

%  ****************************************
%  *           BIBLIOGRAPHY               *
%  ****************************************
% the immediately following code is taken from MSCS.sty, somewhat modified.
\def\@biblabel#1{#1}
\def\thebibliography#1{\par\section*{References}
 \addcontentsline{toc}{section}{\hskip\@tempdima References}
 \list{}{\labelwidth\z@ \leftmargin 1em \itemindent -1em \itemsep 1pt}
 \small \parindent\z@
%\parskip\z@ plus .1pt\relax
 \parskip 1.5pt plus .1pt\relax
 \def\newblock{\hskip .11em plus .33em minus .07em}
 \sloppy\clubpenalty4000\widowpenalty4000
 \sfcode`\.=1000\relax}
\let\endthebibliography=\endlist
%
%  The following code is taken from authordate.sty, by  David Rhead, of
%  the Cripps Computing Centre (February 1990), with some modifications
%  by ggw.  It is intended for documents
%  that use the author-date citation system.  When used in conjunction with
%  authordate1.bst, ... , authordate4.bst, it allows citations of the
%  form \shortcite{bloggs-60} as well as the usual \cite{bloggs-60}.
%  When
%       ... \cite{bloggs-60} ... \shortcite{bloggs-60} ...
%  appears in the input file,
%       ... (Bloggs, 1960) ... (1960) ...
%  appears in the final document.
%
%  Code taken from apalike.sty.
%
\def\@cite#1#2{(#1\if@tempswa , #2\fi)}
\def\@biblabel#1{}

% Set length of hanging indentation for bibliography entries
%
\newlength{\bibhang}
\setlength{\bibhang}{1em}

%  Define default title and page-head text.
%
\def\bibtitle{References}
\def\bibheadtitle{REFERENCES}

%  Code taken from aaai.sty.
%
% don't box citations, add space between multiple citations, separate with ;
\def\@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}}
% Allow short (name-less) citations, when used in
% conjunction with a bibliography style that creates labels like
%       \citename{<names>, }<year>
\let\@internalcite\cite
\def\cite{\def\citename##1{##1}\@internalcite}
\def\shortcite{\def\citename##1{}\@internalcite}

%  ****************************************
%  *           INITIALIZATION             *
%  ****************************************
%
\ps@headings
\pagenumbering{arabic}
\onecolumn \let\onecolumn=\relax
\def\twocolumn{\typeout{Two column mode not available with RS style.}}
\flushbottom
\frenchspacing
\def\>{\kern .1em}
\def\bm #1{\mbox{\boldmath $#1$}}
\def\smfr #1#2{{\textstyle\frac{#1}{#2}}}
\def\shove{\hskip10000pt minus 1fil}
%
%  *************************************
%  **********  AMS SYMBOLS  ************
%  *************************************
%
\font\tenmsx=msxm10 scaled \magstep1
\font\sevenmsx=msxm8
\font\fivemsx=msxm6
\font\tenmsy=msym10 scaled \magstep1
\font\sevenmsy=msym8
\font\fivemsy=msym6

\newfam\msxfam
\newfam\msyfam
\textfont\msxfam=\tenmsx  \scriptfont\msxfam=\sevenmsx
  \scriptscriptfont\msxfam=\fivemsx
\textfont\msyfam=\tenmsy  \scriptfont\msyfam=\sevenmsy
  \scriptscriptfont\msyfam=\fivemsy

\def\hexnumber@#1{\ifnum#1<10 \number#1\else
 \ifnum#1=10 A\else\ifnum#1=11 B\else\ifnum#1=12 C\else
 \ifnum#1=13 D\else\ifnum#1=14 E\else\ifnum#1=15 F\fi\fi\fi\fi\fi\fi\fi}

\def\msx@{\hexnumber@\msxfam}
\def\msy@{\hexnumber@\msyfam}
\mathchardef\boxdot="2\msx@00
\mathchardef\boxplus="2\msx@01
\mathchardef\boxtimes="2\msx@02
\mathchardef\square="0\msx@03
\mathchardef\blacksquare="0\msx@04
\mathchardef\lozenge="0\msx@06
\mathchardef\blacklozenge="0\msx@07
\mathchardef\boxminus="2\msx@0C
\mathchardef\geqslant="3\msx@3E
\mathchardef\leqslant="3\msx@36
\mathchardef\vartriangleright="3\msx@42
\mathchardef\vartriangleleft="3\msx@43
\mathchardef\blacktriangledown="0\msx@48
\mathchardef\blacktriangleright="3\msx@49
\mathchardef\blacktriangleleft="3\msx@4A
\mathchardef\blacktriangle="0\msx@4E
\mathchardef\triangledown="0\msx@4F
\mathchardef\hslash="0\msy@7D
%
% Redefine two relation symbols \leq and \geq
%
\def\leq{\leqslant}
\def\geq{\geqslant}
%
% Newcommands defining shapes
%
\newcommand{\triright}{\vartriangleright}
\newcommand{\trileft}{\vartriangleleft}
\newcommand{\btridown}{\blacktriangledown}
\newcommand{\btriright}{\blacktriangleright}
\newcommand{\btrileft}{\blacktriangleleft}
\newcommand{\btriup}{\blacktriangle}
\newcommand{\triup}{\bigtriangleup}
\newcommand{\tridown}{\triangledown}
\newcommand{\bsquare}{\blacksquare}
\newcommand{\blozenge}{\blacklozenge}
