summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/mnras/legacy
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/mnras/legacy
Initial commit
Diffstat (limited to 'macros/latex/contrib/mnras/legacy')
-rw-r--r--macros/latex/contrib/mnras/legacy/legacy.txt7
-rw-r--r--macros/latex/contrib/mnras/legacy/mn2e.bst1267
-rw-r--r--macros/latex/contrib/mnras/legacy/mn2e.cls1574
3 files changed, 2848 insertions, 0 deletions
diff --git a/macros/latex/contrib/mnras/legacy/legacy.txt b/macros/latex/contrib/mnras/legacy/legacy.txt
new file mode 100644
index 0000000000..f8df2a813b
--- /dev/null
+++ b/macros/latex/contrib/mnras/legacy/legacy.txt
@@ -0,0 +1,7 @@
+% This folder holds old versions of the mnras style files.
+%
+% Newer versions are not backwards compatible and have been renamed. These old
+% copies are therefore provided as a courtesy, so old documents can continue to
+% be compiled.
+%
+% This approach was discussed with, and approved by, the TeX Users Group. \ No newline at end of file
diff --git a/macros/latex/contrib/mnras/legacy/mn2e.bst b/macros/latex/contrib/mnras/legacy/mn2e.bst
new file mode 100644
index 0000000000..47ae57d1d4
--- /dev/null
+++ b/macros/latex/contrib/mnras/legacy/mn2e.bst
@@ -0,0 +1,1267 @@
+%%%%% MN.BST version 1.1b, 19/07/95
+%%%%% John Sleath and Tim Jenness, MRAO, Cambridge
+%%
+%% Bibliography style file for MNRAS.
+%%
+%% Gives correct style for all entries (as far as known!). However,
+%% the sorting of two- and three- author papers, with the same first
+%% author does not (quite) conform to the correct style.
+%%
+%% Use \cite to give (Smith \& Jones 1995) or \shortcite to give the year
+%% (in brackets) only. This file should be used in conjunction with
+%% mn.sty (Blackwell Scientific).
+%%
+%% Extensively modified from astron.bst and apalike.bst
+
+
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+% month not used in apalike
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ url
+ }
+ {}
+ { label extra.label sort.label }
+
+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 }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { ". " * write$
+ newline$
+% "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { ", " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output.nonnull.extra}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { ", " * write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { ", " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.extra}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull.extra
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check.extra}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull.extra
+ if$
+}
+
+FUNCTION {output.year.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { write$
+ " " year * extra.label *
+ mid.sentence 'output.state :=
+ }
+ if$
+}
+
+FUNCTION {output.year.misc.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { write$
+ output.state mid.sentence =
+ { "," write$ } {} if$
+ " " year * extra.label *
+ mid.sentence 'output.state :=
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {boldface}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{ " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{ " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv }{ll}{ jj}{ f., }" format.name$ 't := % last name first
+ nameptr #1 >
+ { namesleft #1 >
+ { " " * t * }
+ { numnames #2 >
+ { " " * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al.," * }
+ { " " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.names.full}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv }{ll}{ jj}" format.name$ 't := % last name first
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ t "others" =
+ { " et~al.," * }
+ { " \& " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.ed.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv }{ll}{ jj}{ f., }" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { " " * t * }
+ { numnames #2 >
+ { " " * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.key} % this function is just for apalike
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { " eds," * }
+ { " ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.editors.extra}
+{ editor empty$
+ { "" }
+ { editor format.ed.names
+ editor num.names$ #1 >
+ { " eds" * }
+ { " ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+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 {first.page.number}
+{ 't :=
+ ""
+ { t "" =
+ { #0 }
+ { t #1 #1 substring$ "-" = not }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #5 <
+ { "~" }
+ { " " }
+ 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 * }
+ 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 =
+ { "No." }
+ { "No." }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edn" * }
+ { edition "t" change.case$ " edn" * }
+ 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 tie.or.space.connect }
+ { "p." pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.page}
+{ pages empty$
+ { "" }
+ { "p.~" pages first.page.number * }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.page}
+{ volume field.or.null
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages first.page.number * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.page}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages first.page.number * }
+ if$
+ }
+ if$
+}
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "Chapt." }
+ { 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$
+ { "in " booktitle * }
+ { "in " format.editors.extra * ", " * booktitle * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.collect}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "in " }
+ { "in " format.editors.extra * ", " * }
+ if$
+ series empty$
+ { skip$ }
+ { series * }
+ if$
+ volume empty$
+ { number empty$
+ { }
+ { output.state mid.sentence =
+ { "No." }
+ { "No." }
+ if$
+ number tie.or.space.connect *
+ }
+ if$
+ }
+ {
+ output.state mid.sentence =
+ { ", " * }
+ { skip$ }
+ if$
+ "Vol." volume tie.or.space.connect *
+ }
+ if$
+ output.state mid.sentence =
+ { ", " * }
+ { skip$ }
+ if$
+ booktitle *
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.url}
+{
+ url empty$
+ { skip$ }
+ { "\verb+" url * "+" * output.nonnull }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{
+ type empty$
+ { "Technical Report" }
+ { type }
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ "in" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "in "
+ }
+ { "Vol.\" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ "\cite{" * crossref * "}" * % this is for apalike
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "in" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ crossref missing$
+ { journal "journal" output.check.extra
+ format.vol.page output.extra
+ }
+ { format.article.crossref output.nonnull
+ format.page output
+ }
+ if$
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ format.btitle "title" output.check
+ format.edition output
+ new.block
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ {format.book.crossref output.nonnull}
+ if$
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ format.btitle "title" output.check
+ howpublished output
+ address output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ format.btitle "title" output.check
+ format.edition output
+ new.block
+ crossref missing$
+ {
+% format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.pages output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ crossref missing$
+ {
+ format.in.ed.collect "booktitle" output.check
+ format.edition output
+ booktitle empty$ edition empty$ =
+ { } { new.block } if$
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.chapter.pages output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ " " *
+ before.all 'output.state :=
+% new.block
+ format.bvolume output
+ format.number.series output
+ format.title "title" output.check
+ new.block
+% organization output
+ publisher output
+ address output
+ format.pages output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ format.btitle "title" output.check
+ new.block
+ organization address new.block.checkb
+ organization output
+ address output
+ format.edition output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.misc.check % apalike
+ format.btitle output
+ howpublished output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output % special for
+ mid.sentence 'output.state :=
+ output.year.check % apalike
+ format.btitle "title" output.check
+ " " *
+ before.all 'output.state :=
+% new.block
+ format.bvolume output
+ format.number.series output
+ new.block
+% organization output % a nonempty organization
+ publisher output
+ address output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ format.tr.number output.nonnull
+ format.btitle "title" output.check
+ format.url
+ new.block
+ institution "institution" output.check
+ address output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ format.btitle "title" output.check
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr,"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sept."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+% There are three apalike cases: one person (Jones),
+% two (Jones and de~Bruijn), and more (Jones et~al.).
+% This function is much like format.crossref.editors.
+%
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " \& " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+% Format names in full
+%
+FUNCTION {format.lab.names.full}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ 'skip$
+ { " \& " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label.full}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.names.full }
+ if$
+ }
+ { author format.names.full }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key, no organization
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label.full
+ { type$ "proceedings" =
+ { editor format.names.full }
+ { author format.names.full }
+ if$
+ }
+ if$
+ "\protect\citeauthoryear{" swap$ * "}{" % these three lines are
+ * % for apalike, which
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label % apalike ignores organization
+ 'author.key.label % for labeling and sorting
+ if$
+ }
+ if$
+ * "}{" *
+ year field.or.null purify$ #-1 #4 substring$ % uses all four digits
+ * % the matching closing "}" comes in at the reverse.pass
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$ % apalike uses initials
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := % <= here
+ "Mc" t #2 text.prefix$ =
+ { "mac" t #3 t text.length$ substring$ * 't := }
+ 'skip$
+ if$
+ nameptr numnames = t "others" = and
+ { "et al." * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+% apalike uses two sorting passes; the first one sets the
+% labels so that the `a's, `b's, etc. can be computed;
+% the second pass puts the references in "correct" order.
+% The presort function is for the first pass. It computes
+% label, sort.label, and title, and then concatenates.
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$ % for
+ 'sort.label := % apalike
+ sort.label % style
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT % by label, sort.label, title---for final label calculation
+
+STRINGS { last.label next.extra } % apalike labels are only for the text;
+
+INTEGERS { last.extra.num } % there are none in the bibliography
+
+FUNCTION {initialize.extra.label.stuff} % and hence there is no `longest.label'
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.label 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 :=
+ label 'last.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * "}" * 'label :=
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+% Now that the label is right we sort for real,
+% on sort.label then year then title. This is
+% for the second sorting pass.
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT % by sort.label, year, title---giving final bibliography order
+
+FUNCTION {begin.bib}
+{
+ preamble$ empty$ % no \etalchar in apalike
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$ % no labels in apalike
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/macros/latex/contrib/mnras/legacy/mn2e.cls b/macros/latex/contrib/mnras/legacy/mn2e.cls
new file mode 100644
index 0000000000..7b3b4bf205
--- /dev/null
+++ b/macros/latex/contrib/mnras/legacy/mn2e.cls
@@ -0,0 +1,1574 @@
+% Blackwell Science MN journal document class file
+% v2.2 for LaTeX 2e
+%
+% Copyright (C) Blackwell Science 2001
+% for LaTeX version 2E, by Leslie Lamport
+%
+
+% Preamble to this style file
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{mn2e}[2001/02/06 v2.2 LaTeX2e MN document class]
+
+\def\@version{2.2}
+\typeout{Document Style `MN' v\@version, released 2001 February 20}
+
+% Journals use two-sided printing.
+%
+\@twosidetrue
+\@twocolumntrue
+\@mparswitchtrue
+\def\ds@draft{\overfullrule 5pt}
+\def\ds@twocolumn{\@twocolumntrue}
+\def\ds@onecolumn{\@twocolumnfalse}
+
+% letters option
+%
+\newif\if@letters
+\def\ds@letters{\@letterstrue}
+
+% landscape option
+%
+\newif\ifSFB@landscape
+\def\ds@landscape{\SFB@landscapetrue}
+
+% galley option
+%
+\newif\ifSFB@galley
+\def\ds@galley{\SFB@galleytrue}
+
+% usenatbib option
+%
+\newif\if@usenatbib
+\def\ds@usenatbib{\@usenatbibtrue}
+
+% usedcolumn option
+%
+\newif\if@usedcolumn
+\def\ds@usedcolumn{\@usedcolumntrue}
+
+% usegraphicx option
+\newif\if@usegraphicx
+\def\ds@usegraphicx{\@usegraphicxtrue\usepackage[dvips]{graphicx}}
+
+% referee option
+%
+\newif\ifSFB@referee
+\def\ds@referee{%
+ \SFB@refereetrue
+ \@twocolumnfalse
+}
+\newif\ifdoublesp@cing
+\def\ds@doublespacing{%
+ \doublesp@cingtrue
+}%
+%%%
+%%% NHT: New AMS fonts option
+%%%
+\newif\ifNHT@useAMS
+\def\ds@useAMS{\NHT@useAMStrue}
+%
+\ExecuteOptions{a4paper,twoside,final}
+\ProcessOptions
+%
+% ****************************************
+% * FONTS *
+% ****************************************
+%
+\lineskip 1pt
+\normallineskip 1pt
+\ifSFB@referee
+ \def\baselinestretch{1.5}
+\else
+ \ifdoublesp@cing
+ \def\baselinestretch{2}
+\else
+ \def\baselinestretch{1}
+\fi\fi
+\if@twocolumn
+ \renewcommand\normalsize{\@setfontsize\normalsize\@ixpt{11}%
+ \abovedisplayskip 6pt plus 2pt minus 2pt
+ \belowdisplayskip \abovedisplayskip
+ \abovedisplayshortskip 6pt plus 2pt
+ \belowdisplayshortskip \abovedisplayshortskip
+ \let\@listi\@listI}
+ \else
+ \ifSFB@referee
+ \renewcommand\normalsize{\@setfontsize\normalsize\@xiipt{14}%
+ \abovedisplayskip 4pt plus 1pt minus 1pt
+ \belowdisplayskip \abovedisplayskip
+ \abovedisplayshortskip 4pt plus 1pt
+ \belowdisplayshortskip \abovedisplayshortskip
+ \let\@listi\@listI}
+ \else
+ \renewcommand\normalsize{\@setfontsize\normalsize\@ixpt{12}%
+ \abovedisplayskip 4pt plus 1pt minus 1pt
+ \belowdisplayskip \abovedisplayskip
+ \abovedisplayshortskip 4pt plus 1pt
+ \belowdisplayshortskip \abovedisplayshortskip
+ \let\@listi\@listI}
+ \fi
+\fi
+\newcommand\small{\@setfontsize\small\@viiipt{10}%
+ \abovedisplayskip 4pt plus 1pt minus 1pt
+ \belowdisplayskip \abovedisplayskip
+ \abovedisplayshortskip 4pt plus 1pt
+ \belowdisplayshortskip \abovedisplayshortskip
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 2pt plus 1pt minus 1pt
+ \parsep \z@
+ \itemsep 2pt}}
+\newcommand\footnotesize{\@setfontsize\footnotesize\@viiipt{10}%
+ \abovedisplayskip 4pt plus 1pt minus 1pt
+ \belowdisplayskip \abovedisplayskip
+ \abovedisplayshortskip 4pt plus 1pt
+ \belowdisplayshortskip \abovedisplayshortskip
+ \renewcommand\@listi{\leftmargin\leftmargini
+ \topsep 2pt plus 1pt minus 1pt
+ \parsep \z@
+ \itemsep 2pt}}
+\newcommand\scriptsize{\@setfontsize\scriptsize\@vipt{8}}
+\newcommand\tiny{\@setfontsize\tiny\@vpt{6}}
+%
+\if@twocolumn
+ \newcommand\large{\@setfontsize\large\@xpt{11}}
+ \else
+ \newcommand\large{\@setfontsize\large\@xpt{12}}
+ \fi
+\newcommand\Large{\@setfontsize\Large\@xiipt{14}}
+\newcommand\LARGE{\@setfontsize\LARGE\@xivpt{17}}
+\newcommand\huge{\@setfontsize\huge\@xviipt{20}}
+\newcommand\Huge{\@setfontsize\Huge\@xxpt{25}}
+%
+\newcommand\sevensize{\@setfontsize\sevensize\@viipt{8}}
+%
+\normalsize
+
+%%%%%%%%%%%%%%%%%%%%%%%% Extra Math / Symbol code %%%%%%%%%%%%%%%%%%%%%%%%
+
+ \newcommand{\rmn}[1]{{\mathrm{#1}}}
+ \newcommand{\itl}[1]{{\mathit{#1}}}
+ \newcommand{\bld}[1]{{\mathbf{#1}}}
+
+\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
+\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
+\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
+\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
+\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
+\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
+\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
+\DeclareRobustCommand\cal{\@fontswitch{\relax}{\mathcal}}
+\DeclareRobustCommand\mit{\@fontswitch{\relax}{\mathchoice}}
+%
+
+\def\hexnumber#1{\ifcase#1 0\or1\or2\or3\or4\or5\or6\or7%
+ \or8\or9\or A\or B\or C\or D\or E\or F\fi}
+
+\def\setboxz@h{\setbox\z@\hbox}
+\def\wdz@{\wd\z@}
+\def\boxz@{\box\z@}
+\def\setbox@ne{\setbox\@ne}
+\def\wd@ne{\wd\@ne}
+
+\def\math@atom#1#2{%
+ \binrel@{#1}\binrel@@{#2}}
+\def\binrel@#1{\setboxz@h{\thinmuskip0mu
+ \medmuskip\m@ne mu\thickmuskip\@ne mu$#1\m@th$}%
+ \setbox@ne\hbox{\thinmuskip0mu\medmuskip\m@ne mu\thickmuskip
+ \@ne mu${}#1{}\m@th$}%
+ \setbox\tw@\hbox{\hskip\wd@ne\hskip-\wdz@}}
+\def\binrel@@#1{\ifdim\wd2<\z@\mathbin{#1}\else\ifdim\wd\tw@>\z@
+ \mathrel{#1}\else{#1}\fi\fi}
+
+% These must be here because \newif and \newtoks are defined \outer.
+\newif\iffirstta
+\newtoks\math@groups
+\newif\ifd@f
+
+
+% Make these do nothing (for backwards compatibility}
+\let\loadboldmathitalic=\relax
+\let\loadboldgreek=\relax
+
+% font definitions for NFSS release 2
+
+\newcommand{\textbfit}[1]{\textbf{\textit{#1}}}
+\newcommand{\mathbfit}[1]{\textbf{\textit{#1}}}
+\newcommand{\textbfss}[1]{\textbf{\textsf{#1}}}
+\newcommand{\mathbfss}[1]{\textbf{\textsf{#1}}}
+
+ %
+ \def\mathch{\protect\p@mathch}
+ \def\p@mathch#1#2{%
+ \begingroup
+ \let\@nomath\@gobble \mathversion{#1}%
+ \math@atom{#2}{%
+ \mathchoice%
+ {\hbox{$\m@th\displaystyle#2$}}%
+ {\hbox{$\m@th\textstyle#2$}}%
+ {\hbox{$\m@th\scriptstyle#2$}}%
+ {\hbox{$\m@th\scriptscriptstyle#2$}}}%
+ \endgroup}
+ %
+ \def\bmath{\protect\p@boldm}
+ \def\p@boldm#1{\mathch{bold}{#1}}
+%
+
+ \let\mit=\mathnormal
+ %
+ % The following is needed because NFSS release 2
+ % does not define the bold
+ % math symbol font to be available!
+ %
+ \SetSymbolFont{symbols}{bold}{OMS}{cmsy}{b}{n}
+ %
+ \DeclareSymbolFont{bmisymbols}{OML}{cmm}{b}{it}
+ \DeclareMathSymbol{\balpha}{0}{bmisymbols}{"0B}
+ \DeclareMathSymbol{\bbeta}{0}{bmisymbols}{"0C}
+ \DeclareMathSymbol{\bgamma}{0}{bmisymbols}{"0D}
+ \DeclareMathSymbol{\bdelta}{0}{bmisymbols}{"0E}
+ \DeclareMathSymbol{\bepsilon}{0}{bmisymbols}{"0F}
+ \DeclareMathSymbol{\bzeta}{0}{bmisymbols}{"10}
+ \DeclareMathSymbol{\boldeta}{0}{bmisymbols}{"11}
+ \DeclareMathSymbol{\btheta}{0}{bmisymbols}{"12}
+ \DeclareMathSymbol{\biota}{0}{bmisymbols}{"13}
+ \DeclareMathSymbol{\bkappa}{0}{bmisymbols}{"14}
+ \DeclareMathSymbol{\blambda}{0}{bmisymbols}{"15}
+ \DeclareMathSymbol{\bmu}{0}{bmisymbols}{"16}
+ \DeclareMathSymbol{\bnu}{0}{bmisymbols}{"17}
+ \DeclareMathSymbol{\bxi}{0}{bmisymbols}{"18}
+ \DeclareMathSymbol{\bpi}{0}{bmisymbols}{"19}
+ \DeclareMathSymbol{\brho}{0}{bmisymbols}{"1A}
+ \DeclareMathSymbol{\bsigma}{0}{bmisymbols}{"1B}
+ \DeclareMathSymbol{\btau}{0}{bmisymbols}{"1C}
+ \DeclareMathSymbol{\bupsilon}{0}{bmisymbols}{"1D}
+ \DeclareMathSymbol{\bphi}{0}{bmisymbols}{"1E}
+ \DeclareMathSymbol{\bchi}{0}{bmisymbols}{"1F}
+ \DeclareMathSymbol{\bpsi}{0}{bmisymbols}{"20}
+ \DeclareMathSymbol{\bomega}{0}{bmisymbols}{"21}
+ \DeclareMathSymbol{\bvarepsilon}{0}{bmisymbols}{"22}
+ \DeclareMathSymbol{\bvartheta}{0}{bmisymbols}{"23}
+ \DeclareMathSymbol{\bvarpi}{0}{bmisymbols}{"24}
+ \DeclareMathSymbol{\bvarrho}{0}{bmisymbols}{"25}
+ \DeclareMathSymbol{\bvarsigma}{0}{bmisymbols}{"26}
+ \DeclareMathSymbol{\bvarphi}{0}{bmisymbols}{"27}
+ %
+
+%% Define font shapes for Euler upright Math
+\ifNHT@useAMS
+ \DeclareSymbolFont{UPM}{U}{eur}{m}{n}
+ \SetSymbolFont{UPM}{bold}{U}{eur}{b}{n}
+ \DeclareSymbolFont{AMSa}{U}{msa}{m}{n}
+ \DeclareMathSymbol{\upi}{0}{UPM}{"19}
+ \DeclareMathSymbol{\umu}{0}{UPM}{"16}
+ \DeclareMathSymbol{\upartial}{0}{UPM}{"40}
+ \DeclareMathSymbol{\leqslant}{3}{AMSa}{"36}
+ \DeclareMathSymbol{\geqslant}{3}{AMSa}{"3E}
+ \DeclareMathSymbol{\la}{3}{AMSa}{46}
+ \DeclareMathSymbol{\ga}{3}{AMSa}{38}
+ %
+ \let\oldle=\le \let\oldleq=\leq
+ \let\oldge=\ge \let\oldgeq=\geq
+ \let\leq=\leqslant \let\le=\leqslant
+ \let\geq=\geqslant \let\ge=\geqslant
+
+\else
+ \newcommand{\upi}{\pi}
+ \newcommand{\umu}{\mu}
+ \newcommand{\upartial}{\partial}
+ \newcommand{\la}{\,\rlap{\raise 0.5ex\hbox{$<$}}{\lower 1.0ex\hbox{$\sim$}}\,}
+ \newcommand{\ga}{\,\rlap{\raise 0.5ex\hbox{$>$}}{\lower 1.0ex\hbox{$\sim$}}\,}
+
+\fi
+
+% Astronomy and Astrophysics symbol macros
+
+\newcommand\getsto{\mathrel{\mathchoice {\vcenter{\offinterlineskip
+\halign{\hfil
+$\reset@font\displaystyle##$\hfil\cr\gets\cr\to\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr\gets
+\cr\to\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr\gets
+\cr\to\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr
+\gets\cr\to\cr}}}}}
+
+\newcommand\cor{\mathrel{\mathchoice {\hbox{$\widehat=$}}{\hbox{$\widehat=$}}
+{\hbox{$\reset@font\scriptstyle\hat=$}}
+{\hbox{$\reset@font\scriptscriptstyle\hat=$}}}}
+
+\newcommand\lid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
+$\reset@font\displaystyle##$\hfil\cr<\cr\noalign{\vskip1.2pt}=\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr<\cr
+\noalign{\vskip1.2pt}=\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr<\cr
+\noalign{\vskip1pt}=\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr
+<\cr
+\noalign{\vskip0.9pt}=\cr}}}}}
+
+\newcommand\gid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
+$\reset@font\displaystyle##$\hfil\cr>\cr\noalign{\vskip1.2pt}=\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr>\cr
+\noalign{\vskip1.2pt}=\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr>\cr
+\noalign{\vskip1pt}=\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr
+>\cr
+\noalign{\vskip0.9pt}=\cr}}}}}
+
+\newcommand\sol{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
+$\reset@font\displaystyle##$\hfil\cr\sim\cr<\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr\sim\cr
+<\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr\sim\cr
+<\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr
+\sim\cr<\cr}}}}}
+
+\newcommand\sog{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
+$\reset@font\displaystyle##$\hfil\cr\sim\cr>\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr\sim\cr
+>\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr
+\sim\cr>\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr
+\sim\cr>\cr}}}}}
+
+\newcommand\lse{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
+$\reset@font\displaystyle##$\hfil\cr<\cr\simeq\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr
+<\cr\simeq\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr
+<\cr\simeq\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr
+<\cr\simeq\cr}}}}}
+
+\newcommand\gse{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
+$\reset@font\displaystyle##$\hfil\cr>\cr\simeq\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr
+>\cr\simeq\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr
+>\cr\simeq\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr
+>\cr\simeq\cr}}}}}
+
+\newcommand\grole{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
+$\reset@font\displaystyle##$\hfil\cr>\cr\noalign{\vskip-1.5pt}<\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr
+>\cr\noalign{\vskip-1.5pt}<\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr
+>\cr\noalign{\vskip-1pt}<\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr
+>\cr\noalign{\vskip-0.5pt}<\cr}}}}}
+
+\newcommand\leogr{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
+$\reset@font\displaystyle##$\hfil\cr<\cr\noalign{\vskip-1.5pt}>\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr
+<\cr\noalign{\vskip-1.5pt}>\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr
+<\cr\noalign{\vskip-1pt}>\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr
+<\cr\noalign{\vskip-0.5pt}>\cr}}}}}
+
+\newcommand\loa{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
+$\reset@font\displaystyle##$\hfil\cr<\cr\approx\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr
+<\cr\approx\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr
+<\cr\approx\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr
+<\cr\approx\cr}}}}}
+
+\newcommand\goa{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
+$\reset@font\displaystyle##$\hfil\cr>\cr\approx\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr
+>\cr\approx\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr
+>\cr\approx\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr
+>\cr\approx\cr}}}}}
+
+\newcommand\sun{\hbox{$\odot$}}
+\newcommand\earth{\hbox{$\oplus$}}
+\newcommand\degr{\hbox{$^\circ$}}
+\newcommand\diameter{{\ifmmode\mathchoice
+{\ooalign{\hfil\hbox{$\reset@font\displaystyle/$}\hfil\crcr
+{\hbox{$\reset@font\displaystyle\mathchar"20D$}}}}
+{\ooalign{\hfil\hbox{$\reset@font\textstyle/$}\hfil\crcr
+{\hbox{$\reset@font\textstyle\mathchar"20D$}}}}
+{\ooalign{\hfil\hbox{$\reset@font\scriptstyle/$}\hfil\crcr
+{\hbox{$\reset@font\scriptstyle\mathchar"20D$}}}}
+{\ooalign{\hfil\hbox{$\reset@font\scriptscriptstyle/$}\hfil\crcr
+{\hbox{$\reset@font\scriptscriptstyle\mathchar"20D$}}}}
+\else{\ooalign{\hfil/\hfil\crcr\mathhexbox20D}}%
+\fi}}
+
+\newcommand\sq{\ifmmode\squareforqed\else{\unskip\nobreak\hfil
+\penalty50\hskip1em\null\nobreak\hfil\squareforqed
+\parfillskip=0pt\finalhyphendemerits=0\endgraf}\fi}
+\newcommand\squareforqed{\hbox{\rlap{$\sqcap$}$\sqcup$}}
+
+\newcommand{\romn}[1] {{\mathrm #1}}
+
+\newcommand\fd{\hbox{$.\!\!^{\reset@font\romn d}$}}
+\newcommand\fh{\hbox{$.\!\!^{\reset@font\romn h}$}}
+\newcommand\fm{\hbox{$.\!\!^{\reset@font\romn m}$}}
+\newcommand\fs{\hbox{$.\!\!^{\reset@font\romn s}$}}
+\newcommand\fdg{\hbox{$.\!\!^\circ$}}
+\newcommand\farcm{\hbox{$.\mkern-4mu^\prime$}}
+\newcommand\farcs{\hbox{$.\!\!^{\prime\prime}$}}
+\newcommand\fp{\hbox{$.\!\!^{\reset@font\reset@font\scriptscriptstyle\romn p}$}}
+\newcommand\arcmin{\hbox{$^\prime$}}
+\newcommand\arcsec{\hbox{$^{\prime\prime}$}}
+
+\def\micron{\hbox{$\umu$m}}
+
+%%%Command to produce a box round selected text
+%%%NB This is for use in the file mnguide only -- it is NOT
+%%% to be used in the journal
+\newcommand{\boxit}[1]{%
+ \noindent\fbox{%
+ \begin{minipage}[]{84mm}#1\end{minipage}
+ }
+}
+
+%%%%%%%%%%%%%%%%%%%%% End of Extra Math / Symbol code %%%%%%%%%%%%%%%%%%%%%
+
+% ****************************************
+% * PAGE LAYOUT *
+% ****************************************
+%
+% SIDE MARGINS:
+\if@twocolumn
+ \setlength\oddsidemargin{-2.5pc}
+ \setlength\evensidemargin{-2.5pc}
+\else
+ \ifSFB@referee
+ \setlength\oddsidemargin{\z@}
+ \setlength\evensidemargin{\z@}
+ \else
+ \setlength\oddsidemargin{-2pc}
+ \setlength\evensidemargin{-2pc}
+ \fi
+\fi
+\setlength\marginparwidth{4pc}
+\setlength\marginparsep{0.5pc}
+
+% VERTICAL SPACING:
+%\if@twocolumn
+ \setlength\topmargin{-2pc}
+%\else
+ \setlength\topmargin{\z@}
+%\fi
+\setlength{\headheight}{14pt}
+\setlength{\headsep} {15pt}
+\setlength{\topskip} {9pt}
+\setlength{\footskip} {22pt} %was 26 pt
+%
+% DIMENSION OF TEXT: % SFB 0.1.01
+%
+\newdimen\SFB@measure
+\SFB@measure 42pc
+%
+\setlength\textheight{682pt}
+\setlength\textwidth{\SFB@measure}
+%
+\ifSFB@landscape
+ \setlength\textwidth{\textheight}
+ \setlength\textheight{\SFB@measure}
+\fi
+\ifSFB@referee
+ \setlength\textwidth{39pc}
+\fi
+\setlength\columnsep{2pc}
+\setlength\columnseprule{0pt}
+
+% FOOTNOTES:
+\setlength\footnotesep{6pt}
+\setlength\skip{\footins 19.5pt plus 12pt minus 1pt}
+
+% FLOATS:
+\setlength\floatsep{ 12pt plus 5.5pt minus 1pt}
+\setlength\textfloatsep{ 12pt plus 7.5pt}
+\setlength\intextsep{ 12pt plus 5.5pt minus 2pt}
+\setlength\dblfloatsep{ 12pt plus 5.5pt minus 2pt }
+\setlength\dbltextfloatsep{ 15pt plus 4.5pt minus 3pt}
+\setlength\@fptop{ 0pt plus 0fil}
+\setlength\@fpsep{ 12pt plus 0fil }
+\setlength\@fpbot{ 0pt plus 0fil }
+\setlength\@dblfptop{ 0pt plus 0fil}
+\setlength\@dblfpsep{ 12pt plus 0fil}
+\setlength\@dblfpbot{ 0pt plus 0fil}
+\setlength\marginparpush{ 5pt }
+
+% ****************************************
+% * PARAGRAPHING *
+% ****************************************
+%
+\newlength{\realparindent} % needed for abstract
+\setlength\parskip{ \z@ plus .1pt }
+\setlength\parindent{ 18pt }
+\setlength{\realparindent}{\parindent}
+\setlength\partopsep{ 0pt plus 1pt }
+\@lowpenalty 51
+\@medpenalty 151
+\@highpenalty 301
+\@beginparpenalty -\@lowpenalty
+\@endparpenalty -\@lowpenalty
+\@itempenalty -\@lowpenalty
+\clubpenalty=0
+\widowpenalty=10000
+
+% ****************************************
+% * PARTS & SECTIONS NUMBERS *
+% ****************************************
+%
+\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 {\thesection.\arabic{subsection}}
+\def\thesubsubsection {\thesubsection.\arabic{subsubsection}}
+\def\theparagraph {\thesubsubsection.\arabic{paragraph}}
+\def\thesubparagraph {\theparagraph.\arabic{subparagraph}}
+
+%%%Additional material below is from GJI class file
+% Sometimes people want to number equations by section, rather than
+% sequentially through the whole paper.
+
+\newcommand\eqsecnum{
+ \@newctr{equation}[section]
+ \def\theequation{\normalsize\mbox{\arabic{section}.\arabic{equation}}}}
+
+\newcommand\eqsubsecnum{
+ \@newctr{equation}[subsection]
+ \def\theequation{\normalsize%
+ \mbox{\arabic{section}.\arabic{subsection}.\arabic{equation}}}}
+
+% ****************************************
+% * 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 \raggedright
+ \ifnum \c@secnumdepth >\m@ne
+ \reset@font\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
+ \reset@font\LARGE \rm #2 \markboth{}{}\par }
+ \nobreak \vskip 3ex \@afterheading}
+\def\@spart#1{{\parindent 0pt \raggedright
+ \reset@font\LARGE \rm #1\par}
+ \nobreak \vskip 3ex \@afterheading}
+
+% ****************************************
+% * SECTIONS *
+% ****************************************
+%
+% \@startsection modified to leave less space before \subsection
+% if it immediately follows \section
+
+% \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}
+
+\newif\if@levelone
+
+\def\@startsection#1#2#3#4#5#6{\if@noskipsec \leavevmode \fi
+ \par \@tempskipa #4\relax
+ \@afterindenttrue
+ \ifnum #2=\@ne % if level=1 ie. section
+ \global\@levelonetrue
+ \else
+ \global\@levelonefalse
+ \fi
+ \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse\fi
+ \if@nobreak
+ \everypar{}\ifnum#2=2 \vskip 0pt plus1pt\fi % was 6pt
+ \else
+ \addpenalty{\@secpenalty}\addvspace{\@tempskipa}
+ \fi \@ifstar
+ {\@ssect{#3}{#4}{#5}{#6}}{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
+
+\def\SFB@hangraggedright{\rightskip=\@flushglue \let\\=\@centercr \parindent=0pt}
+
+\newif\if@firstsection
+\@firstsectiontrue
+\def\section{%
+ \if@firstsection \fixfootnotes\@firstsectionfalse \fi%
+ \@startsection{section}{1}{\z@}
+ {-24pt plus -12pt minus -1pt}{6pt}
+ {\SFB@hangraggedright\reset@font\normalsize\bf}}
+\def\subsection{\@startsection{subsection}{2}{\z@}
+ {-18pt plus -9pt minus -1pt}{6pt}
+ {\SFB@hangraggedright\reset@font\normalsize\bf}}
+\def\subsubsection{\@startsection{subsubsection}{3}{\z@}
+ {-18pt plus -9pt minus -1pt}{6pt}
+ {\SFB@hangraggedright\reset@font\normalsize\it}}
+\def\paragraph{\@startsection{paragraph}{4}{\z@}
+ {12pt plus 2.25pt minus 1pt}{-0.5em}{\reset@font\normalsize\bf}}
+\def\subparagraph{\@startsection{subparagraph}{5}{\parindent}
+ {12pt plus 2.25pt minus 1pt}{-0.5em}{\reset@font\normalsize\it}}
+\setcounter{secnumdepth}{4} % SFB 0.1.01
+%
+% \@sect{NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}[ARG1]{ARG2}
+\def\@sect#1#2#3#4#5#6[#7]#8{%
+ \ifnum #2>\c@secnumdepth
+ \def\@svsec{}%
+ \else
+ \refstepcounter{#1}%
+ \if@levelone % is it a \section or \section*
+ \ifSFB@appendix
+ \edef\@svsec{}%
+ \else
+ \edef\@svsec{\csname the#1\endcsname\hskip 1em}%
+ \fi
+ \else
+ \edef\@svsec{\csname the#1\endcsname\hskip 1em}%
+ \fi
+ \fi
+ \@tempskipa #5\relax
+ \ifdim \@tempskipa>\z@
+ \begingroup #6\relax
+ \if@levelone
+ \ifSFB@appendix
+ \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M
+ APPENDIX \csname the#1\endcsname:\hskip 0.5em\uppercase{#8}\par}%
+ \else
+ \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M
+ \uppercase{#8}\par}%
+ \fi
+ \else
+ \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\par}%
+ \fi
+ \endgroup
+ \csname #1mark\endcsname{#7}%
+ \addcontentsline{toc}{#1}{\ifnum #2>\c@secnumdepth \else %ajw
+ \protect\numberline{\csname the#1\endcsname}\fi #7}%ajw
+ \else
+ \def\@svsechd{#6\hskip #3\@svsec \if@levelone \uppercase{#8}\else #8\fi
+ \csname #1mark\endcsname{#7}
+ \addcontentsline{toc}{#1}{\ifnum #2>\c@secnumdepth \else %ajw
+ \protect\numberline{\csname the#1\endcsname}\fi#7}%ajw
+ }\fi
+ \@xsect{#5}}
+
+% from latex.tex
+% \@ssect{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}{ARG}
+\def\@ssect#1#2#3#4#5{%
+ \@tempskipa #3\relax
+ \ifdim \@tempskipa>\z@
+ \begingroup #4\@hangfrom{\hskip #1}{%
+ \interlinepenalty \@M
+ \if@levelone
+ \uppercase{#5}%
+ \else {#5}%
+ \fi\par}%
+ \endgroup
+ \else
+ \def\@svsechd{#4\hskip #1\relax
+ \if@levelone
+ \uppercase{#5}%
+ \else {#5}%
+ \fi}
+ \fi
+ \@xsect{#3}%
+}
+
+\newif\ifSFB@appendix
+\def\appendix{\par
+ \SFB@appendixtrue
+ \@addtoreset{equation}{section}
+ \@addtoreset{table}{section}
+ \@addtoreset{figure}{section}
+ \setcounter{section}{0}
+ \setcounter{equation}{0}
+ \setcounter{figure}{0}
+ \setcounter{table}{0}
+ \def\thesection{\Alph{section}}
+ \renewcommand\thesubsection{\thesection\arabic{subsection}}
+ \renewcommand\theequation{\thesection\arabic{equation}}
+ \renewcommand\thefigure{\thesection\@arabic\c@figure}
+ \renewcommand\thetable{\thesection\@arabic\c@table}
+}
+
+% ****************************************
+% * SKIPS *
+% ****************************************
+%
+\newskip\@indentskip
+\newskip\smallindent
+\newskip\@footindent
+\newskip\@leftskip
+\@indentskip=18pt
+\smallindent=1.5em
+\@footindent=\smallindent
+\@leftskip=\z@
+
+% ****************************************
+% * LISTS *
+% ****************************************
+%
+\setlength\leftmargini{ \z@ }
+\setlength\leftmarginii{ 1em }
+\setlength\leftmarginiii{ 1em }
+\setlength\leftmarginiv{ 1em }
+\setlength\leftmarginv{ 1pc }
+\setlength\leftmarginvi{ 1pc }
+\setlength\leftmargin{\leftmargini}
+\setlength\labelsep{ 0.5em}
+\labelwidth\leftmargini\advance\labelwidth-\labelsep
+%
+% label macros for Range-Left and Range-Right labels
+\def\makeRLlabel#1{\rlap{#1}\hss}
+\def\makeRRlabel#1{\hss\llap{#1}}
+\def\makenewlabel#1{#1}
+%
+\def\@listI{\leftmargin\leftmargini
+ \parsep \z@
+ \topsep 6pt plus 1pt minus 1pt
+ \itemsep \z@ plus .1pt
+}
+\let\@listi\@listI
+\@listi
+\def\@listii{\leftmargin\leftmarginii
+ \topsep 6pt plus 1pt minus 1pt
+ \parsep \z@
+ \itemsep \z@ plus .1pt
+}
+\def\@listiii{\leftmargin\leftmarginiii
+ \topsep 6pt plus 1pt minus 1pt
+ \parsep \z@
+ \partopsep \z@
+ \itemsep \topsep
+}
+\def\@listiv{\leftmargin\leftmarginiv
+}
+\def\@listv{\leftmargin\leftmarginv
+ \labelwidth\leftmarginv\advance\labelwidth-\labelsep
+}
+\def\@listvi{\leftmargin\leftmarginvi
+ \labelwidth\leftmarginvi\advance\labelwidth-\labelsep
+}
+%
+% ITEMIZE
+\def\itemize{%
+ \ifnum \@itemdepth >3 \@toodeep
+ \else \advance\@itemdepth \@ne
+ \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
+ \list{\csname\@itemitem\endcsname}%
+ {\let\makelabel\makeRRlabel}%
+ \parindent 1em%
+ \leftmargin 3.5em\labelsep 0.5em\itemindent 2.0em\labelwidth 0.5em%
+ \fi}
+\def\labelitemi{$\bullet$}
+\def\labelitemii{--}
+\def\labelitemiii{$\cdot$}
+\def\labelitemiv{*}
+%
+% ENUMERATE
+% SFB -- enumerate with optional argument to set left margin...
+\def\enumerate{\ifnum \@enumdepth >3 \@toodeep \else
+ \advance\@enumdepth \@ne
+ \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
+ \fi
+ \@ifnextchar [{\@enumeratetwo}{\@enumerateone}%
+}
+\def\@enumeratetwo[#1]{%
+ \list{\csname label\@enumctr\endcsname}%
+ {\settowidth\labelwidth{[#1]}
+ \leftmargin\z@
+ \listparindent 1em
+ \usecounter{\@enumctr}
+ \let\makelabel\makenewlabel}
+}
+\def\@enumerateone{%
+ \list{\csname label\@enumctr\endcsname}%
+ {\usecounter{\@enumctr}\itemindent 1em\listparindent 1em
+ \let\makelabel\makenewlabel}}
+%
+\def\labelenumi{\theenumi}
+\def\theenumi{(\roman{enumi})}
+\def\labelenumii{\theenumii}
+\def\theenumii{(\alph{enumii})}
+\def\p@enumii{\theenumi}
+\def\labelenumiii{\theenumiii}
+\def\theenumiii{(\arabic{enumiii})}
+\def\p@enumiii{\theenumi(\theenumii)}
+\def\labelenumiv{\theenumiv}
+\def\theenumiv{(\Alph{enumiv})}
+\def\p@enumiv{\p@enumiii\theenumiii}
+%
+% DESCRIPTION
+\def\descriptionlabel#1{\reset@font\bf #1}
+\def\description{\list{}{\labelwidth\z@
+ \leftmargin \z@
+ \itemindent 1em
+}}
+\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\z@\rightmargin\leftmargin
+ \parsep 0pt plus 1pt}\item[]\reset@font\small}
+\let\endquotation=\endlist
+%
+% QUOTE
+\def\quote{\list{}{\leftmargin\z@\rightmargin\leftmargin}\item[]%
+ \reset@font\small}
+\let\endquote=\endlist
+%
+% BSL QUOTE
+\newenvironment{lquote}{\begin{list}{}%
+ {\setlength{\leftmargin}{2em}}
+ \item[]}
+ {\end{list}}
+%
+% ****************************************
+% * OTHER ENVIRONMENTS *
+% ****************************************
+%
+% THEOREM
+\def\@begintheorem#1#2{\reset@font\rm \trivlist \item[\hskip \labelsep
+ {\reset@font\bf #1\ #2.}]}
+\def\@opargbegintheorem#1#2#3{\reset@font\rm \trivlist
+ \item[\hskip \labelsep{\reset@font\bf #1\ #2.\ (#3)}]}
+\def\@endtheorem{\endtrivlist}
+%
+% PROOF
+\def\proof{\reset@font\rm \trivlist \item[\hskip \labelsep
+ {\reset@font\it Proof.}]}
+\def\endproof{\hspace*{1em}{\begin{picture}(6.5,6.5)%
+ \put(0,0){\framebox(6.5,6.5){}}\end{picture}}\endtrivlist}
+\@namedef{proof*}{\reset@font\rm \trivlist \item[\hskip \labelsep
+ {\reset@font\it Proof.}]}
+\@namedef{endproof*}{\endtrivlist}
+\def\proofbox{\begin{picture}(6.5,6.5)%
+ \put(0,0){\framebox(6.5,6.5){}}\end{picture}}
+%
+% TITLEPAGE
+\def\titlepage{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
+ \else \newpage \fi \thispagestyle{empty}\c@page\z@}
+\def\endtitlepage{\if@restonecol\twocolumn \else \newpage \fi}
+
+% ARRAY AND TABULAR
+%
+\arraycolsep 5pt
+\tabcolsep 6pt
+\arrayrulewidth .5pt
+\doublerulesep 1.5pt
+
+\def\tabular{\def\@halignto{}
+ \def\hline{\noalign{\ifnum0=`}\fi
+ \vskip 3pt
+ \hrule \@height \arrayrulewidth
+ \vskip 3pt
+ \futurelet \@tempa\@xhline}
+ \def\fullhline{\noalign{\ifnum0=`}\fi
+ \vskip 3pt
+ \hrule \@height \arrayrulewidth
+ \vskip 3pt
+ \futurelet \@tempa\@xhline}
+ \def\@xhline{\ifx\@tempa\hline
+ \vskip -6pt
+ \vskip \doublerulesep
+ \fi
+ \ifnum0=`{\fi}}
+ \def\@arrayrule{\@addtopreamble{\hskip -.5\arrayrulewidth
+% \vrule \@width \arrayrulewidth
+ \hskip .5\arrayrulewidth}}
+\@tabular
+}
+% TABBING
+%
+\tabbingsep \labelsep
+
+% MINIPAGE
+%
+\skip\@mpfootins = \skip\footins
+
+% FRAMEBOX
+%
+% Space left between box and text by \fbox and \framebox.
+\fboxsep = 3pt
+% Width of rules in box made by \fbox and \framebox.
+\fboxrule = \arrayrulewidth
+
+% ****************************************
+% * TITLE AND ABSTRACT *
+% ****************************************
+%
+\def\maketitle{\par
+ \begingroup
+ \if@twocolumn
+ \twocolumn[\vspace*{17pt}\@maketitle]
+ \else
+ \newpage
+ \global\@topnum\z@
+ \@maketitle
+ \fi
+ \thispagestyle{titlepage}
+ \endgroup
+ \let\maketitle\relax
+ \let\@maketitle\relax
+ \gdef\@author{}
+ \gdef\@title{}
+ \let\thanks\relax
+}
+\def\newauthor{% DE's definitions
+ \end{tabular}\par
+ \begin{tabular}[t]{@{}l@{}}\let\\=\author@nextline%
+}
+\def\and{%
+ \end{tabular}\vskip 3pt\par
+ \begin{tabular}[t]{@{}l@{}}\let\\=\author@nextline%
+}
+\def\@maketitle{\newpage
+ \vspace*{7pt}
+ {\raggedright \sloppy
+ {\reset@font\huge \bf \@title \par}
+ \vskip 23pt
+ {\reset@font\LARGE
+ \begin{tabular}[t]{@{}l@{}}\let\\=\author@nextline\@author
+ \end{tabular}
+ \par}
+ \vskip 22pt
+ } %End of DE's definitions
+ \par\noindent
+ {\reset@font\small \@date \par}
+ \vskip 22pt
+}
+
+\def\author@nextline{ %DE's definition
+\tabularnewline[-7pt]\reset@font\small\it\ignorespaces
+\let\\=\author@nextline} %let command added by NT to bring
+ % subsequent lines into correct format
+
+%
+\def\abstract{\if@twocolumn
+ \start@SFBbox\@abstract
+ \else
+ \@abstract
+ \fi}
+\def\endabstract{\if@twocolumn
+ \endlist\finish@SFBbox
+ \else
+ \endlist
+ \fi}
+\def\@abstract{\list{}{%
+ \listparindent\realparindent
+ \itemindent\z@
+ \labelwidth\z@ \labelsep\z@
+ \leftmargin 11pc\rightmargin\z@
+ \parsep 0pt plus 1pt}\item[]%
+ \reset@font\normalsize{\bf ABSTRACT}\\\reset@font\large
+} % SFB 0.1.01
+%
+\newif\ifSFB@keywords
+\def\keywords{\if@twocolumn
+ \start@SFBbox\@keywords
+ \else
+ \@keywords
+ \fi
+}
+\def\@keywords{\list{}{%
+ \labelwidth\z@ \labelsep\z@
+ \leftmargin 11pc\rightmargin\z@ % was 11pc\right....
+ \parsep 0pt plus 1pt}\item[]\reset@font\large{\bf Key words: }%
+}
+\def\endkeywords{\if@twocolumn
+ \endlist\addvspace{37pt plus 0.5\baselineskip}\finish@SFBbox
+ \else
+ \endlist
+ \fi
+ \@thanks
+ \gdef\@thanks{}
+ \SFB@keywordstrue
+}
+\def\nokeywords{\ifSFB@keywords\else
+ \if@twocolumn \start@SFBbox\addvspace{37pt}\finish@SFBbox \fi
+ \@thanks
+ \gdef\@thanks{}\fi
+}
+
+\def\author@tabular{\def\@halignto{}\@authortable}
+\let\endauthor@tabular=\endtabular
+%
+\def\author@tabcrone{\vspace{2pt}{\ifnum0=`}\fi%
+ \@xtabularcr[-7pt]\reset@font\small\it
+ \let\\=\author@tabcrtwo\ignorespaces}
+%
+\def\author@tabcrtwo{{\ifnum0=`}\fi\@xtabularcr[-7pt]\reset@font\small\it
+ \let\\=\author@tabcrtwo\ignorespaces}
+%
+\def\@authortable{\leavevmode \hbox \bgroup $\let\@acol\@tabacol
+ \let\@classz\@tabclassz \let\@classiv\@tabclassiv
+ \let\\=\author@tabcrone\ignorespaces \@tabarray}
+
+\def\start@SFBbox{\@next\@currbox\@freelist{}{}%
+ \global\setbox\@currbox
+ \vbox\bgroup
+ \hsize \textwidth
+ \@parboxrestore
+}
+\def\finish@SFBbox{\par\vskip -\dbltextfloatsep
+ \egroup
+ \global\count\@currbox\tw@
+ \global\@dbltopnum\@ne
+ \global\@dbltoproom\maxdimen\@addtodblcol
+ \global\vsize\@colht
+ \global\@colroom\@colht
+}
+
+% ****************************************
+% * PAGE STYLES *
+% ****************************************
+%
+\mark{{}{}}
+\gdef\@author{\mbox{}}
+\def\author{\@ifnextchar [{\@authortwo}{\@authorone}}
+\def\@authortwo[#1]#2{\gdef\@author{#2}\gdef\@shortauthor{#1}}
+\def\@authorone#1{\gdef\@author{#1}\gdef\@shortauthor{#1}}
+\gdef\@shortauthor{}
+\gdef\@title{\mbox{}}
+\def\title{\@ifnextchar [{\@titletwo}{\@titleone}}
+\def\@titletwo[#1]#2{\gdef\@title{#2}\gdef\@shorttitle{#1}}
+\def\@titleone#1{\gdef\@title{#1}\gdef\@shorttitle{#1}}
+\gdef\@shorttitle{}
+\def\volume#1{\gdef\@volume{#1}}
+\gdef\@volume{000}
+\def\tod@y{\today}
+\def\microfiche#1{\gdef\@microfiche{#1}}
+\gdef\@microfiche{}
+\def\pubyear#1{\gdef\@pubyear{#1}}
+\gdef\@pubyear{0000}
+\def\pagerange#1{\gdef\@pagerange{#1}}
+\gdef\@pagerange{000--000}
+\def\journal#1{\gdef\@journal{#1}}
+\def\plate#1{\gdef\pl@te{#1}}
+\ifx\CUP@mtlplain@loaded\undefined
+ \def\@printed{\qquad Printed \tod@y\qquad
+ (MN \LaTeX\ style file v\@version)}
+\else
+ \def\@printed{}
+\fi
+\gdef\@journal{{Mon.\ Not.\ R.\ Astron.\ Soc.} {\bf \@volume}, \@pagerange\
+% (\number\year) \@microfiche\@printed}
+ (\@pubyear) \@microfiche\@printed}
+%
+% \ps@empty and \ps@plain defined in LATEX.TEX
+%
+\def\@ddell{}
+\if@letters
+ \def\@ddell{L}
+\fi
+\def\ps@headings{\let\@mkboth\markboth
+ \def\@oddhead{\Large\hfill{\it\@shorttitle}\hspace{1.5em}%
+ \rm\@ddell\thepage}
+ \def\@oddfoot{\small\copyright\ \@pubyear\ RAS, MNRAS {\bf \@volume}, \@pagerange\hfil}
+ \def\@evenhead{\Large\@ddell\thepage\hspace{1.5em}\it\@shortauthor\hfill}
+ \def\@evenfoot{\hfil\small\copyright\ \@pubyear\ RAS, MNRAS {\bf \@volume}, \@pagerange}
+ \def\sectionmark##1{\markboth{##1}{}}
+ \def\subsectionmark##1{\markright{##1}}}
+
+\def\ps@myheadings{\let\@mkboth\@gobbletwo
+ \def\@oddhead{\Large\hfill\it\rightmark\hspace{1.5em}\rm\@ddell\thepage}
+ \def\@oddfoot{\small\copyright\ \@pubyear\ RAS, MNRAS {\bf \@volume}, \@pagerange\hfil}
+ \def\@evenhead{\Large\@ddell\thepage\hspace{1.5em}\it\leftmark\hfill}
+ \def\@evenfoot{\hfil\small\copyright\ \@pubyear\ RAS, MNRAS {\bf \@volume}, \@pagerange}
+ \def\sectionmark##1{}
+ \def\subsectionmark##1{}}
+
+\def\ps@titlepage{\let\@mkboth\@gobbletwo
+ \def\@oddhead{\footnotesize\@journal\hfill}
+ \def\@oddfoot{\small\copyright\ \@pubyear\ RAS\hfil}
+ \def\@evenhead{\footnotesize\@journal\hfill}
+ \def\@evenfoot{\hfil\small\copyright\ \@pubyear\ RAS}
+ \def\sectionmark##1{}
+ \def\subsectionmark##1{}}
+
+\def\ps@plate{\let\@mkboth\@gobbletwo
+ \def\@oddhead{\footnotesize\pl@te\hfill}
+ \def\@oddfoot{\small\copyright\ \@pubyear\ RAS, MNRAS {\bf \@volume},
+ \@pagerange\hfil}
+ \def\@evenhead{\footnotesize\pl@te\hfill}
+ \def\@evenfoot{\hfil\small\copyright\ \@pubyear\ RAS, MNRAS {\bf \@volume},
+ \@pagerange}
+}
+
+% ****************************************
+% * TABLE OF CONTENTS, ETC. *
+% ****************************************
+%
+\def\@pnumwidth{1.55em}
+\def\@tocrmarg {2.55em}
+\def\@dotsep{4.5}
+\setcounter{tocdepth}{2}
+\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 #4\nobreak \hfill \nobreak
+ \hbox to\@pnumwidth{\hfil\reset@font\rm \ }\par}\fi}
+\def\tableofcontents{\@restonecolfalse
+ \if@twocolumn\@restonecoltrue\onecolumn\fi
+ \section*{CONTENTS} \@starttoc{toc}
+ \if@restonecol\twocolumn\fi \par\vspace{12pt}}
+\def\l@part#1#2{\addpenalty{-\@highpenalty}
+ \addvspace{2.25em plus 1pt}
+ \begingroup
+ \parindent \z@ \rightskip \@pnumwidth
+ \parfillskip -\@pnumwidth
+ {\reset@font\normalsize\rm
+ \leavevmode \hspace*{3pc}
+ #1\hfil \hbox to\@pnumwidth{\hss \ }}\par
+ \nobreak \global\@nobreaktrue
+ \everypar{\global\@nobreakfalse\everypar{}}\endgroup}
+\def\l@section#1#2{\addpenalty{\@secpenalty}
+ \@tempdima 1.5em
+ \begingroup
+ \parindent \z@ \rightskip \@pnumwidth
+ \parfillskip -\@pnumwidth \reset@font\rm \leavevmode
+ \advance\leftskip\@tempdima \hskip -\leftskip
+ #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss \ }\par
+ \endgroup}
+\def\l@subsection{\@undottedtocline{2}{1.5em}{2.3em}}
+\def\l@subsubsection{\@undottedtocline{3}{3.8em}{3.2em}}
+\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\@mkboth{LIST OF FIGURES}{LIST OF FIGURES}}
+ \@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\@mkboth{LIST OF TABLES}{LIST OF TABLES}}
+ \@starttoc{lot} \if@restonecol\twocolumn\fi}
+\let\l@table\l@figure
+
+% ****************************************
+% * BIBLIOGRAPHY *
+% ****************************************
+%
+
+\newcounter{dummy}
+\def\thebibliography#1{\section*{REFERENCES}
+ \addcontentsline{toc}{section}{REFERENCES}
+ \list{}{\usecounter{dummy}%
+ \labelwidth\z@
+ \leftmargin 1.5em
+ \itemsep \z@
+ \itemindent-\leftmargin}
+ \reset@font\small
+ \parindent\z@
+ \parskip\z@ plus .1pt\relax
+ \def\newblock{\hskip .11em plus .33em minus .07em}
+ \sloppy\clubpenalty4000\widowpenalty4000
+ \sfcode`\.=1000\relax
+}
+\let\endthebibliography=\endlist
+\def\@biblabel#1{\hspace*{\labelsep}[#1]}
+
+\if@usenatbib%
+ \def\newblock{\hskip .11em plus .33em minus .07em}
+ \usepackage[authoryear]{natbib}
+ \bibpunct{(}{)}{;}{a}{}{,}
+ % Re-define these in upper case as natbib.sty has them capitalised
+ \renewcommand\bibname{BIBLIOGRAPHY}
+ \renewcommand\refname{REFERENCES}
+\fi
+
+% new column specifiers to be used with dcolumn
+\if@usedcolumn%
+ \usepackage{dcolumn}
+ \newcolumntype{d}[1]{D{.}{.}{#1}}
+ \newcolumntype{.}{D{.}{.}{-1}}
+ \newcolumntype{,}{D{,}{,}{2}}
+\fi
+
+% ****************************************
+% * THE INDEX *
+% ****************************************
+%
+\newif\if@restonecol
+\def\theindex{\section*{INDEX}
+ \addcontentsline{toc}{section}{INDEX}
+ \reset@font\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{\kern-3\p@ \hrule width 12pc height \z@ \kern 3\p@}
+
+\renewcommand{\thefootnote}{\mbox{{$\fnsymbol{footnote}$}}}
+\renewcommand{\thempfootnote}{\mbox{{${\alph{mpfootnote}}$}}}
+
+\def\@fnsymbol#1{\ifcase#1\or \mbox{${^{\star}}$}\or
+ \dagger\or \ddagger\or
+ \S \or \P \or \|\or \mbox{$^{\star\star}$}\or \dagger\dagger
+ \or \ddagger\ddagger\or \S\S\or \P\P\or \|\|\else ***
+ \fi\relax}
+
+\providecommand\@makefntext[1]{}
+
+\renewcommand{\@makefnmark}{$\@thefnmark$}
+\renewcommand\@makefntext[1]{\parindent 1em\noindent
+ ${\@thefnmark}$\hspace{4pt}#1}
+
+\newcommand{\fixfootnotes}{%
+\renewcommand{\@makefnmark}{$^{\@thefnmark}$}%
+\renewcommand\@makefntext[1]{\parindent 1em\noindent%
+ $^{\@thefnmark}$\hspace{4pt}##1}%
+\renewcommand{\thefootnote}{\arabic{footnote}}%
+\setcounter{footnote}{0}%
+}
+%****************************************
+% * FIGURES AND TABLES *
+% ****************************************
+%
+\setcounter{topnumber}{2}
+\def\topfraction{.9}
+\setcounter{bottomnumber}{1}
+\def\bottomfraction{.9}
+\setcounter{totalnumber}{3}
+\def\textfraction{.1}
+\def\floatpagefraction{.9}
+\setcounter{dbltopnumber}{2}
+\def\dbltopfraction{.9}
+\def\dblfloatpagefraction{.9}
+
+\newif\ifst@rredfloat
+\newcounter{table}
+\def\thetable{\@arabic\c@table}
+\def\fps@table{tbp}
+\def\ftype@table{1}
+\def\fstyle@table{\reset@font\small\rm}
+\def\ext@table{lot}
+\def\fnum@table{Table \thetable}
+\def\table{\def\baselinestretch{1}%
+ \let\@makecaption=\SFB@maketablecaption%
+ \@float{table}\fstyle@table}
+\let\endtable\end@float
+\@namedef{table*}{\def\baselinestretch{1}\st@rredfloattrue
+ \let\@makecaption=\SFB@maketablecaption%
+ \@dblfloat{table}\centering\fstyle@table}
+\@namedef{endtable*}{\end@dblfloat\st@rredfloatfalse}
+
+\newcounter{figure}
+\def\thefigure{\@arabic\c@figure}
+\def\fps@figure{tbp}
+\def\ftype@figure{2}
+\def\fstyle@figure{\reset@font\small\rm}
+\def\ext@figure{lof}
+\def\fnum@figure{Figure \thefigure}
+\def\figure{\def\baselinestretch{1}%
+ \let\@makecaption=\SFB@makefigurecaption%
+ \@float{figure}\fstyle@figure}
+\let\endfigure\end@float
+\@namedef{figure*}{\def\baselinestretch{1}\st@rredfloattrue
+ \let\@makecaption=\SFB@makefigurecaption%
+ \@dblfloat{figure}\centering\fstyle@figure}
+\@namedef{endfigure*}{\end@dblfloat\st@rredfloatfalse}
+
+\long\def\SFB@makefigurecaption#1#2{\vskip 6pt
+ \setbox\@tempboxa\hbox{\reset@font\small{\bf #1}%
+ \if@cont \ -- {\it continued}\else{\bf .}\fi\ {\rm #2}\par}%
+ \ifdim \wd\@tempboxa >\hsize
+ {\reset@font\small{\bf #1}%
+ \if@cont \ -- {\it continued}\else{\bf .}\fi\ {\rm #2}\par}%
+ \else
+ \ifst@rredfloat
+ \hbox to\hsize{\hfill\box\@tempboxa\hfill}%
+ \else
+ \hbox to\hsize{\hfill\box\@tempboxa\hfill}%
+ \fi
+ \fi
+ \vskip 6pt
+ \@contfalse
+}
+
+\long\def\SFB@maketablecaption#1#2{\vskip 6pt
+ \setbox\@tempboxa\hbox{\reset@font\small{\bf #1}%
+ \if@cont \ -- {\it continued}\else{\bf .}\fi\ {\rm #2}\par}%
+ \ifdim \wd\@tempboxa >\hsize
+ {\reset@font\small{\bf #1}%
+ \if@cont \ -- {\it continued}\else{\bf .}\fi\ {\rm #2}\par}%
+ \else
+ \hbox to\hsize{\box\@tempboxa\hfill}%
+ \fi
+ \vskip 6pt
+ \@contfalse
+}
+
+\newif\if@cont
+\def\caption{\refstepcounter\@captype \@dblarg{\@caption\@captype}}
+\def\contcaption{\@conttrue\SFB@caption\@captype}
+
+\long\def\SFB@caption#1#2{%\par
+ \begingroup
+ \@parboxrestore
+ \reset@font\normalsize
+ \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #2}\par
+ \endgroup}
+
+% ****************************************
+% * CUP specials *
+% ****************************************
+%
+%
+% 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
+%
+
+\if@usenatbib\relax\else%
+\newlength{\bibhang}
+\setlength{\bibhang}{2em}
+\fi
+
+% 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}{{\reset@font\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}
+
+% RM for BSP note at end of article
+\def\bsp{\vspace{0.5cm}\reset@font\normalsize\noindent This paper
+has been typeset from a \TeX / \LaTeX\ file prepared by the author.}
+
+
+% ****************************************
+% * FLEQN *
+% ****************************************
+%
+% FLEQN DOCUMENT-STYLE OPTION - released 9 March 1987
+% for LaTeX version 2.09
+% Copyright (C) 1987 by Leslie Lamport
+%
+% The following commands make the displayed math environments flush left,
+% with an indentation of \mathindent from the prevailing left margin.
+
+\def\[{\relax\ifmmode\@badmath\else\begin{trivlist}\item[]\leavevmode
+ \hbox to\linewidth\bgroup$
+ \displaystyle
+ \hskip\mathindent\bgroup\fi}
+
+\def\]{\relax\ifmmode \egroup $\hfil
+ \egroup \end{trivlist}\else \@badmath \fi}
+
+\def\equation{\refstepcounter{equation}\trivlist \item[]\leavevmode
+ \hbox to\linewidth\bgroup $
+ \displaystyle
+\hskip\mathindent}
+
+
+\def\endequation{$\hfil
+ \displaywidth\linewidth\@eqnnum\egroup \endtrivlist}
+
+\def\eqnarray{\stepcounter{equation}\let\@currentlabel=\theequation
+\global\@eqnswtrue
+\global\@eqcnt\z@\tabskip\mathindent\let\\=\@eqncr
+\abovedisplayskip\topsep\ifvmode\advance\abovedisplayskip\partopsep\fi
+\belowdisplayskip\abovedisplayskip
+\belowdisplayshortskip\abovedisplayskip
+\abovedisplayshortskip\abovedisplayskip
+$$\halign
+to \linewidth\bgroup\@eqnsel\hskip\@centering$\displaystyle\tabskip\z@
+ {##}$&\global\@eqcnt\@ne \hskip 2\arraycolsep \hfil${##}$\hfil
+ &\global\@eqcnt\tw@ \hskip 2\arraycolsep $\displaystyle{##}$\hfil
+ \tabskip\@centering&\llap{##}\tabskip\z@\cr}
+
+\def\endeqnarray{\@@eqncr\egroup
+ \global\advance\c@equation\m@ne$$\global\@ignoretrue}
+
+\newdimen\mathindent
+\mathindent = \z@
+
+% ****************************************
+% * MISCELLANEOUS *
+% ****************************************
+%
+% DATE
+\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 \ \number\year}
+
+% REVISED AUTHOR QUERY COMMAND
+% Queries in text are printed in large bold font, in square brackets
+% Queries in references are printed as bold number followed by text
+ \DeclareFixedFont{\largerm}{OT1}{cmss}{m}{n}{17}
+ \DeclareFixedFont{\largeital}{OT1}{cmss}{m}{sl}{17}
+ \newcommand{\aquery}[1]{\mbox{\largerm {[#1]}}}
+ \newcommand{\BSLquery}[1]{\aquery{#1}}
+ %For backwards compatibility with old query command
+ \newcommand{\tquery}[1]{\mbox{\largeital{[#1]}}}
+ %Typesetter query: same format
+ \newenvironment{query}{\vspace{5mm} \noindent {\bf Queries}\\}{}
+ \newcommand{\authorquery}[2]{\noindent{{\bf #1} #2}\\}
+
+% definition required for newarray.sty
+\gdef\d@llar{}
+
+% ****************************************
+% * INITIALIZATION *
+% ****************************************
+%
+%
+%%%NHT: this code needs fixed.
+%%% At the moment the zif is always undefined, so it does nothing!
+\newif\ifCUPmtlplainloaded
+\ifx\CUP@mtlplain@loaded\undefined
+\else
+ \global\CUPmtlplainloadedtrue
+ \input mnsym
+\fi
+%
+\flushbottom
+\ps@headings
+\ifSFB@galley
+ \raggedbottom
+ \ps@empty
+\fi
+%\ifSFB@referee
+% \raggedbottom
+%\fi
+\pagenumbering{arabic}
+\if@twocolumn
+ \twocolumn
+ \sloppy
+\else
+ \onecolumn
+\fi
+\frenchspacing
+
+% end of MN.cls
+
+% Original file produced by Cambridge University Press 1994
+% for LaTeX version 2.09, 1988, by Leslie Lamport
+% based on the original LaTeX ARTICLE DOCUMENT STYLE
+% modifications by Sue Brooks, Alison Woollatt and Mark Reed 1993, 1994
+% further modifications by Nadine and John Thompson 1999 August
+% and David Evans 1999 December
+%
+% > Incorporating also parts of authordate.sty
+% by David Rhead, Cripps Computing Centre (Feb 1990).
+% > Incorporating special symbol code from laa.sty v1.1 (25th Feb 1991)
+% used with the permission of Springer Verlag.
+% > Incorporating parts of mssymb.tex (8th July 1987).
+% > Incorporating newfont.sty vALPHA pl 8 (16th August 1994), by M. Reed
+%
+% v0.1.01 SFB text area, abstract heading, secnumdepth,
+% \dblfloatpagefraction
+% v0.1.02 SFB landscape, galley and referee options;
+% new catchline; enumerated lists; correct raggedright
+% on section headings;
+% v0.1.03 SFB continued floats with \caption* (removed now),
+% short captions centred
+% v0.1.04 SFB appendices, unnumbered list (using description)
+% v0.1.05 AJW roman catchline, final statement
+% v1.0 RM BSP note, \bsp, added to cup specials
+% v1.1 AJW / MR, 28th January 1994. NFSS 1/2 compatible,
+% Springer-Verlag macros added
+% v1.2 AJW, 18th July 1994. Improved cont. captions,
+% MR font selection check improved,
+% MR removed some redundant code, AW \sevensize added,
+% MR Added MR's `NewFont' support, MR Improved NFSS 1/2 support,
+% MR Added support for Bold math and AMS symbols for NFSS 1,
+% MR par's in abstract now have par indents.
+% MR added \ifCUPmtlplainloaded switch for use in documents.
+% MR Added mnsym.tex (for Times version).
+% v1.25 MR, not released to authors 16th August 1994.
+% Replaced existing Newfont.sty code with updated code, after
+% discovering several bugs. This version not released to authors
+% because they are unlikely to find the bugs unless:
+% 1) they have an extremely long article,
+% 2) have used many \New.. commands (no docs were supplied for
+% these anyway).
+% v1.3 MR, 5 September 1994. Added printing of style file version to
+% 'Printed' info in catchline. Will help us identify how the
+% article was produced (TeX/LaTeX) and the version number of the
+% macros.
+% MR Tables and Figures no longer get double spaced when using the
+% `referee' or `doublespacing' options.
+% MR Corrected 7th footnote symbol: made a \star\star (was **).
+% MR Corrected problem where some headings were not upper-case
+% when they should have been (\section*).
+% v1.4 AJW, 14th September 1995. Add footlines and \newauthor,
+% correct \listparindent in enumerate environment.
+% v2.1 NHT/JST 1999 August 22. Conversion to
+% a LaTeX2e class file, following the conversions used
+% in GJIb.sty->GJI.cls.
+% Obselete NFSS font information removed.
+% footnotes redefined.
+% v2.2 DE various changes.
+% NHT 1999 Dec 23. \la and \ga symbols fixed. Bug in displaying
+% author names and addresses fixed. Problem in producing footnotes
+% in minipages fixed.