%%  A LaTeX2e class for doing INTERACT conference proceedings.%%%%  Copyright (c) 1999, Russel Winder%%\def \fileversion{v1.3}\def \filedate{1999/01/15}\def \docdate{\filedate}%%  Essentially a standard looking LaTeX2e document with a few preamble%  additions:%%  \documentclass{interact_vol2}%  \usepackage{rnmdt}  %%  Remove if not using BibTeX.%  \title{...}%  \author{...}%  \address{...}%  \telephone{...}%  \fax{...}%  \email{...}%  \url{...}%  \keywords{...}%  \begin{document}%  \bibliographystyle{rnmdt}  %%  Remove if not using BibTeX.%  \maketitle%  \begin{abstract}%   ...%  \end{abstract}%  \begin{multicols}{2}%   ...%  {\small \bibliography{...}}  %%  Remove if not using BibTeX but note that%                               %%  references are typeset in \small font.%  \end{multicols}%  \end{document}%%  \title{..} and \author{...} can actually appear as \title[...]{...}%  and \author[...]{...}.  The part inside the square brackets will be%  used for the running heads instead of the part in the curly braces%  which is the title and author list used on the title page; this is%  for the cases where the title and/or author list are too long to be%  running heads, running heads can be defined explicitly.%%  This style is not the one used for real and, in fact, does not%  quite replicate the formatting achieved using  the ``real''%  macros.  I haven't had time to investigate this but really ought to%  be cured.%%  The rnmdt.bst and rnmdt.sty files required for correct formatting%  of citations should be in the same FTP directory that you found%  this file (ftp://ftp.dcs.kcl.ac.uk/pub/russel/).  Standard%  citations use \cite{XXX} and result in (xxx, ddd) type citations.%  If you want xxx (ddd) type citations use \citeasnoun{XXX}.%%  If anyone finds any errors or wants to comment on this file please%  contact me: russel@dcs.kcl.ac.uk.%\NeedsTeXFormat{LaTeX2e}[1997/12/01]\ProvidesClass{interact_vol2}[\filedate\space\fileversion\space INTERACT Proceedings class]\DeclareOption{onecolumn}{%    \ClassError{interact_vol2}{Option `onecolumn' not permitted for this style.}{}}\DeclareOption{twocolumn}{%    \ClassError{interact_vol2}{Option `twocolumn' is effectively on by default.}{}}\PassOptionsToClass{10pt,a4paper}{book}\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}}\ProcessOptions\LoadClass{book}\RequirePackage{times}\RequirePackage{mathptm}\RequirePackage{multicol}\RequirePackage{a4}\def \title{\@ifnextchar[{\@gettitletwo}{\@gettitleone}}\def \@gettitleone#1{\@gettitletwo[#1]{#1}}\def \@gettitletwo[#1]#2{{%    \gdef \@title{#2}%    \def \thanks##1{\relax}%    \def \\{\unskip \space \ignorespaces}%    \xdef \@titlehead{#1}%}}\def \author{\@ifnextchar[{\@getauthortwo}{\@getauthorone}}\def \@getauthorone#1{\@getauthortwo[#1]{#1}}\def \@getauthortwo[#1]#2{{%    \global \let \latexand \and%    \gdef \and{\space \@authorand \space \ignorespaces}%    \gdef \@author{#2}%    \def \and{\unskip \space \@authorand \space \ignorespaces}%    \def \thanks##1{\relax}%    \def \\{\unskip \space \ignorespaces}%    \xdef \@authorhead{#1}%    \gdef \@@author{#2}%}}\def \@name{}\def \@address{}\def \@telephone{}\def \@fax{}\def \@email{}\def \@url{}\newcommand \@contactdetails[6]{%    \gdef \@name{#1}%    \gdef \@address{#2}%    \gdef \@telephone{#3}%    \gdef \@fax{#4}%    \gdef \@email{#5}%    \gdef \@url{#6}%}\let \contactdetails \@contactdetails\newcommand \address[1]{\gdef\@address{#1}}\newcommand \telephone[1]{\gdef \@telephone{#1}}\newcommand \fax[1]{\gdef \@fax{#1}}\newcommand \email[1]{\gdef \@email{#1}}\newcommand \url[1]{\gdef \@url{#1}}\newcommand \keywords[1]{\gdef \@keywords{#1}}%\renewcommand \thesection{\arabic{section}}%\renewcommand \theequation{\arabic{equation}}%\renewcommand \thefigure{\arabic{figure}}%\renewcommand \thetable{\arabic{table}}%\def \section{%    \@ifstar{\@sectionstar}{\@sectionnostar}%}\def \@sectionstar#1{\@startsection{section}{1}{\z@}{-2ex \@plus -.4ex \@minus -.2ex}{1ex \@plus .1ex \@minus .1ex}{\sectionheadfont}*{\uppercase{#1}}}\def \@sectionnostar#1{\@startsection{section}{1}{\z@}{-2ex \@plus -.4ex \@minus -.2ex}{1ex \@plus .1ex \@minus .1ex}{\sectionheadfont}{\uppercase{#1}}}\def \subsection{\@startsection{subsection}{2}{\z@}{-1ex \@plus -.3ex \@minus  -.2ex}{.5ex \@plus .1ex \@minus .1ex}{\subsectionheadfont}}\def \subsubsection{\@startsection{subsubsection}{3}{\z@}{-.75ex \@plus  -.2ex \@minus -.2ex}{.3ex \@plus .1ex \@minus .1ex}{\subsubsectionheadfont}}\setcounter{secnumdepth}{3}\newcommand \copyrightnotice{%    \hbox to \z@{%        \vbox to \z@{%            \parbox{\columnwidth}{%                Human--Computer Interaction --- INTERACT '99 (Volume 2)\\%                S. Brewster, A. Cawsey and G. Cockton (Editors)\\%                \copyright\ IFIP, 1999%            }%            \vss%        }%        \hss%    }%}\def \ps@paper{%    \let \@mkboth \papermarkboth%    \def \@oddhead{\rightmark}%    \def \@oddfoot{}%    \def \@evenhead{\leftmark}%    \def \@evenfoot{}%    \let \chaptermark \@gobble%    \let \sectionmark \@gobble%}\def \ps@papertitlepage{%    \let \@mkboth \papermarkboth%    \def \@oddhead{\small \itshape \copyrightnotice \hfill \thepage}%    \def \@oddfoot{}%    \def \@evenhead{\small \itshape \thepage \hfill \copyrightnotice}%    \def \@evenfoot{}%    \let \chaptermark \@gobble%    \let \sectionmark \@gobble%}\let \ps@plain \ps@empty\hyphenpenalty = \@M\tolerance = \@m\emergencystretch = 20\p@\hfuzz = 2\p@\vfuzz = 2\p@\renewcommand \footnoterule {%    \kern -3\p@%    \hrule%    \kern 2.6\p@%}\setlength \columnsep{8mm}%\setlength \parskip{\z@ \@plus 1\p@}\setlength \parindent{2em}\setlength \headsep{16\p@}\setlength \partopsep{1\p@ \@minus 1\p@}\setlength \topsep{\z@}\setlength \footskip{26\p@}\renewcommand \topfraction{.85}\renewcommand \textfraction{.15}\renewcommand \floatpagefraction{.75}\renewcommand \bibname{REFERENCES}\renewenvironment{thebibliography}[1]{%    \section*{\bibname}%    \list{\@biblabel{\arabic{enumiv}}}%         {\settowidth\labelwidth{\@biblabel{#1}}%          \leftmargin \labelwidth%          \advance \leftmargin \labelsep%          \@openbib@code%          \usecounter{enumiv}%          \let \p@enumiv \@empty%          \renewcommand \theenumiv{\arabic{enumiv}}}%    \small%    \sloppy%    \clubpenalty 4000%    \widowpenalty 4000%    \sfcode `\.=\@m%    \relax%}{%    \def \@noitemerr{\@latex@warning{Empty `thebibliography' environment}}%    \endlist%}\newcommand \papermarkboth[2]{%    \markboth{\noexpand \small \itshape \noexpand \thepage \hfill #1}%             {\noexpand \small \itshape #2\hfill \noexpand \thepage}%}\pagestyle{paper}\setlength \textwidth{160 true mm}\setlength \textheight{218 true mm}\oddsidemargin -14mm\evensidemargin -14mm\topmargin -8.5mm\newcommand \@authorand{\&}\newlength \spaceAboveTitle\setlength \spaceAboveTitle{5mm}\renewcommand \maketitle{%    \begingroup%        \renewcommand \thefootnote{\fnsymbol{footnote}}%        \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%        \long\def\@makefntext##1{\parindent 1em\noindent%            \hb@xt@1.8em{%                \hss\@textsuperscript{\normalfont\@thefnmark}}##1}%        %\twocolumn[\@maketitle]%        \@maketitle%        \thispagestyle{papertitlepage}%    \endgroup%    \@mkboth{\@authorhead}{\@titlehead}%    \setcounter{footnote}{0}%    \global \let \thanks \relax%    \global \let \@url \@empty%    \global \let \@email \@empty%    \global \let \@fax \@empty%    \global \let \@telephone \@empty%    \global \let \@address \@empty%    \global \let \@authorhead \@empty%    \global \let \@@author \@empty%    \global \let \@author \@empty%    \global \let \@date \@empty%    \global \let \@title \@empty%    \global \let \title \relax%    \global \let \author \relax%    \global \let \date \relax%    \global \let \and \relax%}\def \@maketitle{%    \vspace*{\spaceAboveTitle}%    \begin{center}%        {\LARGE \@title \par}%        \vspace*{2\bigskipamount}%        {\Large \@author \par}%        \vspace*{\medskipamount}%        \@docontactdetails{\@address}{\@telephone}{\@fax}{\@email}{\@url}%    \end{center}%}\def\@makechapterhead#1{%    \vspace*{\spaceAboveTitle}%    {\LARGE \begin{center} #1 \end{center}}%    \vspace*{3\bigskipamount}%}\let \@makeschapterhead \@makechapterhead\newcommand \@@contactdetails[6]{%    \vspace*{-\medskipamount}%    \@docontactdetails{#2}{#3}{#4}{#5}{#6}%}\newcommand \@docontactdetails[5]{%    {\Large%     #1%     \par%     \vspace*{\smallskipamount}%     \setbox0 = \hbox{#2}%     \ifdim \wd0 > \z@%        Tel: {\large #2}\\%     \fi%     \setbox0 = \hbox{#3}%     \ifdim \wd0 > \z@%        Fax: {\large #3}\\%     \fi%     \setbox0 = \hbox{#4}%     \ifdim \wd0 > \z@%        EMail: #4\\%     \fi%     \setbox0 = \hbox{#5}%     \ifdim \wd0 > \z@%        URL: #5\\%     \fi%    }%    \global \let \contactdetails \@@contactdetails%}\newenvironment{abstract}{%    \vspace*{\bigskipamount}%    \let \acronym \aacronym%    \noindent%    \@ifnextchar{\ }{\@gobble}{}%}{%    \par%    \bigskip%    \noindent%    Keywords: \@keywords%    \medskip%}\newcommand \notsolarge {\@setfontsize\notsolarge{11}{13}}\def \sectionheadfont{\large\bfseries}\def \subsectionheadfont{\large\bfseries}\def \subsubsectionheadfont{\large\bfseries}\renewcommand \thefootnote{\fnsymbol{footnote}}%\newcommand \acronym[1]{{\small #1}}\newcommand \aacronym[1]{{\small\textit{#1}}}\newcommand \facronym[1]{{\scriptsize #1}}Content-Description: paper.psContent-MD5: 74XGsvPabGR8/QyjP7Z2FQ==Content-Type: APPLICATION/postscript; name="paper.ps"; x-unix-mode="0644" paper1.ps Content-Description: rnmdt.bstContent-MD5: LE6BaLoMsxOO9CzCykGOuA==Content-Type: TEXT/plain; name="rnmdt.bst"; charset="us-ascii"; x-unix-mode="0644"ENTRY {  address  annote  author  booktitle  chapter  edition  editor  howpublished  institution  journal  key  month  note  number  organization  pages  publisher  school  series  title  type  volume  year}{ field.used }{ extra.label sort.label list.year }INTEGERS { output.state before.all mid.sentence after.sentence after.block }FUNCTION {init.state.consts}{ #0 'before.all :=  #1 'mid.sentence :=  #2 'after.sentence :=  #3 'after.block :=}STRINGS { s t f }FUNCTION {output.nonnull}{ 's :=  output.state mid.sentence =    { ", " * write$ }    { output.state after.block =        { add.period$ write$          newline$          "\newblock " write$        }        { output.state before.all =            'write$            { add.period$ " " * write$ }          if$        }      if$      mid.sentence 'output.state :=    }  if$  s}FUNCTION {output}{ duplicate$ empty$    'pop$    'output.nonnull  if$}FUNCTION {output.check}{ 't :=  duplicate$ empty$    { pop$ "empty " t * " in " * cite$ * warning$ }    'output.nonnull  if$}FUNCTION {item.check}{ 't :=  empty$    { "empty " t * " in " * cite$ * warning$ }    { skip$ }  if$}FUNCTION {fin.entry}{ add.period$  write$  newline$}FUNCTION {new.block}{ output.state before.all =    'skip$    { after.block 'output.state := }  if$}FUNCTION {not}{   { #0 }    { #1 }  if$}FUNCTION {and}{   'skip$    { pop$ #0 }  if$}FUNCTION {or}{   { pop$ #1 }    'skip$  if$}FUNCTION {field.or.null}{ duplicate$ empty$    { pop$ "" }    'skip$  if$}FUNCTION {emphasize}{ duplicate$ empty$    { pop$ "" }    { "\emph{" swap$ * "}" * }  if$}FUNCTION {embolden}{ duplicate$ empty$    { pop$ "" }    { "\textbf{" swap$ * "}" * }  if$}FUNCTION {quote}{ duplicate$ empty$    { pop$ "" }    { "``" swap$ * "''" * }  if$}INTEGERS { nameptr namesleft numnames }FUNCTION {format.names}{ 's :=  'f :=  #1 'nameptr :=  s num.names$ 'numnames :=  numnames 'namesleft :=    { namesleft #0 > }    { s nameptr f format.name$ 't :=      nameptr #1 >        { namesleft #1 >            { ", " * t * }            { t "others" =                { " \refetal" * }                { " \& " * t * }              if$            }          if$        }        't      if$      nameptr #1 + 'nameptr :=      namesleft #1 - 'namesleft :=    }  while$}FUNCTION {format.authors}{ author empty$    { "" }    { "{vv~}{ll}{, jj}{, f.}" author format.names }  if$}FUNCTION {format.editors}{ editor empty$    { "" }    { "{vv~}{ll}{, jj}{, f.}" editor format.names      editor num.names$ #1 >        { " (eds.)" * }        { " (ed.)" * }      if$    }  if$}FUNCTION {format.editors.reverse}{ editor empty$    { "" }    { "{f.~}{vv~}{ll}{, jj}" editor format.names      editor num.names$ #1 >        { " (eds.)" * }        { " (ed.)" * }      if$    }  if$}FUNCTION {format.title}{ title}FUNCTION {n.dashify}{ 't :=  ""    { t empty$ not }    { t #1 #1 substring$ "-" =        { t #1 #2 substring$ "--" = not            { "--" *              t #2 global.max$ substring$ 't :=            }            {   { t #1 #1 substring$ "-" = }                { "-" *                  t #2 global.max$ substring$ 't :=                }              while$            }          if$        }        { t #1 #1 substring$ *          t #2 global.max$ substring$ 't :=        }      if$    }  while$}FUNCTION {format.btitle}{ title emphasize}FUNCTION {tie.or.space.connect}{ duplicate$ text.length$ #3 <    { "~" }    { " " }  if$  swap$ * *}FUNCTION {either.or.check}{ empty$    'pop$    { "can't use both " swap$ * " fields in " * cite$ * warning$ }  if$}FUNCTION {format.bvolume}{ volume empty$    { "" }    { "Vol." volume tie.or.space.connect      series empty$        'skip$        { " of " * series emphasize * }      if$      "volume and number" number either.or.check    }  if$}FUNCTION {format.number.series}{ volume empty$    { number empty$        { series field.or.null }        { output.state mid.sentence =            { "number" }            { "Number" }          if$          number tie.or.space.connect          series empty$            { "there's a number but no series in " cite$ * warning$ }            { " \emph{in} " * series quote * }          if$        }      if$    }    { "" }  if$}FUNCTION {format.edition}{ edition empty$    { "" }    { output.state mid.sentence =        { edition "l" change.case$ " edition" * }        { edition "t" change.case$ " edition" * }      if$    }  if$}INTEGERS { multiresult }FUNCTION {multi.page.check}{ 't :=  #0 'multiresult :=    { multiresult not      t empty$ not      and    }    { t #1 #1 substring$      duplicate$ "-" =      swap$ duplicate$ "," =      swap$ "+" =      or or        { #1 'multiresult := }        { t #2 global.max$ substring$ 't := }      if$    }  while$  multiresult}FUNCTION {format.pages}{ pages empty$    { "" }    { pages multi.page.check        { "pp." pages n.dashify * }        { "p." pages * }      if$    }  if$}FUNCTION {format.vol.num}{ volume embolden field.or.null  number empty$    'skip$    { "(" number * ")" * *      volume empty$        { "there's a number but no volume in " cite$ * warning$ }        'skip$      if$    }  if$}FUNCTION {format.vol.num.pages}{ format.vol.num  pages empty$    'skip$    { duplicate$ empty$        { pop$ format.pages }        { ",~" * pages n.dashify * }      if$    }  if$}FUNCTION {format.chapter.pages}{ chapter empty$    'format.pages    { type empty$        { "chapter" }        { type "l" change.case$ }      if$      chapter tie.or.space.connect      pages empty$        'skip$        { ", " * format.pages * }      if$    }  if$}FUNCTION {format.in.ed.booktitle}{ booktitle empty$    { "" }    { editor empty$        { "\emph{in} " booktitle emphasize * }        { "\emph{in} " format.editors.reverse * ", " * booktitle emphasize * }      if$    }  if$}FUNCTION {empty.misc.check}{ author empty$ title empty$ howpublished empty$  month empty$ year empty$ note empty$  and and and and and  key empty$ not and    { "all relevant fields are empty in " cite$ * warning$ }    'skip$  if$}FUNCTION {format.thesis.type}{ type empty$    'skip$    { pop$      type    }  if$}FUNCTION {format.tr.number}{ type empty$    { "Technical Report" }    'type  if$  number empty$    { }    { number tie.or.space.connect }  if$}FUNCTION {format.article.crossref}{ key empty$    { journal empty$        { "need key or journal for " cite$ * " to crossref " * crossref *          warning$          ""        }        { "in \emph{" journal * "} \cite{" * crossref * "}" *}      if$    }    { "\emph{in} \citeasnoun{" crossref * "}" * }  if$ }FUNCTION {format.book.crossref}{ volume empty$    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$      "in "    }    { "Vol." volume tie.or.space.connect      " of " *    }  if$  editor empty$  editor field.or.null author field.or.null =  or    { key empty$        { series empty$            { "need editor, key, or series for " cite$ * " to crossref " *              crossref * warning$              "" *            }            { "\emph{" * series * "} \cite{" * crossref * "}" *}          if$        }        { " \citeasnoun{" * crossref * "}" * }      if$    }    { " \citeasnoun{" * crossref * "}" * }  if$}FUNCTION {format.incoll.inproc.crossref}{ editor empty$  editor field.or.null author field.or.null =  or    { key empty$        { booktitle empty$            { "need editor, key, or booktitle for " cite$ * " to crossref " *              crossref * warning$              ""            }            { "in \emph{" booktitle * "} \cite{" * crossref * "}" *}          if$        }        { "\emph{in} \citeasnoun{" crossref * "}" * }      if$    }    { "\emph{in} \citeasnoun{" crossref * "}" * }  if$  }INTEGERS { len }FUNCTION {chop.word}{ 's :=  'len :=  s #1 len substring$ =    { s len #1 + global.max$ substring$ }    's  if$}FUNCTION {format.lab.names.abbr}{ 's :=  s num.names$ 'numnames :=  numnames #1 >    { numnames #2 >        { s #1 "{vv~}{ll}" format.name$ " \refetal" * }        { s #2 "{ff }{vv~}{ll}{ jj}" format.name$ "others" =            { s #1 "{vv~}{ll}" format.name$ " \refetal" * }            { s #1 "{vv~}{ll}" format.name$ " \& " *              s #2 "{vv~}{ll}" format.name$ *             }          if$        }      if$    }    { s #1 "{vv~}{ll}" format.name$ }  if$}FUNCTION {format.lab.names.full}{ 's :=  #1 'nameptr :=  s num.names$ 'numnames :=  numnames 'namesleft :=    { namesleft #0 > }    { s nameptr "{vv~}{ll}" format.name$ 't :=      nameptr #1 >        { namesleft #1 >            { ", " * t * }            { t "others" =                { " \refetal" * }                { " \& " * t * }              if$            }          if$        }        't      if$      nameptr #1 + 'nameptr :=      namesleft #1 - 'namesleft :=    }  while$}INTEGERS { author.field editor.field organization.field title.field key.field }FUNCTION {init.field.constants}{ #0 'author.field :=  #1 'editor.field :=  #2 'organization.field :=  #3 'title.field :=  #4 'key.field :=}FUNCTION {make.list.label}{ author.field field.used =    { format.authors }    { editor.field field.used =        { format.editors }        { organization.field field.used =            { "The " #4 organization chop.word #12 text.prefix$ }            { title.field field.used =                { format.btitle }                { key.field field.used =                    { key #12 text.prefix$ }                    { "Internal error :001 on " cite$ * " label" * warning$ }                  if$                }              if$            }          if$        }      if$    }  if$}FUNCTION {make.full.label}{ author.field field.used =    { author format.lab.names.full }    { editor.field field.used =        { editor format.lab.names.full }        { organization.field field.used =            { "The " #4 organization chop.word #12 text.prefix$ }            { title.field field.used =                { format.btitle }                { key.field field.used =                    { key #12 text.prefix$ }                    { "Internal error :001 on " cite$ * " label" * warning$ }                  if$                }              if$            }          if$        }      if$    }  if$}FUNCTION {make.abbr.label}{ author.field field.used =    { author format.lab.names.abbr }    { editor.field field.used =        { editor format.lab.names.abbr }        { organization.field field.used =            { "The " #4 organization chop.word #12 text.prefix$ }            { title.field field.used =                { format.btitle }                { key.field field.used =                    { key #12 text.prefix$ }                    { "Internal error :001 on " cite$ * " label" * warning$ }                  if$                }              if$            }          if$        }      if$    }  if$}FUNCTION {output.bibitem}{ newline$  "\rwbibitem[" write$  make.abbr.label write$  "]{" write$  make.full.label write$  "}{" write$  list.year write$  "}{" write$  cite$ write$  "}" write$  newline$  ""  before.all 'output.state :=}FUNCTION {list.label.output}{ make.list.label " " * write$}FUNCTION {article}{ output.bibitem  list.label.output  " (" list.year * ")" * output.nonnull  author "author" item.check  title.field field.used =    { skip$ }    { format.title quote "title" output.check }  if$  crossref missing$    { journal emphasize "journal" duplicate$ item.check      pages empty$        {           " " *           format.vol.num * output        }        {           " " *           format.vol.num.pages * output        }      if$    }    { format.article.crossref output.nonnull      format.pages output    }  if$  new.block  note output  fin.entry}FUNCTION {book}{ output.bibitem  list.label.output  " (" list.year * ")" * output.nonnull  author empty$    { editor "author and editor" item.check }    { crossref missing$        { "author and editor" editor either.or.check }        'skip$      if$    }  if$  title.field field.used =    { skip$ }    { format.btitle "title" output.check }  if$  crossref missing$    { format.bvolume output      format.number.series output      format.edition output      publisher "publisher" output.check      address output    }    { format.book.crossref output.nonnull      format.edition output    }  if$  new.block  note output  fin.entry}FUNCTION {booklet}{ output.bibitem  list.label.output  " (" list.year * ")" * output.nonnull  title.field field.used =    { skip$ }    { format.title quote "title" output.check }  if$  howpublished output  address output  new.block  note output  fin.entry}FUNCTION {inbook}{ output.bibitem  list.label.output  " (" list.year * ")" * output.nonnull  author empty$    { editor "author and editor" item.check }    { crossref missing$        { "author and editor" editor either.or.check }        'skip$      if$    }  if$  title.field field.used =    { skip$ }    { format.btitle "title" output.check }  if$  crossref missing$    { format.bvolume output      format.number.series output      format.edition output      publisher "publisher" output.check      address output    }    { format.book.crossref output.nonnull      format.edition output    }  if$  format.chapter.pages "chapter and pages" output.check  new.block  note output  fin.entry}FUNCTION {incollection}{ output.bibitem  list.label.output  " (" list.year * ")" * output.nonnull  title.field field.used =    { skip$ }    { format.title "title" output.check }  if$  author "author" item.check  crossref missing$    { format.in.ed.booktitle "booktitle" output.check      format.edition output      format.bvolume output      format.number.series output      publisher "publisher" output.check      address output    }    { format.incoll.inproc.crossref output.nonnull    }  if$  format.chapter.pages output  new.block  note output  fin.entry}FUNCTION {inproceedings}{ output.bibitem  list.label.output  " (" list.year * ")" * output.nonnull  title.field field.used =    { skip$ }    { format.title "title" output.check }  if$  author "author" item.check  crossref missing$    { format.in.ed.booktitle "booktitle" output.check      journal empty$        { format.bvolume output          format.number.series output        }        { journal emphasize "journal" duplicate$ item.check          " " * format.vol.num * output        }      if$      address empty$        { organization output          publisher output        }        { organization output          publisher output          address output.nonnull         }      if$    }    { format.incoll.inproc.crossref output.nonnull    }  if$  format.pages output  new.block  note output  fin.entry}FUNCTION {conference} { inproceedings }FUNCTION {manual}{ output.bibitem  list.label.output  " (" list.year * ")" * output.nonnull  title.field field.used =    { skip$ }    { format.btitle "title" output.check }  if$  format.edition output  author empty$    { organization empty$        { address output }        'skip$      if$    }    { organization output      address output    }  if$  new.block  note output  fin.entry}FUNCTION {mastersthesis}{ output.bibitem  list.label.output  " (" list.year * ")" * output.nonnull  author "author" item.check  title.field field.used =    { skip$ }    { format.title "title" output.check }  if$  "Master's thesis" format.thesis.type output.nonnull  school "school" output.check  address output  new.block  note output  fin.entry}FUNCTION {misc}{ output.bibitem  list.label.output  " (" list.year * ")" * output.nonnull  title.field field.used =    { skip$ }    { format.title quote output }  if$  howpublished output  new.block  note output  fin.entry  empty.misc.check}FUNCTION {phdthesis}{ output.bibitem  list.label.output  " (" list.year * ")" * output.nonnull  author "author" item.check  title.field field.used =    { skip$ }    { title "title" output.check }  if$  "PhD thesis" format.thesis.type output.nonnull  school "school" output.check  address output  new.block  note output  fin.entry}FUNCTION {proceedings}{ output.bibitem  list.label.output  " (" list.year * ")" * output.nonnull  title.field field.used =    { skip$ }    { format.btitle "title" output.check }  if$  journal empty$    { format.bvolume output      format.number.series output    }    { journal emphasize "journal" duplicate$ item.check      " " * format.vol.num.pages * output    }  if$  address empty$    { editor empty$        { skip$ }        { organization output        }      if$      publisher output    }    { editor empty$        'skip$        { organization output }      if$      publisher output      address output.nonnull    }  if$  new.block  note output  fin.entry}FUNCTION {techreport}{ output.bibitem  list.label.output  " (" list.year * ")" * output.nonnull  author "author" item.check  title.field field.used =    { skip$ }    { format.title "title" output.check }  if$  format.tr.number output.nonnull  institution "institution" output.check  address output  new.block  note output  fin.entry}FUNCTION {unpublished}{ output.bibitem  list.label.output  " (" list.year * ")" * output.nonnull  author "author" item.check  title.field field.used =    { skip$ }    { format.title "title" output.check }  if$  note "note" output.check  fin.entry}FUNCTION {default.type} { misc }MACRO {jan} {"January"}MACRO {feb} {"February"}MACRO {mar} {"March"}MACRO {apr} {"April"}MACRO {may} {"May"}MACRO {jun} {"June"}MACRO {jul} {"July"}MACRO {aug} {"August"}MACRO {sep} {"September"}MACRO {oct} {"October"}MACRO {nov} {"November"}MACRO {dec} {"December"}MACRO {acmcs} {"ACM Computing Surveys"}MACRO {acta} {"Acta Informatica"}MACRO {cacm} {"Communications of the ACM"}MACRO {ibmjrd} {"IBM Journal of Research and Development"}MACRO {ibmsj} {"IBM Systems Journal"}MACRO {ieeese} {"IEEE Transactions on Software Engineering"}MACRO {ieeetc} {"IEEE Transactions on Computers"}MACRO {ieeetcad} {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}MACRO {ipl} {"Information Processing Letters"}MACRO {jacm} {"Journal of the ACM"}MACRO {jcss} {"Journal of Computer and System Sciences"}MACRO {scp} {"Science of Computer Programming"}MACRO {sicomp} {"SIAM Journal on Computing"}MACRO {tocs} {"ACM Transactions on Computer Systems"}MACRO {tods} {"ACM Transactions on Database Systems"}MACRO {tog} {"ACM Transactions on Graphics"}MACRO {toms} {"ACM Transactions on Mathematical Software"}MACRO {toois} {"ACM Transactions on Office Information Systems"}MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}MACRO {tcs} {"Theoretical Computer Science"}READEXECUTE {init.field.constants}FUNCTION {sortify}{ purify$  "l" change.case$}FUNCTION {author.key.label}{ author empty$    { key empty$        { title.field 'field.used := }        { key.field 'field.used := }      if$    }    { author.field 'field.used := }  if$}FUNCTION {author.editor.key.label}{ author empty$    { editor empty$        { key empty$            { title.field 'field.used := }            { key.field 'field.used := }          if$          }        { editor.field 'field.used := }      if$    }    { author.field 'field.used := }  if$}FUNCTION {author.key.organization.label}{ author empty$    { key empty$        { organization empty$            { title.field 'field.used := }            { organization.field 'field.used := }          if$        }        { key.field 'field.used := }      if$    }    { author.field 'field.used := }  if$}FUNCTION {editor.key.organization.label}{ editor empty$    { key empty$        { organization empty$            { title.field 'field.used := }            { organization.field 'field.used := }          if$        }        { key.field 'field.used := }      if$    }    { editor.field 'field.used := }  if$}FUNCTION {sort.format.title}{ 't :=  "A " #2    "An " #3      "The " #4 t chop.word    chop.word  chop.word  sortify  #1 global.max$ substring$ }FUNCTION {calc.label}{ type$ "book" =  type$ "inbook" =  type$ "incollection" =  or or    'author.editor.key.label    { type$ "proceedings" =        'editor.key.organization.label        { type$ "manual" =            'author.key.organization.label            'author.key.label          if$        }      if$    }  if$  make.abbr.label  title.field field.used =    { sort.format.title }    { sortify }  if$  year field.or.null purify$ #-1 #4 substring$ sortify  *  'sort.label :=}FUNCTION {first.presort}{ calc.label  sort.label  title.field field.used =    { skip$ }    { "    "      *      make.list.label sortify      *      "    "      *      title field.or.null      sort.format.title      *    }  if$  #1 entry.max$ substring$  'sort.key$ :=}ITERATE {first.presort}SORTSTRINGS { last.sort.label next.extra }INTEGERS { last.extra.num }FUNCTION {initialize.last.extra.num}{ #0 int.to.chr$ 'last.sort.label :=  "" 'next.extra :=  #0 'last.extra.num :=}FUNCTION {forward.pass}{ last.sort.label sort.label =    { last.extra.num #1 + 'last.extra.num :=      last.extra.num int.to.chr$ 'extra.label :=    }    { "a" chr.to.int$ 'last.extra.num :=      "" 'extra.label :=      sort.label 'last.sort.label :=    }  if$}FUNCTION {reverse.pass}{ next.extra "b" =    { "a" 'extra.label := }    'skip$  if$  year empty$    { "n.d." extra.label * 'list.year := }    { year extra.label * 'list.year := }  if$  extra.label 'next.extra :=}EXECUTE {initialize.last.extra.num}ITERATE {forward.pass}REVERSE {reverse.pass}FUNCTION {second.presort}{ make.list.label  title.field field.used =    { sort.format.title }    { sortify }  if$  "    "  *  list.year field.or.null sortify  *  "    "  *  title.field field.used =    { skip$ }    { title field.or.null      sort.format.title      *    }  if$  #1 entry.max$ substring$  'sort.key$ :=}ITERATE {second.presort}SORTFUNCTION {begin.bib}{ preamble$ empty$    'skip$    { preamble$ write$ newline$ }  if$  "\begin{thebibliography}{xx}" write$ newline$}EXECUTE {begin.bib}EXECUTE {init.state.consts}ITERATE {call.type$}FUNCTION {end.bib}{ newline$  "\end{thebibliography}" write$ newline$}EXECUTE {end.bib}Content-Description: rnmdt.styContent-MD5: aN4mW5hORkqlsYWKBalZlw==Content-Type: TEXT/plain; name="rnmdt.sty"; charset="us-ascii"; x-unix-mode="0644"%%%% This is file `rnmdt.sty',%% generated with the docstrip utility.%%%% The original source files were:%%%% rnmdt.dst  (with options: `rnmdt')%% %% IMPORTANT NOTICE:%% %% For the copyright see the source file.%% %% You are *not* allowed to modify this file.%% %% You are *not* allowed to distribute this file.%% For distribution of the original source see the terms%% for copying and modification in the file rnmdt.dst.%% %%  BibTeX style file for Russel Winder's minor variation on the name%%  date style:  this is essentially a minor variation on Harvard.%%  This is also the CompSciNet style, not to mention the Taylor &%%  Francis variation used for PAIS.%%%%  Copyright (c) 1997, Russel Winder.%%\def \fileversion{v1.4}\def \filedate{1998/03/16}\def \docdate{\filedate}\newcommand \titlestring{RLW Citation style}\newcommand \packagename{rnmdt}\ifx \documentclass \undefined    \wlog{LaTeX Package `\titlestring' \fileversion \space <\filedate>}\fi\NeedsTeXFormat{LaTeX2e}[1997/12/01]\ProvidesPackage{\packagename}[\filedate \space \fileversion \space \titlestring]\newcommand \rwbibcite[4]{%    \global \@namedef{bhf@#1}{#2}%    \global \@namedef{bha@#1}{#3}%    \global \@namedef{bhy@#1}{#4}%    \global \@namedef{b@#1}{\csname bha@#1\endcsname}%}\newcommand \rwbibitem{%    \@ifnextchar[{\@rwiteml}%                 {\@rwitem}%}\def \@rwiteml[#1]#2#3#4{%    \item[]%    \if@filesw{%        \def \protect##1{\string ##1\space}%        \immediate \write \@auxout{\string \rwbibcite{#4}{#2}{#1}{#3}}%    }\fi%    \protect \hspace*{-\labelwidth}%    \protect \hspace*{-\labelsep}%    \ignorespaces%}\def \@rwitem#1#2#3{%    \item[]%    \if@filesw{%        \def \protect##1{\string ##1\space}%        \immediate \write \@auxout{\string \rwbibcite{#3}{#1}{#1}{#2}}%    }\fi%    \protect\hspace*{-\labelwidth}%    \protect\hspace*{-\labelsep}%    \ignorespaces%}\@ifundefined{refetal}{\newcommand \refetal{et~al.}}{}\newcommand \citeasnoun{%    \gdef \@cite@ps{}%    \@ifnextchar[{\@tempswatrue\@citexasnoun}%                 {\@tempswafalse\@citexasnoun[]}%}\newcommand \citeasposnoun{%    \gdef \@cite@ps{'s}%    \@ifnextchar[{\@tempswatrue\@citexasnoun}%                 {\@tempswafalse\@citexasnoun[]}%}\newcommand \citeasplposnoun{%    \gdef \@cite@ps{'}%    \@ifnextchar [{\@tempswatrue\@citexasnoun}%                  {\@tempswafalse\@citexasnoun[]}%}\newcommand \ibidCite[1]{(\ibid~p.#1)}\newcommand \ibidCiteRange[1]{(\ibid~pp.#1)}\newcommand \@enamedef[1]{\expandafter \edef \csname #1\endcsname}\def \@citex[#1]#2{%    \if@filesw%        \immediate \write \@auxout{\string \citation{#2}}%    \fi%    \def \@citea{}%    \@cite{%        \@for \@citeb :=#2\do {%            \@citea%            \def \@citea{; \penalty\@m\ }%            \@ifundefined {b@\@citeb}{%                \textbf{???}\@warning{Citation `\@citeb' on page \thepage \space undefined}%            }%            {%                {\csname b@\@citeb \endcsname\@ , \csname bhy@\@citeb \endcsname}%                \global \@enamedef{b@\@citeb}{\csname bha@\@citeb \endcsname}%            }%        }%    }%    {#1}%}\newif \if@firstelement\@firstelementtrue\def \@citexasnoun[#1]#2{%    \if@filesw%        \immediate \write \@auxout{\string \citation{#2}}%    \fi%    \@firstelementtrue%    \def \@citea{}%    \@citeasnoun{%        \@for \@citeb :=#2\do {%            \@citea%            \def \@citea{; \penalty\@m\ }%            \@ifundefined {b@\@citeb}{%                \textbf{???}\@warning{Citation `\@citeb' on page \thepage \space undefined}%            }%            {%                \if@firstelement%                    \@firstelementfalse%                    {\csname b@\@citeb\endcsname\@cite@ps\ (\csname bhy@\@citeb\endcsname}%                    \global \@namedef{b@\@citeb}{\csname bha@\@citeb\endcsname}%                \else%                    {\csname b@\@citeb \endcsname\@ , \csname bhy@\@citeb \endcsname}%                    \global \@enamedef{b@\@citeb}{\csname bha@\@citeb \endcsname}%                \fi%            }%        }%    }%    {#1}%}\renewcommand \@cite[2]{({#1\if@tempswa , #2\fi})}\newcommand \@citeasnoun[2]{{#1\if@tempswa , #2\fi})}\newcommand \unfcite{%    \@ifnextchar[{\@tempswatrue\@unfcite}%                 {\@tempswafalse\@unfcite[]}%}\newcommand \unfshcite{%    \@ifnextchar[{\@tempswatrue\@unfshcite}%                 {\@tempswafalse\@unfshcite[]}%}\def \@unfcite[#1]#2{%    \begingroup%        \def \@cite##1##2{{##1\if@tempswa , ##2\fi}}%        \@citex[#1]{#2}%    \endgroup%}\def \@unfshcite[#1]#2{%    \begingroup%        \def \@cite##1##2{{##1\if@tempswa , ##2\fi}}%        \@citexsh[#1]{#2}%    \endgroup%}\def \@citexsh[#1]#2{%    \if@filesw%        \immediate \write \@auxout{\string \citation{#2}}%    \fi%    \def \@citea{}%    \@cite{%        \@for \@citeb :=#2\do {%            \@citea%            \def \@citea{; \penalty\@m\ }%            \@ifundefined {b@\@citeb}{%                \textbf{???}\@warning{Citation `\@citeb' on page \thepage \space undefined}%            }%            {%                {\csname bhy@\@citeb \endcsname}%                \global \@enamedef{b@\@citeb}{\csname bha@\@citeb \endcsname}%            }%        }%    }%    {#1}%}\def \enddocument{%    \@enddocumenthook%    \@checkend{document}%    \clearpage%    \begingroup%        \if@filesw%            \immediate \closeout \@mainaux%            \let \@setckpt \@gobbletwo%            \let \@newl@bel \@testdef%            \def \rwbibcite{\@testrwbib}%%% <===  New line added. <=== %%%            \@tempswafalse%            \makeatletter%            \input \jobname.aux%        \fi%        \@dofilelist%\ifdim \font@submax >\fontsubfuzz%    \relax%    \@font@warning{Size substitutions with differences\MessageBreak                           up to \font@submax\space have occured.\@gobbletwo}%        \fi%        \@defaultsubs%        \@refundefined%        \if@filesw%            \ifx \@multiplelabels \relax%                \if@tempswa%                    \@latex@warning@no@line{Label(s) may have changed.                                            Rerun to get cross-references right}%                \fi%            \else%                \@multiplelabels%            \fi%        \fi%    \endgroup%    \deadcycles \z@%    \@@end%}\newcommand \@testrwbib[3]{%    \def \@tempa{#2}%    \expandafter \ifx \csname bhf@#1\endcsname%        \@tempa%        \def \@tempa{#3}%        \expandafter \ifx \csname bha@#1\endcsname%            \@tempa%        \else%            \@tempswatrue%        \fi%    \else%        \@tempswatrue%    \fi%}\endinput%%%% End of file `rnmdt.sty'. 