summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/mnras
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
Initial commit
Diffstat (limited to 'macros/latex/contrib/mnras')
l---------macros/latex/contrib/mnras/README1
-rw-r--r--macros/latex/contrib/mnras/example.eps759
-rw-r--r--macros/latex/contrib/mnras/example.pngbin0 -> 4909 bytes
-rw-r--r--macros/latex/contrib/mnras/example.ps759
-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
-rw-r--r--macros/latex/contrib/mnras/mnras.bst1830
-rw-r--r--macros/latex/contrib/mnras/mnras.cls1809
-rw-r--r--macros/latex/contrib/mnras/mnras_guide.pdfbin0 -> 249921 bytes
-rw-r--r--macros/latex/contrib/mnras/mnras_guide.tex859
-rw-r--r--macros/latex/contrib/mnras/mnras_template.tex223
-rw-r--r--macros/latex/contrib/mnras/readme.txt62
13 files changed, 9150 insertions, 0 deletions
diff --git a/macros/latex/contrib/mnras/README b/macros/latex/contrib/mnras/README
new file mode 120000
index 0000000000..0d79d56d9f
--- /dev/null
+++ b/macros/latex/contrib/mnras/README
@@ -0,0 +1 @@
+readme.txt \ No newline at end of file
diff --git a/macros/latex/contrib/mnras/example.eps b/macros/latex/contrib/mnras/example.eps
new file mode 100644
index 0000000000..1ce8922a86
--- /dev/null
+++ b/macros/latex/contrib/mnras/example.eps
@@ -0,0 +1,759 @@
+%!PS-Adobe-2.0
+%%Title: example.eps
+%%Creator: gnuplot 4.6 patchlevel 6
+%%CreationDate: Wed Nov 12 16:24:35 2014
+%%DocumentFonts: (atend)
+%%BoundingBox: 50 50 554 770
+%%Orientation: Landscape
+%%Pages: (atend)
+%%EndComments
+%%BeginProlog
+/gnudict 256 dict def
+gnudict begin
+%
+% The following true/false flags may be edited by hand if desired.
+% The unit line width and grayscale image gamma correction may also be changed.
+%
+/Color true def
+/Blacktext false def
+/Solid false def
+/Dashlength 1 def
+/Landscape true def
+/Level1 false def
+/Rounded false def
+/ClipToBoundingBox false def
+/SuppressPDFMark false def
+/TransparentPatterns false def
+/gnulinewidth 5.000 def
+/userlinewidth gnulinewidth def
+/Gamma 1.0 def
+/BackgroundColor {-1.000 -1.000 -1.000} def
+%
+/vshift -46 def
+/dl1 {
+ 10.0 Dashlength mul mul
+ Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if
+} def
+/dl2 {
+ 10.0 Dashlength mul mul
+ Rounded { currentlinewidth 0.75 mul add } if
+} def
+/hpt_ 31.5 def
+/vpt_ 31.5 def
+/hpt hpt_ def
+/vpt vpt_ def
+/doclip {
+ ClipToBoundingBox {
+ newpath 50 50 moveto 554 50 lineto 554 770 lineto 50 770 lineto closepath
+ clip
+ } if
+} def
+%
+% Gnuplot Prolog Version 4.6 (September 2012)
+%
+%/SuppressPDFMark true def
+%
+/M {moveto} bind def
+/L {lineto} bind def
+/R {rmoveto} bind def
+/V {rlineto} bind def
+/N {newpath moveto} bind def
+/Z {closepath} bind def
+/C {setrgbcolor} bind def
+/f {rlineto fill} bind def
+/g {setgray} bind def
+/Gshow {show} def % May be redefined later in the file to support UTF-8
+/vpt2 vpt 2 mul def
+/hpt2 hpt 2 mul def
+/Lshow {currentpoint stroke M 0 vshift R
+ Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
+/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R
+ Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
+/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R
+ Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
+/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def
+ /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def
+/DL {Color {setrgbcolor Solid {pop []} if 0 setdash}
+ {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def
+/BL {stroke userlinewidth 2 mul setlinewidth
+ Rounded {1 setlinejoin 1 setlinecap} if} def
+/AL {stroke userlinewidth 2 div setlinewidth
+ Rounded {1 setlinejoin 1 setlinecap} if} def
+/UL {dup gnulinewidth mul /userlinewidth exch def
+ dup 1 lt {pop 1} if 10 mul /udl exch def} def
+/PL {stroke userlinewidth setlinewidth
+ Rounded {1 setlinejoin 1 setlinecap} if} def
+3.8 setmiterlimit
+% Default Line colors
+/LCw {1 1 1} def
+/LCb {0 0 0} def
+/LCa {0 0 0} def
+/LC0 {1 0 0} def
+/LC1 {0 1 0} def
+/LC2 {0 0 1} def
+/LC3 {1 0 1} def
+/LC4 {0 1 1} def
+/LC5 {1 1 0} def
+/LC6 {0 0 0} def
+/LC7 {1 0.3 0} def
+/LC8 {0.5 0.5 0.5} def
+% Default Line Types
+/LTw {PL [] 1 setgray} def
+/LTb {BL [] LCb DL} def
+/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def
+/LT0 {PL [] LC0 DL} def
+/LT1 {PL [4 dl1 2 dl2] LC1 DL} def
+/LT2 {PL [2 dl1 3 dl2] LC2 DL} def
+/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def
+/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def
+/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def
+/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def
+/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def
+/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def
+/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def
+/Dia {stroke [] 0 setdash 2 copy vpt add M
+ hpt neg vpt neg V hpt vpt neg V
+ hpt vpt V hpt neg vpt V closepath stroke
+ Pnt} def
+/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V
+ currentpoint stroke M
+ hpt neg vpt neg R hpt2 0 V stroke
+ } def
+/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
+ 0 vpt2 neg V hpt2 0 V 0 vpt2 V
+ hpt2 neg 0 V closepath stroke
+ Pnt} def
+/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M
+ hpt2 vpt2 neg V currentpoint stroke M
+ hpt2 neg 0 R hpt2 vpt2 V stroke} def
+/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M
+ hpt neg vpt -1.62 mul V
+ hpt 2 mul 0 V
+ hpt neg vpt 1.62 mul V closepath stroke
+ Pnt} def
+/Star {2 copy Pls Crs} def
+/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M
+ 0 vpt2 neg V hpt2 0 V 0 vpt2 V
+ hpt2 neg 0 V closepath fill} def
+/TriUF {stroke [] 0 setdash vpt 1.12 mul add M
+ hpt neg vpt -1.62 mul V
+ hpt 2 mul 0 V
+ hpt neg vpt 1.62 mul V closepath fill} def
+/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M
+ hpt neg vpt 1.62 mul V
+ hpt 2 mul 0 V
+ hpt neg vpt -1.62 mul V closepath stroke
+ Pnt} def
+/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M
+ hpt neg vpt 1.62 mul V
+ hpt 2 mul 0 V
+ hpt neg vpt -1.62 mul V closepath fill} def
+/DiaF {stroke [] 0 setdash vpt add M
+ hpt neg vpt neg V hpt vpt neg V
+ hpt vpt V hpt neg vpt V closepath fill} def
+/Pent {stroke [] 0 setdash 2 copy gsave
+ translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
+ closepath stroke grestore Pnt} def
+/PentF {stroke [] 0 setdash gsave
+ translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
+ closepath fill grestore} def
+/Circle {stroke [] 0 setdash 2 copy
+ hpt 0 360 arc stroke Pnt} def
+/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def
+/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def
+/C1 {BL [] 0 setdash 2 copy moveto
+ 2 copy vpt 0 90 arc closepath fill
+ vpt 0 360 arc closepath} bind def
+/C2 {BL [] 0 setdash 2 copy moveto
+ 2 copy vpt 90 180 arc closepath fill
+ vpt 0 360 arc closepath} bind def
+/C3 {BL [] 0 setdash 2 copy moveto
+ 2 copy vpt 0 180 arc closepath fill
+ vpt 0 360 arc closepath} bind def
+/C4 {BL [] 0 setdash 2 copy moveto
+ 2 copy vpt 180 270 arc closepath fill
+ vpt 0 360 arc closepath} bind def
+/C5 {BL [] 0 setdash 2 copy moveto
+ 2 copy vpt 0 90 arc
+ 2 copy moveto
+ 2 copy vpt 180 270 arc closepath fill
+ vpt 0 360 arc} bind def
+/C6 {BL [] 0 setdash 2 copy moveto
+ 2 copy vpt 90 270 arc closepath fill
+ vpt 0 360 arc closepath} bind def
+/C7 {BL [] 0 setdash 2 copy moveto
+ 2 copy vpt 0 270 arc closepath fill
+ vpt 0 360 arc closepath} bind def
+/C8 {BL [] 0 setdash 2 copy moveto
+ 2 copy vpt 270 360 arc closepath fill
+ vpt 0 360 arc closepath} bind def
+/C9 {BL [] 0 setdash 2 copy moveto
+ 2 copy vpt 270 450 arc closepath fill
+ vpt 0 360 arc closepath} bind def
+/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill
+ 2 copy moveto
+ 2 copy vpt 90 180 arc closepath fill
+ vpt 0 360 arc closepath} bind def
+/C11 {BL [] 0 setdash 2 copy moveto
+ 2 copy vpt 0 180 arc closepath fill
+ 2 copy moveto
+ 2 copy vpt 270 360 arc closepath fill
+ vpt 0 360 arc closepath} bind def
+/C12 {BL [] 0 setdash 2 copy moveto
+ 2 copy vpt 180 360 arc closepath fill
+ vpt 0 360 arc closepath} bind def
+/C13 {BL [] 0 setdash 2 copy moveto
+ 2 copy vpt 0 90 arc closepath fill
+ 2 copy moveto
+ 2 copy vpt 180 360 arc closepath fill
+ vpt 0 360 arc closepath} bind def
+/C14 {BL [] 0 setdash 2 copy moveto
+ 2 copy vpt 90 360 arc closepath fill
+ vpt 0 360 arc} bind def
+/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill
+ vpt 0 360 arc closepath} bind def
+/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
+ neg 0 rlineto closepath} bind def
+/Square {dup Rec} bind def
+/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def
+/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def
+/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def
+/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def
+/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def
+/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def
+/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill
+ exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def
+/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def
+/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill
+ 2 copy vpt Square fill Bsquare} bind def
+/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def
+/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def
+/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill
+ Bsquare} bind def
+/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill
+ Bsquare} bind def
+/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def
+/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
+ 2 copy vpt Square fill Bsquare} bind def
+/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
+ 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def
+/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def
+/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def
+/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def
+/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def
+/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def
+/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def
+/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def
+/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def
+/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def
+/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def
+/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def
+/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def
+/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def
+/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def
+/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def
+/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def
+/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def
+/DiaE {stroke [] 0 setdash vpt add M
+ hpt neg vpt neg V hpt vpt neg V
+ hpt vpt V hpt neg vpt V closepath stroke} def
+/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M
+ 0 vpt2 neg V hpt2 0 V 0 vpt2 V
+ hpt2 neg 0 V closepath stroke} def
+/TriUE {stroke [] 0 setdash vpt 1.12 mul add M
+ hpt neg vpt -1.62 mul V
+ hpt 2 mul 0 V
+ hpt neg vpt 1.62 mul V closepath stroke} def
+/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M
+ hpt neg vpt 1.62 mul V
+ hpt 2 mul 0 V
+ hpt neg vpt -1.62 mul V closepath stroke} def
+/PentE {stroke [] 0 setdash gsave
+ translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
+ closepath stroke grestore} def
+/CircE {stroke [] 0 setdash
+ hpt 0 360 arc stroke} def
+/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def
+/DiaW {stroke [] 0 setdash vpt add M
+ hpt neg vpt neg V hpt vpt neg V
+ hpt vpt V hpt neg vpt V Opaque stroke} def
+/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M
+ 0 vpt2 neg V hpt2 0 V 0 vpt2 V
+ hpt2 neg 0 V Opaque stroke} def
+/TriUW {stroke [] 0 setdash vpt 1.12 mul add M
+ hpt neg vpt -1.62 mul V
+ hpt 2 mul 0 V
+ hpt neg vpt 1.62 mul V Opaque stroke} def
+/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M
+ hpt neg vpt 1.62 mul V
+ hpt 2 mul 0 V
+ hpt neg vpt -1.62 mul V Opaque stroke} def
+/PentW {stroke [] 0 setdash gsave
+ translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
+ Opaque stroke grestore} def
+/CircW {stroke [] 0 setdash
+ hpt 0 360 arc Opaque stroke} def
+/BoxFill {gsave Rec 1 setgray fill grestore} def
+/Density {
+ /Fillden exch def
+ currentrgbcolor
+ /ColB exch def /ColG exch def /ColR exch def
+ /ColR ColR Fillden mul Fillden sub 1 add def
+ /ColG ColG Fillden mul Fillden sub 1 add def
+ /ColB ColB Fillden mul Fillden sub 1 add def
+ ColR ColG ColB setrgbcolor} def
+/BoxColFill {gsave Rec PolyFill} def
+/PolyFill {gsave Density fill grestore grestore} def
+/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def
+%
+% PostScript Level 1 Pattern Fill routine for rectangles
+% Usage: x y w h s a XX PatternFill
+% x,y = lower left corner of box to be filled
+% w,h = width and height of box
+% a = angle in degrees between lines and x-axis
+% XX = 0/1 for no/yes cross-hatch
+%
+/PatternFill {gsave /PFa [ 9 2 roll ] def
+ PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate
+ PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec
+ TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse
+ clip
+ currentlinewidth 0.5 mul setlinewidth
+ /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def
+ 0 0 M PFa 5 get rotate PFs -2 div dup translate
+ 0 1 PFs PFa 4 get div 1 add floor cvi
+ {PFa 4 get mul 0 M 0 PFs V} for
+ 0 PFa 6 get ne {
+ 0 1 PFs PFa 4 get div 1 add floor cvi
+ {PFa 4 get mul 0 2 1 roll M PFs 0 V} for
+ } if
+ stroke grestore} def
+%
+/languagelevel where
+ {pop languagelevel} {1} ifelse
+ 2 lt
+ {/InterpretLevel1 true def}
+ {/InterpretLevel1 Level1 def}
+ ifelse
+%
+% PostScript level 2 pattern fill definitions
+%
+/Level2PatternFill {
+/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8}
+ bind def
+/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke}
+>> matrix makepattern
+/Pat1 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke
+ 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke}
+>> matrix makepattern
+/Pat2 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L
+ 8 8 L 8 0 L 0 0 L fill}
+>> matrix makepattern
+/Pat3 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L
+ 0 12 M 12 0 L stroke}
+>> matrix makepattern
+/Pat4 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L
+ 0 -4 M 12 8 L stroke}
+>> matrix makepattern
+/Pat5 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L
+ 0 12 M 8 -4 L 4 12 M 10 0 L stroke}
+>> matrix makepattern
+/Pat6 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L
+ 0 -4 M 8 12 L 4 -4 M 10 8 L stroke}
+>> matrix makepattern
+/Pat7 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L
+ 12 0 M -4 8 L 12 4 M 0 10 L stroke}
+>> matrix makepattern
+/Pat8 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L
+ -4 0 M 12 8 L -4 4 M 8 10 L stroke}
+>> matrix makepattern
+/Pat9 exch def
+/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def
+/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def
+/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def
+/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def
+/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def
+/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def
+/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def
+} def
+%
+%
+%End of PostScript Level 2 code
+%
+/PatternBgnd {
+ TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse
+} def
+%
+% Substitute for Level 2 pattern fill codes with
+% grayscale if Level 2 support is not selected.
+%
+/Level1PatternFill {
+/Pattern1 {0.250 Density} bind def
+/Pattern2 {0.500 Density} bind def
+/Pattern3 {0.750 Density} bind def
+/Pattern4 {0.125 Density} bind def
+/Pattern5 {0.375 Density} bind def
+/Pattern6 {0.625 Density} bind def
+/Pattern7 {0.875 Density} bind def
+} def
+%
+% Now test for support of Level 2 code
+%
+Level1 {Level1PatternFill} {Level2PatternFill} ifelse
+%
+/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont
+dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall
+currentdict end definefont pop
+/MFshow {
+ { dup 5 get 3 ge
+ { 5 get 3 eq {gsave} {grestore} ifelse }
+ {dup dup 0 get findfont exch 1 get scalefont setfont
+ [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6
+ get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq
+ {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5
+ get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div
+ dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get
+ show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop
+ pop aload pop M} ifelse }ifelse }ifelse }
+ ifelse }
+ forall} def
+/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def
+/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse }
+ {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont
+ 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def
+/MLshow { currentpoint stroke M
+ 0 exch R
+ Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def
+/MRshow { currentpoint stroke M
+ exch dup MFwidth neg 3 -1 roll R
+ Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def
+/MCshow { currentpoint stroke M
+ exch dup MFwidth -2 div 3 -1 roll R
+ Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def
+/XYsave { [( ) 1 2 true false 3 ()] } bind def
+/XYrestore { [( ) 1 2 true false 4 ()] } bind def
+Level1 SuppressPDFMark or
+{} {
+/SDict 10 dict def
+systemdict /pdfmark known not {
+ userdict /pdfmark systemdict /cleartomark get put
+} if
+SDict begin [
+ /Title (example.eps)
+ /Subject (gnuplot plot)
+ /Creator (gnuplot 4.6 patchlevel 6)
+ /Author (kts)
+% /Producer (gnuplot)
+% /Keywords ()
+ /CreationDate (Wed Nov 12 16:24:35 2014)
+ /DOCINFO pdfmark
+end
+} ifelse
+end
+%%EndProlog
+%%Page: 1 1
+gnudict begin
+gsave
+doclip
+50 50 translate
+0.100 0.100 scale
+90 rotate
+0 -5040 translate
+0 setgray
+newpath
+(Helvetica) findfont 140 scalefont setfont
+BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {gsave BackgroundColor C clippath fill grestore} if
+1.000 UL
+LTb
+LCb setrgbcolor
+686 649 M
+63 0 V
+6198 0 R
+-63 0 V
+stroke
+602 649 M
+[ [(Helvetica) 140.0 0.0 true true 0 ( 0)]
+] -46.7 MRshow
+1.000 UL
+LTb
+LCb setrgbcolor
+686 1654 M
+63 0 V
+6198 0 R
+-63 0 V
+stroke
+602 1654 M
+[ [(Helvetica) 140.0 0.0 true true 0 ( 0.5)]
+] -46.7 MRshow
+1.000 UL
+LTb
+LCb setrgbcolor
+686 2660 M
+63 0 V
+6198 0 R
+-63 0 V
+stroke
+602 2660 M
+[ [(Helvetica) 140.0 0.0 true true 0 ( 1)]
+] -46.7 MRshow
+1.000 UL
+LTb
+LCb setrgbcolor
+686 3665 M
+63 0 V
+6198 0 R
+-63 0 V
+stroke
+602 3665 M
+[ [(Helvetica) 140.0 0.0 true true 0 ( 1.5)]
+] -46.7 MRshow
+1.000 UL
+LTb
+LCb setrgbcolor
+686 4670 M
+63 0 V
+6198 0 R
+-63 0 V
+stroke
+602 4670 M
+[ [(Helvetica) 140.0 0.0 true true 0 ( 2)]
+] -46.7 MRshow
+1.000 UL
+LTb
+LCb setrgbcolor
+686 448 M
+0 63 V
+0 4360 R
+0 -63 V
+stroke
+686 308 M
+[ [(Helvetica) 140.0 0.0 true true 0 ( 0)]
+] -46.7 MCshow
+1.000 UL
+LTb
+LCb setrgbcolor
+1938 448 M
+0 63 V
+0 4360 R
+0 -63 V
+stroke
+1938 308 M
+[ [(Helvetica) 140.0 0.0 true true 0 ( 2)]
+] -46.7 MCshow
+1.000 UL
+LTb
+LCb setrgbcolor
+3190 448 M
+0 63 V
+0 4360 R
+0 -63 V
+stroke
+3190 308 M
+[ [(Helvetica) 140.0 0.0 true true 0 ( 4)]
+] -46.7 MCshow
+1.000 UL
+LTb
+LCb setrgbcolor
+4443 448 M
+0 63 V
+0 4360 R
+0 -63 V
+stroke
+4443 308 M
+[ [(Helvetica) 140.0 0.0 true true 0 ( 6)]
+] -46.7 MCshow
+1.000 UL
+LTb
+LCb setrgbcolor
+5695 448 M
+0 63 V
+0 4360 R
+0 -63 V
+stroke
+5695 308 M
+[ [(Helvetica) 140.0 0.0 true true 0 ( 8)]
+] -46.7 MCshow
+1.000 UL
+LTb
+LCb setrgbcolor
+6947 448 M
+0 63 V
+0 4360 R
+0 -63 V
+stroke
+6947 308 M
+[ [(Helvetica) 140.0 0.0 true true 0 ( 10)]
+] -46.7 MCshow
+1.000 UL
+LTb
+LCb setrgbcolor
+1.000 UL
+LTb
+LCb setrgbcolor
+686 4871 N
+686 448 L
+6261 0 V
+0 4423 V
+-6261 0 V
+Z stroke
+LCb setrgbcolor
+112 2659 M
+currentpoint gsave translate -270 rotate 0 0 moveto
+[ [(Helvetica) 140.0 0.0 true true 0 (Height / m)]
+] -46.7 MCshow
+grestore
+LTb
+LCb setrgbcolor
+3816 98 M
+[ [(Helvetica) 140.0 0.0 true true 0 (Time / s)]
+] -46.7 MCshow
+LTb
+1.000 UP
+1.000 UL
+LTb
+LCb setrgbcolor
+% Begin plot #1
+1.000 UL
+LT0
+LC0 setrgbcolor
+/Helvetica findfont 140 scalefont setfont
+/vshift -46 def
+686 2660 M
+63 202 V
+63 201 V
+64 196 V
+63 191 V
+63 182 V
+63 173 V
+64 161 V
+63 147 V
+63 133 V
+63 116 V
+64 99 V
+63 81 V
+63 62 V
+63 41 V
+64 22 V
+63 1 V
+63 -20 V
+63 -39 V
+64 -60 V
+63 -79 V
+63 -97 V
+63 -115 V
+64 -131 V
+63 -146 V
+63 -159 V
+63 -172 V
+64 -181 V
+63 -190 V
+63 -196 V
+63 -200 V
+64 -203 V
+63 -203 V
+63 -201 V
+63 -197 V
+63 -191 V
+64 -183 V
+63 -174 V
+63 -162 V
+63 -149 V
+64 -134 V
+63 -118 V
+63 -101 V
+63 -83 V
+64 -63 V
+63 -44 V
+63 -24 V
+63 -3 V
+64 18 V
+63 37 V
+63 58 V
+63 77 V
+64 95 V
+63 113 V
+63 130 V
+63 144 V
+64 159 V
+63 170 V
+63 180 V
+63 189 V
+64 196 V
+63 200 V
+63 202 V
+63 203 V
+64 201 V
+63 198 V
+63 192 V
+63 184 V
+63 175 V
+64 163 V
+63 150 V
+63 136 V
+63 120 V
+64 103 V
+63 84 V
+63 66 V
+63 45 V
+64 26 V
+63 5 V
+63 -15 V
+63 -36 V
+64 -55 V
+63 -75 V
+63 -94 V
+63 -111 V
+64 -128 V
+63 -143 V
+63 -157 V
+63 -169 V
+64 -179 V
+63 -189 V
+63 -195 V
+63 -199 V
+64 -203 V
+63 -202 V
+63 -202 V
+63 -198 V
+64 -193 V
+63 -185 V
+63 -175 V
+% End plot #1
+stroke
+LTb
+LCb setrgbcolor
+686 4871 N
+686 448 L
+6261 0 V
+0 4423 V
+-6261 0 V
+Z stroke
+1.000 UP
+1.000 UL
+LTb
+LCb setrgbcolor
+stroke
+grestore
+end
+showpage
+%%Trailer
+%%DocumentFonts: Helvetica
+%%Pages: 1
diff --git a/macros/latex/contrib/mnras/example.png b/macros/latex/contrib/mnras/example.png
new file mode 100644
index 0000000000..e5d68f0966
--- /dev/null
+++ b/macros/latex/contrib/mnras/example.png
Binary files differ
diff --git a/macros/latex/contrib/mnras/example.ps b/macros/latex/contrib/mnras/example.ps
new file mode 100644
index 0000000000..ebee9d83b6
--- /dev/null
+++ b/macros/latex/contrib/mnras/example.ps
@@ -0,0 +1,759 @@
+%!PS-Adobe-2.0
+%%Title: example.ps
+%%Creator: gnuplot 4.6 patchlevel 6
+%%CreationDate: Wed Nov 12 16:21:20 2014
+%%DocumentFonts: (atend)
+%%BoundingBox: 50 50 554 770
+%%Orientation: Landscape
+%%Pages: (atend)
+%%EndComments
+%%BeginProlog
+/gnudict 256 dict def
+gnudict begin
+%
+% The following true/false flags may be edited by hand if desired.
+% The unit line width and grayscale image gamma correction may also be changed.
+%
+/Color true def
+/Blacktext false def
+/Solid false def
+/Dashlength 1 def
+/Landscape true def
+/Level1 false def
+/Rounded false def
+/ClipToBoundingBox false def
+/SuppressPDFMark false def
+/TransparentPatterns false def
+/gnulinewidth 5.000 def
+/userlinewidth gnulinewidth def
+/Gamma 1.0 def
+/BackgroundColor {-1.000 -1.000 -1.000} def
+%
+/vshift -46 def
+/dl1 {
+ 10.0 Dashlength mul mul
+ Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if
+} def
+/dl2 {
+ 10.0 Dashlength mul mul
+ Rounded { currentlinewidth 0.75 mul add } if
+} def
+/hpt_ 31.5 def
+/vpt_ 31.5 def
+/hpt hpt_ def
+/vpt vpt_ def
+/doclip {
+ ClipToBoundingBox {
+ newpath 50 50 moveto 554 50 lineto 554 770 lineto 50 770 lineto closepath
+ clip
+ } if
+} def
+%
+% Gnuplot Prolog Version 4.6 (September 2012)
+%
+%/SuppressPDFMark true def
+%
+/M {moveto} bind def
+/L {lineto} bind def
+/R {rmoveto} bind def
+/V {rlineto} bind def
+/N {newpath moveto} bind def
+/Z {closepath} bind def
+/C {setrgbcolor} bind def
+/f {rlineto fill} bind def
+/g {setgray} bind def
+/Gshow {show} def % May be redefined later in the file to support UTF-8
+/vpt2 vpt 2 mul def
+/hpt2 hpt 2 mul def
+/Lshow {currentpoint stroke M 0 vshift R
+ Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
+/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R
+ Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
+/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R
+ Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
+/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def
+ /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def
+/DL {Color {setrgbcolor Solid {pop []} if 0 setdash}
+ {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def
+/BL {stroke userlinewidth 2 mul setlinewidth
+ Rounded {1 setlinejoin 1 setlinecap} if} def
+/AL {stroke userlinewidth 2 div setlinewidth
+ Rounded {1 setlinejoin 1 setlinecap} if} def
+/UL {dup gnulinewidth mul /userlinewidth exch def
+ dup 1 lt {pop 1} if 10 mul /udl exch def} def
+/PL {stroke userlinewidth setlinewidth
+ Rounded {1 setlinejoin 1 setlinecap} if} def
+3.8 setmiterlimit
+% Default Line colors
+/LCw {1 1 1} def
+/LCb {0 0 0} def
+/LCa {0 0 0} def
+/LC0 {1 0 0} def
+/LC1 {0 1 0} def
+/LC2 {0 0 1} def
+/LC3 {1 0 1} def
+/LC4 {0 1 1} def
+/LC5 {1 1 0} def
+/LC6 {0 0 0} def
+/LC7 {1 0.3 0} def
+/LC8 {0.5 0.5 0.5} def
+% Default Line Types
+/LTw {PL [] 1 setgray} def
+/LTb {BL [] LCb DL} def
+/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def
+/LT0 {PL [] LC0 DL} def
+/LT1 {PL [4 dl1 2 dl2] LC1 DL} def
+/LT2 {PL [2 dl1 3 dl2] LC2 DL} def
+/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def
+/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def
+/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def
+/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def
+/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def
+/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def
+/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def
+/Dia {stroke [] 0 setdash 2 copy vpt add M
+ hpt neg vpt neg V hpt vpt neg V
+ hpt vpt V hpt neg vpt V closepath stroke
+ Pnt} def
+/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V
+ currentpoint stroke M
+ hpt neg vpt neg R hpt2 0 V stroke
+ } def
+/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
+ 0 vpt2 neg V hpt2 0 V 0 vpt2 V
+ hpt2 neg 0 V closepath stroke
+ Pnt} def
+/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M
+ hpt2 vpt2 neg V currentpoint stroke M
+ hpt2 neg 0 R hpt2 vpt2 V stroke} def
+/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M
+ hpt neg vpt -1.62 mul V
+ hpt 2 mul 0 V
+ hpt neg vpt 1.62 mul V closepath stroke
+ Pnt} def
+/Star {2 copy Pls Crs} def
+/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M
+ 0 vpt2 neg V hpt2 0 V 0 vpt2 V
+ hpt2 neg 0 V closepath fill} def
+/TriUF {stroke [] 0 setdash vpt 1.12 mul add M
+ hpt neg vpt -1.62 mul V
+ hpt 2 mul 0 V
+ hpt neg vpt 1.62 mul V closepath fill} def
+/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M
+ hpt neg vpt 1.62 mul V
+ hpt 2 mul 0 V
+ hpt neg vpt -1.62 mul V closepath stroke
+ Pnt} def
+/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M
+ hpt neg vpt 1.62 mul V
+ hpt 2 mul 0 V
+ hpt neg vpt -1.62 mul V closepath fill} def
+/DiaF {stroke [] 0 setdash vpt add M
+ hpt neg vpt neg V hpt vpt neg V
+ hpt vpt V hpt neg vpt V closepath fill} def
+/Pent {stroke [] 0 setdash 2 copy gsave
+ translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
+ closepath stroke grestore Pnt} def
+/PentF {stroke [] 0 setdash gsave
+ translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
+ closepath fill grestore} def
+/Circle {stroke [] 0 setdash 2 copy
+ hpt 0 360 arc stroke Pnt} def
+/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def
+/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def
+/C1 {BL [] 0 setdash 2 copy moveto
+ 2 copy vpt 0 90 arc closepath fill
+ vpt 0 360 arc closepath} bind def
+/C2 {BL [] 0 setdash 2 copy moveto
+ 2 copy vpt 90 180 arc closepath fill
+ vpt 0 360 arc closepath} bind def
+/C3 {BL [] 0 setdash 2 copy moveto
+ 2 copy vpt 0 180 arc closepath fill
+ vpt 0 360 arc closepath} bind def
+/C4 {BL [] 0 setdash 2 copy moveto
+ 2 copy vpt 180 270 arc closepath fill
+ vpt 0 360 arc closepath} bind def
+/C5 {BL [] 0 setdash 2 copy moveto
+ 2 copy vpt 0 90 arc
+ 2 copy moveto
+ 2 copy vpt 180 270 arc closepath fill
+ vpt 0 360 arc} bind def
+/C6 {BL [] 0 setdash 2 copy moveto
+ 2 copy vpt 90 270 arc closepath fill
+ vpt 0 360 arc closepath} bind def
+/C7 {BL [] 0 setdash 2 copy moveto
+ 2 copy vpt 0 270 arc closepath fill
+ vpt 0 360 arc closepath} bind def
+/C8 {BL [] 0 setdash 2 copy moveto
+ 2 copy vpt 270 360 arc closepath fill
+ vpt 0 360 arc closepath} bind def
+/C9 {BL [] 0 setdash 2 copy moveto
+ 2 copy vpt 270 450 arc closepath fill
+ vpt 0 360 arc closepath} bind def
+/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill
+ 2 copy moveto
+ 2 copy vpt 90 180 arc closepath fill
+ vpt 0 360 arc closepath} bind def
+/C11 {BL [] 0 setdash 2 copy moveto
+ 2 copy vpt 0 180 arc closepath fill
+ 2 copy moveto
+ 2 copy vpt 270 360 arc closepath fill
+ vpt 0 360 arc closepath} bind def
+/C12 {BL [] 0 setdash 2 copy moveto
+ 2 copy vpt 180 360 arc closepath fill
+ vpt 0 360 arc closepath} bind def
+/C13 {BL [] 0 setdash 2 copy moveto
+ 2 copy vpt 0 90 arc closepath fill
+ 2 copy moveto
+ 2 copy vpt 180 360 arc closepath fill
+ vpt 0 360 arc closepath} bind def
+/C14 {BL [] 0 setdash 2 copy moveto
+ 2 copy vpt 90 360 arc closepath fill
+ vpt 0 360 arc} bind def
+/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill
+ vpt 0 360 arc closepath} bind def
+/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
+ neg 0 rlineto closepath} bind def
+/Square {dup Rec} bind def
+/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def
+/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def
+/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def
+/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def
+/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def
+/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def
+/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill
+ exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def
+/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def
+/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill
+ 2 copy vpt Square fill Bsquare} bind def
+/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def
+/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def
+/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill
+ Bsquare} bind def
+/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill
+ Bsquare} bind def
+/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def
+/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
+ 2 copy vpt Square fill Bsquare} bind def
+/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
+ 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def
+/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def
+/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def
+/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def
+/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def
+/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def
+/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def
+/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def
+/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def
+/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def
+/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def
+/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def
+/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def
+/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def
+/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def
+/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def
+/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def
+/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def
+/DiaE {stroke [] 0 setdash vpt add M
+ hpt neg vpt neg V hpt vpt neg V
+ hpt vpt V hpt neg vpt V closepath stroke} def
+/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M
+ 0 vpt2 neg V hpt2 0 V 0 vpt2 V
+ hpt2 neg 0 V closepath stroke} def
+/TriUE {stroke [] 0 setdash vpt 1.12 mul add M
+ hpt neg vpt -1.62 mul V
+ hpt 2 mul 0 V
+ hpt neg vpt 1.62 mul V closepath stroke} def
+/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M
+ hpt neg vpt 1.62 mul V
+ hpt 2 mul 0 V
+ hpt neg vpt -1.62 mul V closepath stroke} def
+/PentE {stroke [] 0 setdash gsave
+ translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
+ closepath stroke grestore} def
+/CircE {stroke [] 0 setdash
+ hpt 0 360 arc stroke} def
+/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def
+/DiaW {stroke [] 0 setdash vpt add M
+ hpt neg vpt neg V hpt vpt neg V
+ hpt vpt V hpt neg vpt V Opaque stroke} def
+/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M
+ 0 vpt2 neg V hpt2 0 V 0 vpt2 V
+ hpt2 neg 0 V Opaque stroke} def
+/TriUW {stroke [] 0 setdash vpt 1.12 mul add M
+ hpt neg vpt -1.62 mul V
+ hpt 2 mul 0 V
+ hpt neg vpt 1.62 mul V Opaque stroke} def
+/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M
+ hpt neg vpt 1.62 mul V
+ hpt 2 mul 0 V
+ hpt neg vpt -1.62 mul V Opaque stroke} def
+/PentW {stroke [] 0 setdash gsave
+ translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
+ Opaque stroke grestore} def
+/CircW {stroke [] 0 setdash
+ hpt 0 360 arc Opaque stroke} def
+/BoxFill {gsave Rec 1 setgray fill grestore} def
+/Density {
+ /Fillden exch def
+ currentrgbcolor
+ /ColB exch def /ColG exch def /ColR exch def
+ /ColR ColR Fillden mul Fillden sub 1 add def
+ /ColG ColG Fillden mul Fillden sub 1 add def
+ /ColB ColB Fillden mul Fillden sub 1 add def
+ ColR ColG ColB setrgbcolor} def
+/BoxColFill {gsave Rec PolyFill} def
+/PolyFill {gsave Density fill grestore grestore} def
+/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def
+%
+% PostScript Level 1 Pattern Fill routine for rectangles
+% Usage: x y w h s a XX PatternFill
+% x,y = lower left corner of box to be filled
+% w,h = width and height of box
+% a = angle in degrees between lines and x-axis
+% XX = 0/1 for no/yes cross-hatch
+%
+/PatternFill {gsave /PFa [ 9 2 roll ] def
+ PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate
+ PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec
+ TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse
+ clip
+ currentlinewidth 0.5 mul setlinewidth
+ /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def
+ 0 0 M PFa 5 get rotate PFs -2 div dup translate
+ 0 1 PFs PFa 4 get div 1 add floor cvi
+ {PFa 4 get mul 0 M 0 PFs V} for
+ 0 PFa 6 get ne {
+ 0 1 PFs PFa 4 get div 1 add floor cvi
+ {PFa 4 get mul 0 2 1 roll M PFs 0 V} for
+ } if
+ stroke grestore} def
+%
+/languagelevel where
+ {pop languagelevel} {1} ifelse
+ 2 lt
+ {/InterpretLevel1 true def}
+ {/InterpretLevel1 Level1 def}
+ ifelse
+%
+% PostScript level 2 pattern fill definitions
+%
+/Level2PatternFill {
+/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8}
+ bind def
+/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke}
+>> matrix makepattern
+/Pat1 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke
+ 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke}
+>> matrix makepattern
+/Pat2 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L
+ 8 8 L 8 0 L 0 0 L fill}
+>> matrix makepattern
+/Pat3 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L
+ 0 12 M 12 0 L stroke}
+>> matrix makepattern
+/Pat4 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L
+ 0 -4 M 12 8 L stroke}
+>> matrix makepattern
+/Pat5 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L
+ 0 12 M 8 -4 L 4 12 M 10 0 L stroke}
+>> matrix makepattern
+/Pat6 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L
+ 0 -4 M 8 12 L 4 -4 M 10 8 L stroke}
+>> matrix makepattern
+/Pat7 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L
+ 12 0 M -4 8 L 12 4 M 0 10 L stroke}
+>> matrix makepattern
+/Pat8 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L
+ -4 0 M 12 8 L -4 4 M 8 10 L stroke}
+>> matrix makepattern
+/Pat9 exch def
+/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def
+/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def
+/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def
+/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def
+/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def
+/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def
+/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def
+} def
+%
+%
+%End of PostScript Level 2 code
+%
+/PatternBgnd {
+ TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse
+} def
+%
+% Substitute for Level 2 pattern fill codes with
+% grayscale if Level 2 support is not selected.
+%
+/Level1PatternFill {
+/Pattern1 {0.250 Density} bind def
+/Pattern2 {0.500 Density} bind def
+/Pattern3 {0.750 Density} bind def
+/Pattern4 {0.125 Density} bind def
+/Pattern5 {0.375 Density} bind def
+/Pattern6 {0.625 Density} bind def
+/Pattern7 {0.875 Density} bind def
+} def
+%
+% Now test for support of Level 2 code
+%
+Level1 {Level1PatternFill} {Level2PatternFill} ifelse
+%
+/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont
+dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall
+currentdict end definefont pop
+/MFshow {
+ { dup 5 get 3 ge
+ { 5 get 3 eq {gsave} {grestore} ifelse }
+ {dup dup 0 get findfont exch 1 get scalefont setfont
+ [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6
+ get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq
+ {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5
+ get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div
+ dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get
+ show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop
+ pop aload pop M} ifelse }ifelse }ifelse }
+ ifelse }
+ forall} def
+/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def
+/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse }
+ {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont
+ 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def
+/MLshow { currentpoint stroke M
+ 0 exch R
+ Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def
+/MRshow { currentpoint stroke M
+ exch dup MFwidth neg 3 -1 roll R
+ Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def
+/MCshow { currentpoint stroke M
+ exch dup MFwidth -2 div 3 -1 roll R
+ Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def
+/XYsave { [( ) 1 2 true false 3 ()] } bind def
+/XYrestore { [( ) 1 2 true false 4 ()] } bind def
+Level1 SuppressPDFMark or
+{} {
+/SDict 10 dict def
+systemdict /pdfmark known not {
+ userdict /pdfmark systemdict /cleartomark get put
+} if
+SDict begin [
+ /Title (example.ps)
+ /Subject (gnuplot plot)
+ /Creator (gnuplot 4.6 patchlevel 6)
+ /Author (kts)
+% /Producer (gnuplot)
+% /Keywords ()
+ /CreationDate (Wed Nov 12 16:21:20 2014)
+ /DOCINFO pdfmark
+end
+} ifelse
+end
+%%EndProlog
+%%Page: 1 1
+gnudict begin
+gsave
+doclip
+50 50 translate
+0.100 0.100 scale
+90 rotate
+0 -5040 translate
+0 setgray
+newpath
+(Helvetica) findfont 140 scalefont setfont
+BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {gsave BackgroundColor C clippath fill grestore} if
+1.000 UL
+LTb
+LCb setrgbcolor
+686 649 M
+63 0 V
+6198 0 R
+-63 0 V
+stroke
+602 649 M
+[ [(Helvetica) 140.0 0.0 true true 0 ( 0)]
+] -46.7 MRshow
+1.000 UL
+LTb
+LCb setrgbcolor
+686 1654 M
+63 0 V
+6198 0 R
+-63 0 V
+stroke
+602 1654 M
+[ [(Helvetica) 140.0 0.0 true true 0 ( 0.5)]
+] -46.7 MRshow
+1.000 UL
+LTb
+LCb setrgbcolor
+686 2660 M
+63 0 V
+6198 0 R
+-63 0 V
+stroke
+602 2660 M
+[ [(Helvetica) 140.0 0.0 true true 0 ( 1)]
+] -46.7 MRshow
+1.000 UL
+LTb
+LCb setrgbcolor
+686 3665 M
+63 0 V
+6198 0 R
+-63 0 V
+stroke
+602 3665 M
+[ [(Helvetica) 140.0 0.0 true true 0 ( 1.5)]
+] -46.7 MRshow
+1.000 UL
+LTb
+LCb setrgbcolor
+686 4670 M
+63 0 V
+6198 0 R
+-63 0 V
+stroke
+602 4670 M
+[ [(Helvetica) 140.0 0.0 true true 0 ( 2)]
+] -46.7 MRshow
+1.000 UL
+LTb
+LCb setrgbcolor
+686 448 M
+0 63 V
+0 4360 R
+0 -63 V
+stroke
+686 308 M
+[ [(Helvetica) 140.0 0.0 true true 0 ( 0)]
+] -46.7 MCshow
+1.000 UL
+LTb
+LCb setrgbcolor
+1938 448 M
+0 63 V
+0 4360 R
+0 -63 V
+stroke
+1938 308 M
+[ [(Helvetica) 140.0 0.0 true true 0 ( 2)]
+] -46.7 MCshow
+1.000 UL
+LTb
+LCb setrgbcolor
+3190 448 M
+0 63 V
+0 4360 R
+0 -63 V
+stroke
+3190 308 M
+[ [(Helvetica) 140.0 0.0 true true 0 ( 4)]
+] -46.7 MCshow
+1.000 UL
+LTb
+LCb setrgbcolor
+4443 448 M
+0 63 V
+0 4360 R
+0 -63 V
+stroke
+4443 308 M
+[ [(Helvetica) 140.0 0.0 true true 0 ( 6)]
+] -46.7 MCshow
+1.000 UL
+LTb
+LCb setrgbcolor
+5695 448 M
+0 63 V
+0 4360 R
+0 -63 V
+stroke
+5695 308 M
+[ [(Helvetica) 140.0 0.0 true true 0 ( 8)]
+] -46.7 MCshow
+1.000 UL
+LTb
+LCb setrgbcolor
+6947 448 M
+0 63 V
+0 4360 R
+0 -63 V
+stroke
+6947 308 M
+[ [(Helvetica) 140.0 0.0 true true 0 ( 10)]
+] -46.7 MCshow
+1.000 UL
+LTb
+LCb setrgbcolor
+1.000 UL
+LTb
+LCb setrgbcolor
+686 4871 N
+686 448 L
+6261 0 V
+0 4423 V
+-6261 0 V
+Z stroke
+LCb setrgbcolor
+112 2659 M
+currentpoint gsave translate -270 rotate 0 0 moveto
+[ [(Helvetica) 140.0 0.0 true true 0 (Height / m)]
+] -46.7 MCshow
+grestore
+LTb
+LCb setrgbcolor
+3816 98 M
+[ [(Helvetica) 140.0 0.0 true true 0 (Time / s)]
+] -46.7 MCshow
+LTb
+1.000 UP
+1.000 UL
+LTb
+LCb setrgbcolor
+% Begin plot #1
+1.000 UL
+LT0
+LC0 setrgbcolor
+/Helvetica findfont 140 scalefont setfont
+/vshift -46 def
+686 2660 M
+63 202 V
+63 201 V
+64 196 V
+63 191 V
+63 182 V
+63 173 V
+64 161 V
+63 147 V
+63 133 V
+63 116 V
+64 99 V
+63 81 V
+63 62 V
+63 41 V
+64 22 V
+63 1 V
+63 -20 V
+63 -39 V
+64 -60 V
+63 -79 V
+63 -97 V
+63 -115 V
+64 -131 V
+63 -146 V
+63 -159 V
+63 -172 V
+64 -181 V
+63 -190 V
+63 -196 V
+63 -200 V
+64 -203 V
+63 -203 V
+63 -201 V
+63 -197 V
+63 -191 V
+64 -183 V
+63 -174 V
+63 -162 V
+63 -149 V
+64 -134 V
+63 -118 V
+63 -101 V
+63 -83 V
+64 -63 V
+63 -44 V
+63 -24 V
+63 -3 V
+64 18 V
+63 37 V
+63 58 V
+63 77 V
+64 95 V
+63 113 V
+63 130 V
+63 144 V
+64 159 V
+63 170 V
+63 180 V
+63 189 V
+64 196 V
+63 200 V
+63 202 V
+63 203 V
+64 201 V
+63 198 V
+63 192 V
+63 184 V
+63 175 V
+64 163 V
+63 150 V
+63 136 V
+63 120 V
+64 103 V
+63 84 V
+63 66 V
+63 45 V
+64 26 V
+63 5 V
+63 -15 V
+63 -36 V
+64 -55 V
+63 -75 V
+63 -94 V
+63 -111 V
+64 -128 V
+63 -143 V
+63 -157 V
+63 -169 V
+64 -179 V
+63 -189 V
+63 -195 V
+63 -199 V
+64 -203 V
+63 -202 V
+63 -202 V
+63 -198 V
+64 -193 V
+63 -185 V
+63 -175 V
+% End plot #1
+stroke
+LTb
+LCb setrgbcolor
+686 4871 N
+686 448 L
+6261 0 V
+0 4423 V
+-6261 0 V
+Z stroke
+1.000 UP
+1.000 UL
+LTb
+LCb setrgbcolor
+stroke
+grestore
+end
+showpage
+%%Trailer
+%%DocumentFonts: Helvetica
+%%Pages: 1
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.
diff --git a/macros/latex/contrib/mnras/mnras.bst b/macros/latex/contrib/mnras/mnras.bst
new file mode 100644
index 0000000000..37ed25a32b
--- /dev/null
+++ b/macros/latex/contrib/mnras/mnras.bst
@@ -0,0 +1,1830 @@
+%%+
+%% Name:
+%% mnras.bst
+
+%% Purpose:
+%% BibTeX Bibliography style file for MNRAS
+
+%% Invocation:
+%% latex <latexfile>
+%% bibtex <latexfile>
+%% latex <latexfile>
+%% latex <latexfile>
+
+%% Description:
+%% Provides a bibliography style that will allow bibtex to be
+%% used when writing papers for MNRAS. This allows references
+%% to be inserted automatically.
+
+%% Notes:
+%% This file should be used in conjunction with the Monthly Notices
+%% LaTeX2e class file (mnras.cls).
+%%
+%% Hyperlinks:
+%% To make the eprint and doi bibtex fields hyperlinks, you need
+%% to have \usepackage{hyperref} in your latex preamble.
+
+%% Authors:
+%% John P. Sleath (MRAO)
+%% Tim Jenness (MRAO/JAC)
+%% Norman Gray (Glasgow University) <norman@astro.gla.ac.uk>
+%% Oren Patashnik
+%% Susan King
+%% Sake J. Hogeveen
+%% Philip Hall
+%% Simeon Bird
+
+%% Bugs:
+%% The formatting has been compared to the MN style, and is
+%% believed to be compatible with it. However this comparison has
+%% (for obvious reasons) been done most carefully for articles, so
+%% there may be deviations from it for other entry types.
+
+%% History:
+%% 1988 (Oren Patashnik and Susan King)
+%% Apalike.bst derived from the "alpha.bst" style.
+%% 1990 (Sake J. Hogeveen)
+%% Astron.bst derived from apalike.bst
+%% Summer 1995 (JPS/TJ):
+%% Extensively modified from astron.bst
+%% 19 Jul 1995 (JPS/TJ):
+%% First release (version 1.1b)
+%% 02 May 2001 (NG):
+%% Limit the author lists to eight people.
+%% 19 Jun 2001 (TJ):
+%% Fix inproceedings
+%% 30 Oct 2001 (NG):
+%% Adjust author-limiting to conform to MN style (version 1.2)
+%% 22 Sep 2012 (Philip Hall):
+%% Remove comma before et al when many authors.
+%% 01 July 2013 (Simeon Bird):
+%% Ported Antony Lewis' hyperlinked arxiv entry additions across.
+%% Originally modified for hyperlinked arxiv eprints by Antony Lewis April 2006
+%% August 2013 (NG):
+%% Fixed a/b/c... year suffixes -- these now appear in the
+%% correct order.
+%% February 2014 (TJ):
+%% Add MACROs for MN journal abbreviations
+%% May 2014 (NG):
+%% Shorten some functions, so that bibtex's 'single function
+%% space' parameter doesn't have to be above 100.
+%% Sep 2014 (Jared M. Gabor):
+%% Enabled ArXiv e-print identifier to be printed for articles that
+%% are pre-prints only (and have "ArXiv e-print" in the journal field).
+%% Still some problems with the use of commas. Only 1 comma will appear
+%% between the year and "arXiv..." for such preprints, but for e.g.
+%% conference precedings there may be no comma at all.
+%% 09 March 2015 (TJ):
+%% At the request of Keith Smith this file has been renamed to be mnras.bst
+%% to match the new naming convention for the MNRAS class file.
+%%
+%% License:
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are T. Jenness
+%% and Norman Gray <norman@astro.gla.ac.uk>
+%%
+%% This work consists of the file mnras.bst
+
+%% This file is maintained on Github: https://github.com/timj/mn2e-bst/
+%%-
+
+ENTRY
+ { address
+ doi
+ eprint
+ archiveprefix % used by ADS
+ 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
+ adsurl % for MN style
+ url
+ }
+ {}
+ { label extra.label sort.label presort.key }
+
+
+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 :=
+}
+
+% If threeauthorvar is set to #1 in initialise.mn2e, then the bibitem for a
+% three-author reference is generated using a \mniiiauthor command.
+% This command should be defined in the .cls file as follows:
+%
+% \def\mniiiauthor#1#2#3{%
+% \@ifundefined{mniiiauth@#1}
+% {\global\expandafter\let\csname mniiiauth@#1\endcsname\null #2}
+% {#3}}
+%
+% The effect of this is that the first time that \mniiiauthor{X}{a}{b}
+% is evaluated, it expands to 'a', and it thereafter expands to 'b'.
+% This implements the MN style guide stipulation that "For three
+% authors, give all three names at first mention, e.g. (Brown, Jones &
+% Smith 1994), but use first author et al. (in roman, not italic)
+% thereafter, e.g. (Brown et al. 1994)."
+%
+% The above definition consumes a command for each such author. It's
+% surely possible to avoid this (with some constructions involving
+% {\\#1}; see Appendix D cleverness), but that would verge on the
+% arcane, and not be really worth it.
+INTEGERS { maxauthors threeauthorvar }
+
+FUNCTION {initialise.mn2e}
+{
+ #8 'maxauthors :=
+ #0 'threeauthorvar :=
+}
+
+STRINGS { s t fmt sep }
+
+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
+}
+
+% output.nonnull.extra is like output.nonnull, except that the thing
+% we output is 'extra' to a block, so if we're in the after.block
+% state, we append it rather than starting a new block.
+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.nonnull.nocomma}
+{'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.nocomma}
+{ 't :=
+ duplicate$ empty$
+ 'pop$ % or warn with { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull.nocomma
+ 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.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ % debugging: define eg \def\logsortkey#1{{[\tiny #1]}} to see this
+ %"\logsortkey{" presort.key * "/" * sort.key$ * "}" * 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$
+}
+
+% Make hyperref links.
+% The LaTeX hyperref package supports a macro \href{URL}{text}
+%
+% On call, the stack contains
+% href-url
+% link-text
+FUNCTION {make.href.hyperref}
+{
+ "\href {" swap$ * "} {" * swap$ * "}" *
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+% Helper functions for print.all.names: print the last or 'others' name.
+%
+% On call, the stack contains
+% a formatted name,
+% and the built-up string of names so far.
+FUNCTION {print.all.names.plain.trailer}
+{ duplicate$ "others" =
+ { pop$ " et~al.," * }
+ { " " swap$ * * }
+ if$
+}
+
+% as above
+FUNCTION {print.all.names.label.trailer}
+{ duplicate$ "others" =
+ { pop$ " et~al." * }
+ { " \& " swap$ * * }
+ if$
+}
+
+% Print out the complete author list
+% (because we have maxauthors or fewer).
+%
+% On call, the stack contains
+% a format string (for format.name$),
+% a name-separator string (such as ", "),
+% an author or editor field,
+% and one of the 'trailer' functions above.
+FUNCTION {print.all.names}
+{ 'fmt :=
+ 'sep :=
+ 's :=
+ s num.names$ 'namesleft :=
+ namesleft #2 < % we're not going to need the trailer function, so discard it
+ 'pop$
+ 'skip$
+ if$
+ #1 'nameptr :=
+ { namesleft #0 > }
+ { s nameptr fmt format.name$ 't := % last name first
+ nameptr #1 >
+ { namesleft #1 >
+ { sep * t * }
+ { % namesleft == 1: this is the last name.
+ % Invoke the trailer function.
+ s num.names$ #2 > % _why_ do we add this extra space for long lists?
+ { " " * }
+ 'skip$
+ if$
+ % This next line is a bit clever.
+ %
+ % We start with a stack
+ % string containing the list of names so far
+ % trailer function
+ %
+ % Rearrange the stack so that we have
+ % 'skip
+ % trailer function
+ % #1
+ % t
+ % names so far
+ % then call if$. This is a rather indirect way of
+ % invoking the trailer function on the stack
+ % t
+ % names so far
+ %
+ % Ta dahhhh!
+ swap$ t swap$ #1 swap$ 'skip$ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+% Name formatting. According to the MN instructions for authors, `In
+% the references list [...] List all authors if eight or fewer,
+% otherwise et al.'. This means (according to a ruling from the MN
+% editors) that if there are eight or more authors, they should be
+% listed as "first one plus et al."
+%
+% On call, the stack contains
+% an author or editor field.
+FUNCTION {format.names}
+{ duplicate$ num.names$ maxauthors >
+ { % Too many authors -- format as First author et al.
+ #1 "{vv }{ll}{ jj}{ f., }" format.name$ % last name first
+ " et~al.," *
+ }
+ { 'print.all.names.plain.trailer swap$ " " "{vv }{ll}{ jj}{ f., }" print.all.names }
+ if$
+}
+
+% Format an author/editor field, for inclusion in a label
+% (ie, "Surname, Surname \& Surname")
+%
+% On call, the stack contains an author/editor field.
+FUNCTION {format.names.label}
+{ duplicate$ num.names$ maxauthors >
+ { % Too many authors -- format as First author et al.
+ #1 "{vv }{ll}{ jj}" format.name$ % last name first
+ " et~al.," *
+ }
+ { 'print.all.names.label.trailer swap$ ", " "{vv }{ll}" print.all.names }
+ if$
+}
+
+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.names
+ editor num.names$ #1 >
+ { " eds" * }
+ { " ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {format.eprint}
+{ eprint empty$
+ { "" }
+ { " (\mn@eprint {"
+ archiveprefix empty$
+ { "" }
+ { archiveprefix }
+ if$
+ * "} {" * eprint * "})" * }
+ if$
+}
+
+FUNCTION {format.doi}
+{ doi empty$
+ { "" }
+ { ", \mn@doi{" * doi * "}" }
+ 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$
+ { "" }
+ { "" series tie.or.space.connect
+ volume empty$
+ 'skip$
+ { " Vol. " * volume * }
+ 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$
+}
+
+% If a paper is available as a preprint only, ADS will call the
+% journal "ArXiv e-print". In this case MN suggests the journal
+% should be called "preprint".
+FUNCTION {format.journal.doi}
+{ doi empty$
+ { journal "ArXiv e-prints" =
+ { "preprint" }
+ { journal }
+ if$
+ }
+ { journal "ArXiv e-prints" =
+ { "preprint" }
+ { "\mn@doi [" journal * "] {" * doi * "}" * }
+ if$
+ }
+ 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 * }
+ { format.bvolume empty$
+ { "in " format.editors.extra * ", " * booktitle * }
+ { "in " format.editors.extra * ", " * format.bvolume * ", " * booktitle * }
+ if$
+ }
+ 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$
+}
+
+% the \url{} macro is supplied by hyperref
+FUNCTION {format.url}
+{
+ url empty$
+ { "" }
+ { "\url {" url * "}" * }
+ 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
+ % MN style does not display eprints or DOIs on published articles,
+ % but does link the journal name to any available DOI.
+ crossref missing$
+ { format.journal.doi "journal" output.check.extra
+ % ...and links volume and page information to any available adsurl
+ adsurl empty$
+ { format.vol.page }
+ { format.vol.page adsurl make.href.hyperref }
+ if$
+ output.extra
+ }
+ { format.article.crossref output.nonnull
+ format.page output
+ }
+ if$
+
+ % If the "journal" field is the arXiv, then print out the arXiv identifier
+ journal "ArXiv e-prints" =
+ { format.eprint "eprint" output.check.nocomma }
+ { }
+ 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$
+ format.eprint "eprint" output.check.nocomma
+ format.doi "doi" output.check.nocomma
+ format.url output
+ 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
+ format.eprint "eprint" output.check.nocomma
+ format.doi "doi" output.check.nocomma
+ format.url 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$
+ {
+ 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$
+ format.eprint "eprint" output.check.nocomma
+ format.doi "doi" output.check.nocomma
+ format.url output
+ 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
+ format.eprint "eprint" output.check.nocomma
+ format.doi "doi" output.check.nocomma
+ format.url 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
+ ". " *
+% format.bvolume output
+ before.all 'output.state :=
+ new.block
+% format.title "title" output.check
+ format.number.series output
+ new.block
+% organization output
+ publisher output
+ address output
+ format.pages output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.eprint "eprint" output.check.nocomma
+ format.doi "doi" output.check.nocomma
+ format.url output
+ 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
+ format.eprint "eprint" output.check.nocomma
+ format.doi "doi" output.check.nocomma
+ format.url 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
+ format.eprint "eprint" output.check.nocomma
+ format.doi "doi" output.check.nocomma
+ format.url output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for apalike
+ output.year.check
+ format.btitle output
+ howpublished output
+ format.eprint "eprint" output.check.nocomma
+ format.doi "doi" output.check.nocomma
+ format.url 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
+ format.eprint "eprint" output.check.nocomma
+ format.doi "doi" output.check.nocomma
+ format.url 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
+ format.eprint "eprint" output.check.nocomma
+ format.doi "doi" output.check.nocomma
+ format.url 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 output
+ new.block
+ institution "institution" output.check
+ address output
+ format.eprint "eprint" output.check.nocomma
+ format.doi "doi" output.check.nocomma
+ format.url 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
+ % the following are presumably redundant for 'unpublished'
+ format.eprint "eprint" output.check.nocomma
+ format.doi "doi" output.check.nocomma
+ format.url output
+ 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."}
+
+%% Journal macros for bib files. Should be kept synchronized with
+%% the entries in the class file.
+
+%% Astronomy and Astrophysics
+MACRO {aap} {"A\&A"}
+
+%% Astronomy and Astrophysics
+MACRO {astap} {"A\&A"}
+
+%% Astronomy and Astrophysics Review (the)
+MACRO {aapr} {"A\&ARv"}
+
+%% Astronomy and Astrophysics Supplement Series
+MACRO {aaps} {"A\&AS"}
+
+%% Acta Astronomica
+MACRO {actaa} {"Acta Astron."}
+
+%% Astrofizika
+MACRO {afz} {"Afz"}
+
+%% Astronomical Journal (the)
+MACRO {aj} {"AJ"}
+
+%% Applied Optics
+MACRO {ao} {"Appl. Opt."}
+
+%% Applied Optics
+MACRO {applopt} {"Appl. Opt."}
+
+%% Astrophysics Letters
+MACRO {aplett} {"Astrophys.~Lett."}
+
+%% Astrophysical Journal
+MACRO {apj} {"ApJ"}
+
+%% Astrophysical Journal, Letters
+MACRO {apjl} {"ApJ"}
+
+%% Astrophysical Journal, Letters
+MACRO {apjlett} {"ApJ"}
+
+%% Astrophysical Journal, Supplement
+MACRO {apjs} {"ApJS"}
+
+%% Astrophysical Journal, Supplement
+MACRO {apjsupp} {"ApJS"}
+
+%% Astrophysics and Space Science
+MACRO {apss} {"Ap\&SS"}
+
+%% Annual Review of Astronomy and Astrophysics
+MACRO {araa} {"ARA\&A"}
+
+%% Astronomicheskii Zhurnal
+MACRO {azh} {"Azh"}
+
+%% Bulletin of the American Astronomical Society
+MACRO {baas} {"BAAS"}
+
+%% Bulletin of the Astronomical Institutes of Czechoslovakia
+MACRO {bac} {"Bull. Astron. Inst. Czechoslovakia"}
+
+%% Bulletin Astronomical Institute of the Netherlands
+MACRO {bain} {"Bull. Astron. Inst. Netherlands"}
+
+%% Chinese Astronomy and Astrophysics
+MACRO {caa} {"Chinese Astron. Astrophys."}
+
+%% Chinese Journal of Astronomy and Astrophysics
+MACRO {cjaa} {"Chinese J.~Astron. Astrophys."}
+
+%% Fundamentals of Cosmic Physics
+MACRO {fcp} {"Fundamentals Cosmic Phys."}
+
+%% Geochimica Cosmochimica Acta
+MACRO {gca} {"Geochimica Cosmochimica Acta"}
+
+%% Geophysics Research Letters
+MACRO {grl} {"Geophys. Res. Lett."}
+
+%% IAU Cirulars
+MACRO {iaucirc} {"IAU~Circ."}
+
+%% Icarus
+MACRO {icarus} {"Icarus"}
+
+%% Journal of Astrophysics and Astronomy
+MACRO {japa} {"J.~Astrophys. Astron."}
+
+%% Journal of Cosmology and Astroparticle Physics
+MACRO {jcap} {"J.~Cosmology Astropart. Phys."}
+
+%% Journal of Chemical Physics
+MACRO {jcp} {"J.~Chem.~Phys."}
+
+%% Journal of Geophysics Research
+MACRO {jgr} {"J.~Geophys.~Res."}
+
+%% Journal of Quantitiative Spectroscopy and Radiative Transfer
+MACRO {jqsrt} {"J.~Quant. Spectrosc. Radiative Transfer"}
+
+%% Journal of the RAS of Canada
+MACRO {jrasc} {"J.~R.~Astron. Soc. Canada"}
+
+%% Memoirs of the RAS
+MACRO {memras} {"Mem.~RAS"}
+
+%% Memoire della Societa Astronomica Italiana
+MACRO {memsai} {"Mem. Soc. Astron. Italiana"}
+
+%% Monthly Notes of the Astronomical Society of Southern Africa
+MACRO {mnassa} {"MNASSA"}
+
+%% Monthly Notices of the Royal Astronomical Society
+MACRO {mnras} {"MNRAS"}
+
+%% New Astronomy
+MACRO {na} {"New~Astron."}
+
+%% New Astronomy Review
+MACRO {nar} {"New~Astron.~Rev."}
+
+%% Nature
+MACRO {nat} {"Nature"}
+
+%% Nuclear Physics A
+MACRO {nphysa} {"Nuclear Phys.~A"}
+
+%% Physical Review A: General Physics
+MACRO {pra} {"Phys. Rev.~A"}
+
+%% Physical Review B: Solid State
+MACRO {prb} {"Phys. Rev.~B"}
+
+%% Physical Review C
+MACRO {prc} {"Phys. Rev.~C"}
+
+%% Physical Review D
+MACRO {prd} {"Phys. Rev.~D"}
+
+%% Physical Review E
+MACRO {pre} {"Phys. Rev.~E"}
+
+%% Physical Review Letters
+MACRO {prl} {"Phys. Rev.~Lett."}
+
+%% Publications of the Astronomical Society of Australia
+MACRO {pasa} {"PASA"}
+
+%% Publications of the Astronomical Society of the Pacific
+MACRO {pasp} {"PASP"}
+
+%% Publications of the Astronomical Society of Japan
+MACRO {pasj} {"PASJ"}
+
+%% Physics Reports
+MACRO {physrep} {"Phys.~Rep."}
+
+%% Physica Scripta
+MACRO {physscr} {"Phys.~Scr."}
+
+%% Planetary Space Science
+MACRO {planss} {"Planet. Space~Sci."}
+
+%% Proceedings of the Society of Photo-Optical Instrumentation Engineers
+MACRO {procspie} {"Proc.~SPIE"}
+
+%% Revista Mexicana de Astronomia y Astrofisica
+MACRO {rmxaa} {"Rev. Mex. Astron. Astrofis."}
+
+%% Quarterly Journal of the RAS
+MACRO {qjras} {"QJRAS"}
+
+%% Science
+MACRO {sci} {"Science"}
+
+%% Sky and Telescope
+MACRO {skytel} {"Sky \& Telesc."}
+
+%% Solar Physics
+MACRO {solphys} {"Sol.~Phys."}
+
+%% Soviet Astronomy (aka Astronomy Reports)
+MACRO {sovast} {"Soviet~Ast."}
+
+%% Space Science Reviews
+MACRO {ssr} {"Space Sci. Rev."}
+
+%% Zeitschrift fuer Astrophysik
+MACRO {zap} {"Z.~Astrophys."}
+
+%% Astronomical Society of the Pacific Conference Series
+MACRO {aspconf} {"ASP Conf. Ser."}
+
+%% Astronomische Nachrichten
+MACRO {astnach} {"Astron. Nachr."}
+
+%% Astronomy & Computing
+MACRO {astcomp} {"Astron. Comput."}
+
+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.
+%
+% The goal here is to be compatible with the MN style prescription that:
+% If there are several references with the same first author,
+% arrange in the following order:
+% firstly single-author papers (by date);
+% then two-author papers (alphabetically by co-author, then by date);
+% then multi-author papers (by date).
+% We deem 'Jones and others' to be a multi-author paper, in this sense,
+% so that it sorts, by date, with the three-or-more author papers.
+% An alternative is to deem 'Jones and others' to sort just after the single-author papers
+% (this case isn't really covered by the above rules, but this position looks sensible);
+% we can get that by putting extra spaces before the 'et~al.', as noted below.
+% Note: we can't put arbitrary characters here, to force the order,
+% because the result of this function appears as the citation label in the typeset result.
+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." * } % <-----+-- alternate sortings
+ %{ " 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.label }
+ if$
+ }
+ { author format.names.label }
+ 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$
+}
+
+% Calculate the 'label' for the entry, which is used for sorting.
+% Note that this does not include the a/b/c... for disambiguating
+% years (that's added later, in forward.pass).
+FUNCTION {calc.label}
+{ % Define t: this is the 'full' set of names
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label.full
+ { type$ "proceedings" =
+ { editor format.names.label }
+ { author format.names.label }
+ if$
+ }
+ if$
+ 't :=
+ % Define s: this is the 'shortened' set of names, with 'et al.',
+ % which are to appear in citations
+ 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$
+ 's :=
+ % the '\protect... is for apalike
+ "\protect\citeauthoryear{" t * "}{" *
+ threeauthorvar
+ numnames #3 =
+ and
+ { "\protect\mniiiauthor{" cite$ * "}{" *
+ t * "}{" * s * "}" * }
+ { s }
+ if$
+ *
+ "}{" *
+ year field.or.null purify$ #-1 #4 substring$ % use 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$
+}
+
+% Format numbers (eg volume, number, pages) into a fixed-width string,
+% for sorting.
+FUNCTION {number.for.presort}
+{ field.or.null
+ duplicate$ text.length$ 'len :=
+ ""
+ { #5 len > }
+ { "0" *
+ len #1 + 'len := }
+ while$
+ swap$ *
+}
+
+% 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
+% presort.key, sort.label, and sort.key$
+FUNCTION {presort}
+{ calc.label
+ 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$
+ purify$ % remove {braces} round names, to avoid confusing sorting
+ " "
+ *
+ year number.for.presort *
+ #1 entry.max$ substring$
+ 'presort.key :=
+ presort.key
+ " "
+ *
+ % Style apalike prefers 'title field.or.null sort.format.title *' here.
+ % We don't, because we will predominantly be sorting articles in
+ % this style, and we don't include their titles in the final bibliography.
+ volume number.for.presort *
+ number number.for.presort *
+ pages empty$
+ { "0" }
+ { pages first.page.number }
+ if$
+ number.for.presort *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+ sort.key$ 'sort.label :=
+}
+
+EXECUTE {initialise.mn2e}
+
+ITERATE {presort}
+
+SORT % by label, sort.label, title---for final label calculation
+
+% Manage the construction of the 'extra' labels for references. These
+% are the a/b/c/... year suffixes which distinguish different
+% publications by the same author.
+%
+% These apalike labels are only for the text; the 'label' does not
+% appear in the bibiliography, so that the 'longest.label' variable is
+% unnecessary in this style.
+STRINGS { last.key next.extra }
+
+INTEGERS { last.extra.num }
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.key :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+% By the time that this function is iterated over, the entries have
+% had presort.key assigned, and have been presorted. However these labels
+% do not (by design) respect the presence of multiple entries in the
+% same year, so that there are duplicates. Detect successive
+% duplicates, and add an extra a/b/c... suffix.
+%
+% At the end of this forward.pass, each entry with a duplicate presort.key
+% will have an extra.label, starting with 'b' for the first duplicate,
+% 'c' for the second, and so on. That is, only the first
+% soon-to-be-discovered-to-be-duplicate label will not have an
+% extra.label.
+FUNCTION {forward.pass}
+{ last.key presort.key =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { % first time we've seen this key
+ "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ presort.key 'last.key :=
+ }
+ if$
+}
+
+% Work back through the labels. If, on this pass we discover that the
+% next entry in the sequence (which is the last entry processed in
+% this reverse pass) had an extra.label of 'b', then this tells us
+% that _this_ entry should have an extra.label of 'a', which we were
+% unable to detect in the forward.pass above.
+%
+% We also close the brace pair {...} opened in calc.label
+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. We sort on sort.label
+% then year then title. Since sort.label starts with presort.key,
+% this sorting is compatible with the letter suffixes added to years.
+%
+% 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
+ "\makeatletter" write$ newline$
+ % The following is the contents of mnras-insert.sty, minus comments and whitespace.
+ % DO NOT EDIT THIS TEXT,
+ % but instead make mnras-insert.txt, and paste the results in here.
+"\relax" write$ newline$
+"\def\mn@urlcharsother{\let\do\@makeother \do\$\do\&\do\#\do\^\do\_\do\%\do\~}" write$ newline$
+"\def\mn@doi{\begingroup\mn@urlcharsother \@ifnextchar [ {\mn@doi@} {\mn@doi@[]}}" write$ newline$
+"\def\mn@doi@[#1]#2{\def\@tempa{#1}\ifx\@tempa\@empty \href {http://dx.doi.org/#2} {doi:#2}\else \href {http://dx.doi.org/#2} {#1}\fi \endgroup}" write$ newline$
+"\def\mn@eprint#1#2{\mn@eprint@#1:#2::\@nil}" write$ newline$
+"\def\mn@eprint@arXiv#1{\href {http://arxiv.org/abs/#1} {{\tt arXiv:#1}}}" write$ newline$
+"\def\mn@eprint@dblp#1{\href {http://dblp.uni-trier.de/rec/bibtex/#1.xml} {dblp:#1}}" write$ newline$
+"\def\mn@eprint@#1:#2:#3:#4\@nil{\def\@tempa {#1}\def\@tempb {#2}\def\@tempc {#3}\ifx \@tempc \@empty \let \@tempc \@tempb \let \@tempb \@tempa \fi \ifx \@tempb \@empty \def\@tempb {arXiv}\fi \@ifundefined {mn@eprint@\@tempb}{\@tempb:\@tempc}{\expandafter \expandafter \csname mn@eprint@\@tempb\endcsname \expandafter{\@tempc}}}" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\makeatother" write$ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/macros/latex/contrib/mnras/mnras.cls b/macros/latex/contrib/mnras/mnras.cls
new file mode 100644
index 0000000000..2850b098be
--- /dev/null
+++ b/macros/latex/contrib/mnras/mnras.cls
@@ -0,0 +1,1809 @@
+% mnras.cls
+%
+% MNRAS journal document class file
+% v3.0 for LaTeX 2e
+%
+% Copyright (C) Royal Astronomical Society 2015, Blackwell Science 2001,
+% Cambridge University Press 1994
+%
+% Authors:
+% David Rhead, Springer Verlag, M. Reed, Sue Brooks, Alison Woollatt,
+% Mark Reed, Nadine Thompson, John Thompson, David Evans, Keith T. Smith,
+% Norman Gray
+%
+% For a full change log see the end of this file.
+% See mnras_guide for a user guide
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `author-maintained'.
+%
+% The Current Maintainer of this work is: Royal Astronomical Society,
+% MNRAS Editorial Office, who can be contacted on mn@ras.org.uk
+%
+% This work consists of all the files listed in readme.txt
+
+
+% Preamble to this style file
+
+\def\@version{3.0}
+\def\@releasedate{2015/05/22}
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{mnras}[\@releasedate\ v\@version\ LaTeX2e MNRAS document class]
+
+\typeout{MNRAS document style v\@version, released \@releasedate}
+
+% 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{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}
+%
+
+% Prevent fleqn throwing an 'unknown option' warning
+\newif\if@fleqn
+\def\ds@fleqn{\@fleqntrue}
+
+% Silently execute these options. I'm not convinced this actually does anything.
+\ExecuteOptions{a4paper,twoside,final,fleqn}
+
+% Throw warning if the user tries to use US Letter paper
+\newif\if@letterpaper
+\def\ds@letterpaper{\PackageWarning{mnras}{MNRAS uses A4 paper, option 'letterpaper' is ignored}}
+
+% Error message for unknown options
+\DeclareOption*{\PackageWarning{mnras}{Unknown option `\CurrentOption'}}
+
+\ProcessOptions\relax
+
+% Before we do anything else with layout, ensure that the paper is A4
+\usepackage[a4paper]{geometry}
+
+% Fix several errors with LaTeX2e, including 2-column floats out of order
+\usepackage{fixltx2e}
+
+% Include hyperref, so we can have clickable links
+\usepackage{hyperref} % Hyperlinks
+\hypersetup{colorlinks=true,linkcolor=blue,citecolor=blue,filecolor=blue,urlcolor=blue}
+
+%
+% ****************************************
+% * Font sizes *
+% ****************************************
+% Note these are misleadingly named - most text is not in \normalsize etc.
+
+\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{\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}$}}
+
+\newcommand\micron{\hbox{$\umu$m}}
+\newcommand\ion[2]{\text{#1\,\textsc{\lowercase{#2}}}} % ionization states
+
+% Standard journal abbreviations
+% Mostly as used by ADS, with a few additions for journals where MNRAS does not
+% follow normal IAU style.
+
+\newcommand\aap{A\&A} % Astronomy and Astrophysics
+\let\astap=\aap % alternative shortcut
+\newcommand\aapr{A\&ARv} % Astronomy and Astrophysics Review (the)
+\newcommand\aaps{A\&AS} % Astronomy and Astrophysics Supplement Series
+\newcommand\actaa{Acta Astron.} % Acta Astronomica
+\newcommand\afz{Afz} % Astrofizika
+\newcommand\aj{AJ} % Astronomical Journal (the)
+\newcommand\ao{Appl. Opt.} % Applied Optics
+\let\applopt=\ao % alternative shortcut
+\newcommand\aplett{Astrophys.~Lett.} % Astrophysics Letters
+\newcommand\apj{ApJ} % Astrophysical Journal
+\newcommand\apjl{ApJ} % Astrophysical Journal, Letters
+\let\apjlett=\apjl % alternative shortcut
+\newcommand\apjs{ApJS} % Astrophysical Journal, Supplement
+\let\apjsupp=\apjs % alternative shortcut
+% The following journal does not appear to exist! Disabled.
+%\newcommand\apspr{Astrophys.~Space~Phys.~Res.} % Astrophysics Space Physics Research
+\newcommand\apss{Ap\&SS} % Astrophysics and Space Science
+\newcommand\araa{ARA\&A} % Annual Review of Astronomy and Astrophysics
+\newcommand\arep{Astron. Rep.} % Astronomy Reports
+\newcommand\aspc{ASP Conf. Ser.} % ASP Conference Series
+\newcommand\azh{Azh} % Astronomicheskii Zhurnal
+\newcommand\baas{BAAS} % Bulletin of the American Astronomical Society
+\newcommand\bac{Bull. Astron. Inst. Czechoslovakia} % Bulletin of the Astronomical Institutes of Czechoslovakia
+\newcommand\bain{Bull. Astron. Inst. Netherlands} % Bulletin Astronomical Institute of the Netherlands
+\newcommand\caa{Chinese Astron. Astrophys.} % Chinese Astronomy and Astrophysics
+\newcommand\cjaa{Chinese J.~Astron. Astrophys.} % Chinese Journal of Astronomy and Astrophysics
+\newcommand\fcp{Fundamentals Cosmic Phys.} % Fundamentals of Cosmic Physics
+\newcommand\gca{Geochimica Cosmochimica Acta} % Geochimica Cosmochimica Acta
+\newcommand\grl{Geophys. Res. Lett.} % Geophysics Research Letters
+\newcommand\iaucirc{IAU~Circ.} % IAU Cirulars
+\newcommand\icarus{Icarus} % Icarus
+\newcommand\japa{J.~Astrophys. Astron.} % Journal of Astrophysics and Astronomy
+\newcommand\jcap{J.~Cosmology Astropart. Phys.} % Journal of Cosmology and Astroparticle Physics
+\newcommand\jcp{J.~Chem.~Phys.} % Journal of Chemical Physics
+\newcommand\jgr{J.~Geophys.~Res.} % Journal of Geophysics Research
+\newcommand\jqsrt{J.~Quant. Spectrosc. Radiative Transfer} % Journal of Quantitiative Spectroscopy and Radiative Transfer
+\newcommand\jrasc{J.~R.~Astron. Soc. Canada} % Journal of the RAS of Canada
+\newcommand\memras{Mem.~RAS} % Memoirs of the RAS
+\newcommand\memsai{Mem. Soc. Astron. Italiana} % Memoire della Societa Astronomica Italiana
+\newcommand\mnassa{MNASSA} % Monthly Notes of the Astronomical Society of Southern Africa
+\newcommand\mnras{MNRAS} % Monthly Notices of the Royal Astronomical Society
+\newcommand\na{New~Astron.} % New Astronomy
+\newcommand\nar{New~Astron.~Rev.} % New Astronomy Review
+\newcommand\nat{Nature} % Nature
+\newcommand\nphysa{Nuclear Phys.~A} % Nuclear Physics A
+\newcommand\pra{Phys. Rev.~A} % Physical Review A: General Physics
+\newcommand\prb{Phys. Rev.~B} % Physical Review B: Solid State
+\newcommand\prc{Phys. Rev.~C} % Physical Review C
+\newcommand\prd{Phys. Rev.~D} % Physical Review D
+\newcommand\pre{Phys. Rev.~E} % Physical Review E
+\newcommand\prl{Phys. Rev.~Lett.} % Physical Review Letters
+\newcommand\pasa{Publ. Astron. Soc. Australia} % Publications of the Astronomical Society of Australia
+\newcommand\pasp{PASP} % Publications of the Astronomical Society of the Pacific
+\newcommand\pasj{PASJ} % Publications of the Astronomical Society of Japan
+\newcommand\physrep{Phys.~Rep.} % Physics Reports
+\newcommand\physscr{Phys.~Scr.} % Physica Scripta
+\newcommand\planss{Planet. Space~Sci.} % Planetary Space Science
+\newcommand\procspie{Proc.~SPIE} % Proceedings of the Society of Photo-Optical Instrumentation Engineers
+\newcommand\rmxaa{Rev. Mex. Astron. Astrofis.} % Revista Mexicana de Astronomia y Astrofisica
+\newcommand\qjras{QJRAS} % Quarterly Journal of the RAS
+\newcommand\sci{Science} % Science
+\newcommand\skytel{Sky \& Telesc.} % Sky and Telescope
+\newcommand\solphys{Sol.~Phys.} % Solar Physics
+\newcommand\sovast{Soviet~Ast.} % Soviet Astronomy (aka Astronomy Reports)
+\newcommand\ssr{Space Sci. Rev.} % Space Science Reviews
+\newcommand\zap{Z.~Astrophys.} % Zeitschrift fuer Astrophysik
+
+%%%Command to produce a box around selected text
+%%%NB This is for use in the file mnras_guide 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.
+
+% Removed - \numberwithin{equation}{section} already does this!
+
+% ****************************************
+% * 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}
+ \renewcommand{\theHsection}{A\arabic{section}} % for hyperref links
+}
+
+% ****************************************
+% * 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{Preprint \tod@y\
+ \qquad\qquad\qquad Compiled using MNRAS \LaTeX\ style file v\@version} % manual spacing isn't ideal
+\else
+ \def\@printed{}
+\fi
+\gdef\@journal{{MNRAS} {\bf \@volume}, \@pagerange\
+% (\number\year) \@microfiche\@printed}
+ (\@pubyear) \@microfiche \hfill \@printed}
+%
+% \ps@empty and \ps@plain defined in LATEX.TEX
+%
+\def\@ddell{}
+\if@letters
+ \def\@ddell{L}
+\fi
+
+% Headers and footers
+
+\def\ps@headings{\let\@mkboth\markboth
+ \def\@oddhead{\Large\hfill{\it\@shorttitle}\hspace{1.5em}%
+ \rm\@ddell\thepage}
+ \def\@oddfoot{\small MNRAS {\bf \@volume}, \@pagerange\ (\@pubyear)\hfil}
+ \def\@evenhead{\Large\@ddell\thepage\hspace{1.5em}\it\@shortauthor\hfill}
+ \def\@evenfoot{\hfil\small MNRAS {\bf \@volume}, \@pagerange\ (\@pubyear)}
+ \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 MNRAS {\bf \@volume}, \@pagerange\ (\@pubyear)\hfil}
+ \def\@evenhead{\Large\@ddell\thepage\hspace{1.5em}\it\leftmark\hfill}
+ \def\@evenfoot{\hfil\small MNRAS {\bf \@volume}, \@pagerange\ (\@pubyear)}
+ \def\sectionmark##1{}
+ \def\subsectionmark##1{}}
+
+\def\ps@titlepage{\let\@mkboth\@gobbletwo
+ \def\@oddhead{\footnotesize\@journal}
+ \def\@oddfoot{\small\copyright\ \@pubyear\ The Authors\hfil}
+ \def\@evenhead{\footnotesize\@journal\hfill}
+ \def\@evenfoot{\hfil\small\copyright\ \@pubyear\ The Authors}
+ \def\sectionmark##1{}
+ \def\subsectionmark##1{}}
+
+\def\ps@plate{\let\@mkboth\@gobbletwo
+ \def\@oddhead{\footnotesize\pl@te\hfill}
+ \def\@oddfoot{\small MNRAS {\bf \@volume}, \@pagerange\ (\@pubyear)\hfil}
+ \def\@evenhead{\footnotesize\pl@te\hfill}
+ \def\@evenfoot{\hfil\small MNRAS {\bf \@volume}, \@pagerange\ (\@pubyear)}
+}
+
+% ****************************************
+% * 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 *
+% ****************************************
+%
+
+\def\thebibliography#1{\section*{REFERENCES}
+ \addcontentsline{toc}{section}{REFERENCES}
+ % KTS: most of this stuff gets over-written by natbib below, so
+ % I don't think it does anything.
+ \newcounter{dummy}
+ \list{}{\usecounter{dummy}%
+ \labelwidth \z@
+ \leftmargin 0em %1.5em
+ \bibhang \z@
+ \itemsep \z@
+ \itemindent-\leftmargin}
+ \reset@font\footnotesize
+ \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
+
+% Natbib has overwritten a bunch of settings, so redfine them
+% Works both with and without natbib (in theory)
+\let\originalbib\thebibliography
+\renewcommand{\thebibliography}{\labelwidth \z@ \bibhang 1.5em \footnotesize \originalbib}
+% The typesetters actually use a 12pt bibhang, but with 8pt text this is 1.5em
+
+% new column specifiers to be used with dcolumn
+\if@usedcolumn%
+ \usepackage{dcolumn}
+ \newcolumntype{d}[1]{D{.}{.}{#1}}
+ \newcolumntype{.}{D{.}{.}{-1}}
+ \newcolumntype{,}{D{,}{,}{2}}
+\fi
+
+
+% ****************************************
+% * COMMANDS FOR USE WITH MNRAS.BST *
+% ****************************************
+%
+% The following three macros provide auxiliary support for the BibTeX
+% wranglings in mnras.bst. They provide support for functionality
+% which it is impossible, or at least unmaintainably arcane, to
+% provide within BibTeX Style Language.
+%
+% These definitions can be loaded as a package or, probably better,
+% should be incorporated into a mnras.cls file.
+%
+% These depend on the presence of a \href{URL}{text} macro, as
+% provided by the hyperref package. The mnras.bst style depends
+% additionally on the \url{URL} macro, which hyperref also provides.
+%
+% If the hyperref package is not included, then suitable defaults are
+%
+% \def\href#1#2{#2}
+% \def\@url#1{#1\endgroup}
+% \def\url{\begingroup\@urlcharsother \ttfamily \@url}
+%
+% These must appear _after_ this package is loaded, and should appear
+% _instead_ of loading the hyperref package (it'll probably be OK to
+% let the hyperref package redefine these, but that is to tempt fate).
+
+
+% \@urlcharsother
+%
+% 'Other' some characters which may appear in DOIs and URIs.
+%
+% All of the characters here may appear in URIs, except for '^' and '\'.
+%
+% There appear to be almost no restrictions on what characters appear
+% in DOIs (or at least none discovereable in ISO 26324:2012, which
+% says simply that the 'DOI suffix' is "a character string of any
+% length". A DOI registrant which uses characters outside ASCII plus
+% the following set, is a DOI registrant who should be taken outside
+% and challenged on their taste.
+%
+% The following list is not simply \dospecials, because that includes
+% '{' and '}', which we need. And if they're in a DOI... well.
+\def\@urlcharsother{%
+ \let\do\@makeother
+ \do\\\do\$\do\&\do\#\do\^\do\_\do\%\do\~}
+
+% \doi
+%
+% \doi{10.foo} formats the DOI in the argument, and provides a link to dx.doi.org.
+% \doi[text]{10.foo} formats the DOI 10.foo, but provides 'text' as the link.
+% The DOI can contain {\$&#^_%~} (though there's not necessarily a
+% guarantee that these will still work as URL characters within the PDF)
+\def\doi{\begingroup
+ \@urlcharsother
+ \@ifnextchar[%
+ {\@doi}
+ {\@doi[]}}
+\def\@doi[#1]#2{%
+ \def\@tempa{#1}%
+ \ifx\@tempa\@empty
+ \href{http://dx.doi.org/#2}{doi:#2}%
+ \else
+ \href{http://dx.doi.org/#2}{#1}%
+ \fi
+ \endgroup
+ }
+
+% \eprint
+%
+% \eprint{defaultArchivePrefix}{id} expands to a link to the given ID
+% at a suitable archive. The 'id' can be either a bare ID (such as
+% yymm.1234) for arXiv, or can include an archive prefix. If there is
+% no prefix in the 'id', then 'defaultArchivePrefix' supplies a default.
+%
+% Thus
+% \eprint{}{arXiv:yymm.1234} -> \href{http://arxiv.org/abs/yymm.1234}{arXiv:yymm.1234}
+% \eprint{}{yymm.1234} -> same as \eprint{}{arXiv:yymm.1234}
+% \eprint{arXiv}{arXiv:yymm.1234} -> same
+% \eprint{dblp}{1234} -> \href{http://dblp.uni-trier.de/rec/bibtex/1234.xml}{dblp:1234}
+% \eprint{dblp}{arXiv:yymm.1234} -> same as \eprint{}{arXiv:yymm.1234}
+% \eprint{}{wibble:1234} -> wibble:1234 (doesn't match anything)
+%
+% A prefix 'PFX' is 'registered' by defining a macro
+% \@eprint@PFX#1{...} which formats the identifier (that is, \eprint's
+% second argument _minus_ any colon-terminated prefix).
+\def\eprint#1#2{%
+ \@eprint#1:#2::\@nil}
+\def\@eprint@arXiv#1{\href{http://arxiv.org/abs/#1}{{\tt arXiv:#1}}}
+\def\@eprint@dblp#1{\href{http://dblp.uni-trier.de/rec/bibtex/#1.xml}{dblp:#1}}
+\def\@eprint#1:#2:#3:#4\@nil{%
+ \def\@tempa{#1}%
+ \def\@tempb{#2}%
+ \def\@tempc{#3}%
+ \ifx\@tempc\@empty
+ \let\@tempc\@tempb
+ \let\@tempb\@tempa
+ \fi
+ \ifx\@tempb\@empty
+ % default to arXiv
+ \def\@tempb{arXiv}%
+ \fi
+ % If \@tempb is a 'recognised' prefix, then call it, otherwise, just
+ % print prefix:id and be done with it. A prefix is 'recognised' if
+ % there's a macro \@eprint@<prefix>.
+ \@ifundefined{@eprint@\@tempb}
+ {\@tempb:\@tempc}
+ % or call macro '@eprint@\@tempb' on the argument \@tempc
+ {\expandafter\expandafter\csname @eprint@\@tempb\endcsname\expandafter{\@tempc}}%
+ }
+
+% \mniiiauthor
+%
+% The following implements the three-author-hack described in mnras.bst.
+%
+% This consumes a command for each such author. It's surely possible
+% to avoid this (with some constructions involving {\\#1}; see
+% Appendix D cleverness), but that would verge on the unmaintanably
+% arcane, and not really be worth it.
+\def\mniiiauthor#1#2#3{%
+ \@ifundefined{mniiiauth@#1}
+ {\global\expandafter\let\csname mniiiauth@#1\endcsname\null #2}
+ {#3}}
+
+
+% ****************************************
+% * 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 *
+% ****************************************
+%
+% Settings for how much of the page can be used for floats
+\setcounter{topnumber}{4}
+\def\topfraction{0.9}
+\setcounter{bottomnumber}{2}
+\def\bottomfraction{0.5}
+\setcounter{dbltopnumber}{3} % two-column floats
+\def\dbltopfraction{0.9}
+\setcounter{totalnumber}{4}
+\def\textfraction{0.1}
+\def\floatpagefraction{0.9}
+\def\dblfloatpagefraction{0.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 *
+% ****************************************
+%
+% KTS: I'm not convinced that any of these are still used, but will avoid
+% deleting them just in case.
+%
+% 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}
+
+% Typesetting note at the end of the article
+\def\bsp{\vspace{0.5cm}\reset@font\footnotesize\noindent This paper
+has been typeset from a \TeX/\LaTeX\ file prepared by the author.}
+
+
+
+% ****************************************
+% * 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
+
+
+% ****************************************
+% * Change log *
+% ****************************************
+
+
+% 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. Updates by Keith T. Smith 2013.
+%
+% > 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.
+% v2.3b Keith T. Smith (Royal Astronomical Society)
+% September 2013
+% Beta testing only - never publicly released
+% First update in over a decade
+% Now requires the 'geometry' package to enforce A4 paper
+% Now requires the 'fixltx2e' package to fix float ordering
+% Now requires the 'hyperref' package for clickable links
+% Updated headers and footers, and typesetting of reference list
+% Removed the fleqn code in this file, which didn't do anything
+% Added definitions for journal abbreviations used by ADS
+% Define a \ion command for ionization states
+% Added commands used by the new version
+% of the .bst file (code by Norman Gray)
+% Now licensed under LPPL, comments updated accordingly
+% Various minor tweaks and updates
+% v3.0 Keith T. Smith (Royal Astronomical Society)
+% May 2015
+% Package renamed from 'mn2e' to 'mnras' after
+% discussion with the TeX Users Group
+% Numerous small tweaks and improvements following testing
+
+% end of mnras.cls \ No newline at end of file
diff --git a/macros/latex/contrib/mnras/mnras_guide.pdf b/macros/latex/contrib/mnras/mnras_guide.pdf
new file mode 100644
index 0000000000..09edd91929
--- /dev/null
+++ b/macros/latex/contrib/mnras/mnras_guide.pdf
Binary files differ
diff --git a/macros/latex/contrib/mnras/mnras_guide.tex b/macros/latex/contrib/mnras/mnras_guide.tex
new file mode 100644
index 0000000000..fe1fe8b3e2
--- /dev/null
+++ b/macros/latex/contrib/mnras/mnras_guide.tex
@@ -0,0 +1,859 @@
+% mnras_guide.tex
+%
+% MNRAS LaTeX user guide
+%
+% v3.0 released 22 May 2015
+% (version numbers match those of mnras.cls)
+%
+% Copyright (C) Royal Astronomical Society 2015
+% Authors:
+% Keith T. Smith (Royal Astronomical Society)
+
+% Change log
+%
+% v3.0 September 2013 - May 2015
+% First version: complete rewrite of the user guide
+% Basic structure taken from mnras_template.tex by the same author
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Basic setup. Most papers should leave these options alone.
+\documentclass[a4paper,fleqn,usenatbib,useAMS]{mnras}
+
+%%%%% AUTHORS - PLACE YOUR OWN PACKAGES HERE %%%%%
+
+% Only include extra packages if you really need them. Common packages are:
+\usepackage{graphicx} % Including figure files
+\usepackage{amsmath} % Advanced maths commands
+\usepackage{amssymb} % Extra maths symbols
+\usepackage{multicol} % Multi-column entries in tables
+\usepackage{bm} % Bold maths symbols, including upright Greek
+\usepackage{pdflscape} % Landscape pages
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%% AUTHORS - PLACE YOUR OWN MACROS HERE %%%%%%
+
+% Please keep new commands to a minimum, and use \newcommand not \def to avoid
+% overwriting existing commands. Example:
+%\newcommand{\pcm}{\,cm$^{-2}$} % per cm-squared
+\newcommand{\kms}{\,km\,s$^{-1}$} % kilometres per second
+\newcommand{\bibtex}{\textsc{Bib}\!\TeX} % bibtex. Not quite the correct typesetting, but close enough
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+% Use vector fonts, so it zooms properly in on-screen viewing software
+% Don't change these lines unless you know what you are doing
+\usepackage[T1]{fontenc}
+\usepackage{ae,aecompl}
+
+% MNRAS is set in Times font. If you don't have this installed (most LaTeX
+% installations will be fine) or prefer the old Computer Modern fonts, comment
+% out the following line
+\usepackage{newtxtext,newtxmath}
+% Depending on your LaTeX fonts installation, you might get better results with one of these:
+%\usepackage{mathptmx}
+%\usepackage{txfonts}
+
+%%%%%%%%%%%%%%%%%%% TITLE PAGE %%%%%%%%%%%%%%%%%%%
+
+% Title of the paper, and the short title which is used in the headers.
+% Keep the title short and informative.
+\title[MNRAS \LaTeX\ guide for authors]{\textit{Monthly Notices of the Royal Astronomical
+ Society}: \\ \LaTeX\ guide for authors}
+
+% The list of authors, and the short list which is used in the headers.
+% If you need two or more lines of authors, add an extra line using \newauthor
+\author[K. T. Smith]{Keith T. Smith$^{1}$\thanks{Contact e-mail: \href{mailto:mn@ras.org.uk}{mn@ras.org.uk}}\thanks{Present address: Science magazine, AAAS Science International, \mbox{82-88}~Hills Road, Cambridge CB2~1LQ, UK}
+\\
+% List of institutions
+$^{1}$Royal Astronomical Society, Burlington House, Piccadilly, London W1J 0BQ, UK}
+
+% These dates will be filled out by the publisher
+\date{Last updated 2015 May 22; in original form 2013 September 5}
+
+% Enter the current year, for the copyright statements etc.
+\pubyear{2015}
+
+% Don't change these lines
+\begin{document}
+\label{firstpage}
+\pagerange{\pageref{firstpage}--\pageref{lastpage}}
+\maketitle
+
+% Abstract of the paper
+\begin{abstract}
+This is a guide for preparing papers for \textit{Monthly Notices of the Royal Astronomical Society} using the \verb'mnras' \LaTeX\ package.
+It provides instructions for using the additional features in the document class.
+This is not a general guide on how to use \LaTeX, and nor does it replace the journal's instructions to authors.
+See \texttt{mnras\_template.tex} for a simple template.
+\end{abstract}
+
+% Select between one and six entries from the list of approved keywords.
+% Don't make up new ones.
+\begin{keywords}
+editorials, notices -- miscellaneous
+\end{keywords}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%% BODY OF PAPER %%%%%%%%%%%%%%%%%%
+
+% The MNRAS class isn't designed to include a table of contents, but for this document one is useful.
+% I therefore have to do some kludging to make it work without masses of blank space.
+\begingroup
+\let\clearpage\relax
+\tableofcontents
+\endgroup
+\newpage
+
+\section{Introduction}
+
+The journal \textit{Monthly Notices of the Royal Astronomical Society} (MNRAS) encourages authors to prepare their papers using \LaTeX.
+The style file \verb'mnras.cls' can be used to approximate the final appearance of the journal, and provides numerous features to simplify the preparation of papers.
+This document, \verb'mnras_guide.tex', provides guidance on using that style file and the features it enables.
+
+This is not a general guide on how to use \LaTeX, of which many excellent examples already exist.
+We particularly recommend \textit{Wikibooks \LaTeX}\footnote{\url{https://en.wikibooks.org/wiki/LaTeX}}, a collaborative online textbook which is of use to both beginners and experts.
+Alternatively there are several other online resources, and most academic libraries also hold suitable beginner's guides.
+
+For guidance on the contents of papers, journal style, and how to submit a paper, see the MNRAS Instructions to Authors\footnote{\label{foot:itas}\url{http://www.oxfordjournals.org/our_journals/mnras/for_authors/}}.
+Only technical issues with the \LaTeX\ class are considered here.
+
+
+\section{Obtaining and installing the MNRAS package}
+Some \LaTeX\ distributions come with the MNRAS package by default.
+If yours does not, you can either install it using your distribution's package manager, or download it from the Comprehensive \TeX\ Archive Network\footnote{\url{http://www.ctan.org/tex-archive/macros/latex/contrib/mnras}} (CTAN).
+
+The files can either be installed permanently by placing them in the appropriate directory (consult the documentation for your \LaTeX\ distribution), or used temporarily by placing them in the working directory for your paper.
+
+To use the MNRAS package, simply specify \verb'mnras' as the document class at the start of a \verb'.tex' file:
+
+\begin{verbatim}
+\documentclass{mnras}
+\end{verbatim}
+Then compile \LaTeX\ (and if necessary \bibtex) in the usual way.
+
+\section{Preparing and submitting a paper}
+We recommend that you start with a copy of the \texttt{mnras\_template.tex} file.
+Rename the file, update the information on the title page, and then work on the text of your paper.
+Guidelines for content, style etc. are given in the instructions to authors on the journal's website$^{\ref{foot:itas}}$.
+Note that this document does not follow all the aspects of MNRAS journal style (e.g. it has a table of contents).
+
+If a paper is accepted, it is professionally typeset and copyedited by the publishers.
+It is therefore likely that minor changes to presentation will occur.
+For this reason, we ask authors to ignore minor details such as slightly long lines, extra blank spaces, or misplaced figures, because these details will be dealt with during the production process.
+
+Papers must be submitted electronically via the online submission system; paper submissions are not permitted.
+For full guidance on how to submit a paper, see the instructions to authors.
+
+\section{Class options}
+\label{sec:options}
+There are several options which can be added to the document class line like this:
+
+\begin{verbatim}
+\documentclass[option1,option2]{mnras}
+\end{verbatim}
+The available options are:
+\begin{itemize}
+\item \verb'letters' -- used for papers in the journal's Letters section.
+\item \verb'onecolumn' -- single column, instead of the default two columns. This should be used {\it only} if necessary for the display of numerous very long equations.
+\item \verb'doublespacing' -- text has double line spacing. Please don't submit papers in this format.
+\item \verb'referee' -- \textit{(deprecated)} single column, double spaced, larger text, bigger margins. Please don't submit papers in this format.
+\item \verb'galley' -- \textit{(deprecated)} no running headers, no attempt to align the bottom of columns.
+\item \verb'landscape' -- \textit{(deprecated)} sets the whole document on landscape paper.
+\item \verb"usenatbib" -- \textit{(all papers should use this)} this uses Patrick Daly's \verb"natbib.sty" package for citations.
+\item \verb"usegraphicx" -- \textit{(most papers will need this)} includes the \verb'graphicx' package, for inclusion of figures and images.
+\item \verb'useAMS' -- adds support for upright Greek characters \verb'\upi', \verb'\umu' and \verb'\upartial' ($\upi$, $\umu$ and $\upartial$). Only these three are included, if you require other symbols you will need to include the \verb'amsmath' or \verb'amsymb' packages (see section~\ref{sec:packages}).
+\item \verb"usedcolumn" -- includes the package \verb"dcolumn", which includes two new types of column alignment for use in tables.
+\end{itemize}
+
+Some of these options are deprecated and retained for backwards compatibility only.
+Others are used in almost all papers, but again are retained as options to ensure that papers written decades ago will continue to compile without problems.
+If you want to include any other packages, see section~\ref{sec:packages}.
+
+\section{Title page}
+
+If you are using \texttt{mnras\_template.tex} the necessary code for generating the title page, headers and footers is already present.
+Simply edit the title, author list, institutions, abstract and keywords as described below.
+
+\subsection{Title}
+There are two forms of the title: the full version used on the first page, and a short version which is used in the header of other odd-numbered pages (the `running head').
+Enter them with \verb'\title[]{}' like this:
+\begin{verbatim}
+\title[Running head]{Full title of the paper}
+\end{verbatim}
+The full title can be multiple lines (use \verb'\\' to start a new line) and may be as long as necessary, although we encourage authors to use concise titles. The running head must be $\le~45$ characters on a single line.
+
+See appendix~\ref{sec:advanced} for more complicated examples.
+
+\subsection{Authors and institutions}
+
+Like the title, there are two forms of author list: the full version which appears on the title page, and a short form which appears in the header of the even-numbered pages. Enter them using the \verb'\author[]{}' command.
+
+If the author list is more than one line long, start a new line using \verb'\newauthor'. Use \verb'\\' to start the institution list. Affiliations for each author should be indicated with a superscript number, and correspond to the list of institutions below the author list.
+
+For example, if I were to write a paper with two coauthors at another institution, one of whom also works at a third location:
+\begin{verbatim}
+\author[K. T. Smith et al.]{
+Keith T. Smith,$^{1}$
+A. N. Other,$^{2}$
+and Third Author$^{2,3}$
+\\
+$^{1}$Affiliation 1\\
+$^{2}$Affiliation 2\\
+$^{3}$Affiliation 3}
+\end{verbatim}
+Affiliations should be in the format `Department, Institution, Street Address, City and Postal Code, Country'.
+
+Email addresses can be inserted with the \verb'\thanks{}' command which adds a title page footnote.
+If you want to list more than one email, put them all in the same \verb'\thanks' and use \verb'\footnotemark[]' to refer to the same footnote multiple times.
+Present addresses (if different to those where the work was performed) can also be added with a \verb'\thanks' command.
+
+\subsection{Abstract and keywords}
+
+The abstract is entered in an \verb'abstract' environment:
+\begin{verbatim}
+\begin{abstract}
+The abstract of the paper.
+\end{abstract}
+\end{verbatim}
+\noindent Note that there is a word limit on the length of abstracts.
+For the current word limit, see the journal instructions to authors$^{\ref{foot:itas}}$.
+
+Immediately following the abstract, a set of keywords is entered in a \verb'keywords' environment:
+\begin{verbatim}
+\begin{keywords}
+keyword 1 -- keyword 2 -- keyword 3
+\end{keywords}
+\end{verbatim}
+\noindent There is a list of permitted keywords, which is agreed between all the major astronomy journals and revised every few years.
+Do \emph{not} make up new keywords!
+For the current list of allowed keywords, see the journal's instructions to authors$^{\ref{foot:itas}}$.
+
+\section{Sections and lists}
+
+Sections and lists are generally the same as in the standard \LaTeX\ classes.
+
+\subsection{Sections}
+\label{sec:sections}
+Sections are entered in the usual way, using \verb'\section{}' and its variants. It is possible to nest up to four section levels:
+\begin{verbatim}
+\section{Main section}
+ \subsection{Subsection}
+ \subsubsection{Subsubsection}
+ \paragraph{Lowest level section}
+\end{verbatim}
+\noindent The other \LaTeX\ sectioning commands \verb'\part', \verb'\chapter' and \verb'\subparagraph{}' are deprecated and should not be used.
+
+Some sections are not numbered as part of journal style (e.g. the Acknowledgements).
+To insert an unnumbered section use the `starred' version of the command: \verb'\section*{}'.
+
+See appendix~\ref{sec:advanced} for more complicated examples.
+
+\subsection{Lists}
+
+Two forms of lists can be used in MNRAS -- numbered and unnumbered.
+
+For a numbered list, use the \verb'enumerate' environment:
+\begin{verbatim}
+\begin{enumerate}
+ \item First item
+ \item Second item
+ \item etc.
+\end{enumerate}
+\end{verbatim}
+\noindent which produces
+\begin{enumerate}
+ \item First item
+ \item Second item
+ \item etc.
+\end{enumerate}
+Note that the list uses lowercase Roman numerals, rather than the \LaTeX\ default Arabic numerals.
+
+For an unnumbered list, use the \verb'description' environment without the optional argument:
+\begin{verbatim}
+\begin{description}
+ \item First item
+ \item Second item
+ \item etc.
+\end{description}
+\end{verbatim}
+\noindent which produces
+\begin{description}
+ \item First item
+ \item Second item
+ \item etc.
+\end{description}
+
+Bulleted lists using the \verb'itemize' environment should not be used in MNRAS; it is retained for backwards compatibility only.
+
+\section{Mathematics and symbols}
+
+The MNRAS class mostly adopts standard \LaTeX\ handling of mathematics, which is briefly summarised here.
+See also section~\ref{sec:packages} for packages that support more advanced mathematics.
+
+Mathematics can be inserted into the running text using the syntax \verb'$1+1=2$', which produces $1+1=2$.
+Use this only for short expressions or when referring to mathematical quantities; equations should be entered as described below.
+
+\subsection{Equations}
+Equations should be entered using the \verb'equation' environment, which automatically numbers them:
+
+\begin{verbatim}
+\begin{equation}
+ a^2=b^2+c^2
+\end{equation}
+\end{verbatim}
+\noindent which produces
+\begin{equation}
+ a^2=b^2+c^2
+\end{equation}
+
+By default, the equations are numbered sequentially throughout the whole paper. If a paper has a large number of equations, it may be better to number them by section (2.1, 2.2 etc.). To do this, add the command \verb'\numberwithin{equation}{section}' to the preamble.
+
+It is also possible to produce un-numbered equations by using the \LaTeX\ built-in \verb'\['\textellipsis\verb'\]' and \verb'$$'\textellipsis\verb'$$' commands; however MNRAS requires that all equations are numbered, so these commands should be avoided.
+
+\subsection{Special symbols}
+
+
+\begin{table}
+ \caption{Additional commands for special symbols commonly used in astronomy. These can be used anywhere.}
+ \label{tab:anysymbols}
+ \begin{tabular}{lll}
+ \hline
+ Command & Output & Meaning\\
+ \hline
+ \verb'\sun' & \sun & Sun, solar\\[2pt] % additional height spacing for enhanced symbol legibility
+ \verb'\earth' & \earth & Earth, terrestrial\\[2pt]
+ \verb'\micron' & \micron & microns\\[2pt]
+ \verb'\degr' & \degr & degrees\\[2pt]
+ \verb'\arcmin' & \arcmin & arcminutes\\[2pt]
+ \verb'\arcsec' & \arcsec & arcseconds\\[2pt]
+ \verb'\fdg' & \fdg & fraction of a degree\\[2pt]
+ \verb'\farcm' & \farcm & fraction of an arcminute\\[2pt]
+ \verb'\farcs' & \farcs & fraction of an arcsecond\\[2pt]
+ \verb'\fd' & \fd & fraction of a day\\[2pt]
+ \verb'\fh' & \fh & fraction of an hour\\[2pt]
+ \verb'\fm' & \fm & fraction of a minute\\[2pt]
+ \verb'\fs' & \fs & fraction of a second\\[2pt]
+ \verb'\fp' & \fp & fraction of a period\\[2pt]
+ \verb'\diameter' & \diameter & diameter\\[2pt]
+ \verb'\sq' & \sq & square, Q.E.D.\\[2pt]
+ \hline
+ \end{tabular}
+\end{table}
+
+\begin{table}
+ \caption{Additional commands for mathematical symbols. These can only be used in maths mode.}
+ \label{tab:mathssymbols}
+ \begin{tabular}{lll}
+ \hline
+ Command & Output & Meaning\\
+ \hline
+ \verb'\upi' & $\upi$ & upright pi\\[2pt] % additional height spacing for enhanced symbol legibility
+ \verb'\umu' & $\umu$ & upright mu\\[2pt]
+ \verb'\upartial' & $\upartial$ & upright partial derivative\\[2pt]
+ \verb'\lid' & $\lid$ & less than or equal to\\[2pt]
+ \verb'\gid' & $\gid$ & greater than or equal to\\[2pt]
+ \verb'\la' & $\la$ & less than of order\\[2pt]
+ \verb'\ga' & $\ga$ & greater than of order\\[2pt]
+ \verb'\loa' & $\loa$ & less than approximately\\[2pt]
+ \verb'\goa' & $\goa$ & greater than approximately\\[2pt]
+ \verb'\cor' & $\cor$ & corresponds to\\[2pt]
+ \verb'\sol' & $\sol$ & similar to or less than\\[2pt]
+ \verb'\sog' & $\sog$ & similar to or greater than\\[2pt]
+ \verb'\lse' & $\lse$ & less than or homotopic to \\[2pt]
+ \verb'\gse' & $\gse$ & greater than or homotopic to\\[2pt]
+ \verb'\getsto' & $\getsto$ & from over to\\[2pt]
+ \verb'\grole' & $\grole$ & greater over less\\[2pt]
+ \verb'\leogr' & $\leogr$ & less over greater\\
+ \hline
+ \end{tabular}
+\end{table}
+
+Some additional symbols of common use in astronomy have been added in the MNRAS class. These are shown in tables~\ref{tab:anysymbols}--\ref{tab:mathssymbols}. The command names are -- as far as possible -- the same as those used in other major astronomy journals.
+
+Many other mathematical symbols are also available, either built into \LaTeX\ or via additional packages. If you want to insert a specific symbol but don't know the \LaTeX\ command, we recommend using the Detexify website\footnote{\url{http://detexify.kirelabs.org}}.
+
+Sometimes font or coding limitations mean a symbol may not get smaller when used in sub- or superscripts, and will therefore be displayed at the wrong size. There is no need to worry about this as it will be corrected by the typesetter during production.
+
+To produce bold symbols in mathematics, use \verb'\bmath' for simple variables, and the \verb'bm' package for more complex symbols (see section~\ref{sec:packages}). Vectors are set in bold italic, using \verb'\mathbfit{}'.
+
+For matrices, use \verb'\mathbfss{}' to produce a bold sans-serif font e.g. \mathbfss{H}; this works even outside maths mode, but not all symbols are available (e.g. Greek). For $\nabla$ (del, used in gradients, divergence etc.) use \verb'$\nabla$'.
+
+\subsection{Ions}
+
+A new \verb'\ion{}{}' command has been added to the class file, for the correct typesetting of ionisation states.
+For example, to typeset singly ionised calcium use \verb'\ion{Ca}{ii}', which produces \ion{Ca}{ii}.
+
+\section{Figures and tables}
+\label{sec:fig_table}
+Figures and tables (collectively called `floats') are mostly the same as built into \LaTeX.
+
+\subsection{Basic examples}
+\begin{figure}
+ \includegraphics[width=\columnwidth]{example}
+ \caption{An example figure.}
+ \label{fig:example}
+\end{figure}
+Figures are inserted in the usual way using a \verb'figure' environment and \verb'\includegraphics'. The example Figure~\ref{fig:example} was generated using the code:
+\begin{verbatim}
+\begin{figure}
+ \includegraphics[width=\columnwidth]{example}
+ \caption{An example figure.}
+ \label{fig:example}
+\end{figure}
+\end{verbatim}
+
+\begin{table}
+ \caption{An example table.}
+ \label{tab:example}
+ \begin{tabular}{lcc}
+ \hline
+ Star & Mass & Luminosity\\
+ & $M_{\sun}$ & $L_{\sun}$\\
+ \hline
+ Sun & 1.00 & 1.00\\
+ $\alpha$~Cen~A & 1.10 & 1.52\\
+ $\epsilon$~Eri & 0.82 & 0.34\\
+ \hline
+ \end{tabular}
+\end{table}
+The example Table~\ref{tab:example} was generated using the code:
+\begin{verbatim}
+\begin{table}
+ \caption{An example table.}
+ \label{tab:example}
+ \begin{tabular}{lcc}
+ \hline
+ Star & Mass & Luminosity\\
+ & $M_{\sun}$ & $L_{\sun}$\\
+ \hline
+ Sun & 1.00 & 1.00\\
+ $\alpha$~Cen~A & 1.10 & 1.52\\
+ $\epsilon$~Eri & 0.82 & 0.34\\
+ \hline
+ \end{tabular}
+\end{table}
+\end{verbatim}
+
+\subsection{Captions and placement}
+Captions go \emph{above} tables but \emph{below} figures, as in the examples above.
+
+The \LaTeX\ float placement commands \verb'[htbp]' are intentionally disabled.
+Layout of figures and tables will be adjusted by the publisher during the production process, so authors should not concern themselves with placement to avoid disappointment and wasted effort.
+Simply place the \LaTeX\ code close to where the figure or table is first mentioned in the text and leave exact placement to the publishers.
+
+By default a figure or table will occupy one column of the page.
+To produce a wider version which covers both columns, use the \verb'figure*' or \verb'table*' environment.
+
+If a figure or table is too long to fit on a single page it can be split it into several parts.
+Create an additional figure or table which uses \verb'\contcaption{}' instead of \verb'\caption{}'.
+This will automatically correct the numbering and add `\emph{continued}' at the start of the caption.
+\begin{table}
+ \contcaption{A table continued from the previous one.}
+ \label{tab:continued}
+ \begin{tabular}{lcc}
+ \hline
+ Star & Mass & Luminosity\\
+ & $M_{\sun}$ & $L_{\sun}$\\
+ \hline
+ $\tau$~Cet & 0.78 & 0.52\\
+ $\delta$~Pav & 0.99 & 1.22\\
+ $\sigma$~Dra & 0.87 & 0.43\\
+ \hline
+ \end{tabular}
+\end{table}
+Table~\ref{tab:continued} was generated using the code:
+
+\begin{verbatim}
+\begin{table}
+ \contcaption{A table continued from the previous one.}
+ \label{tab:continued}
+ \begin{tabular}{lcc}
+ \hline
+ Star & Mass & Luminosity\\
+ & $M_{\sun}$ & $L_{\sun}$\\
+ \hline
+ $\tau$~Cet & 0.78 & 0.52\\
+ $\delta$~Pav & 0.99 & 1.22\\
+ $\sigma$~Dra & 0.87 & 0.43\\
+ \hline
+ \end{tabular}
+\end{table}
+\end{verbatim}
+
+To produce a landscape figure or table, use the \verb'pdflscape' package and the \verb'landscape' environment.
+The landscape Table~\ref{tab:landscape} was produced using the code:
+\begin{verbatim}
+\begin{landscape}
+ \begin{table}
+ \caption{An example landscape table.}
+ \label{tab:landscape}
+ \begin{tabular}{cccccccccc}
+ \hline
+ Header & Header & ...\\
+ Unit & Unit & ...\\
+ \hline
+ Data & Data & ...\\
+ Data & Data & ...\\
+ ...\\
+ \hline
+ \end{tabular}
+ \end{table}
+\end{landscape}
+\end{verbatim}
+Unfortunately this method will force a page break before the table appears.
+More complicated solutions are possible, but authors shouldn't worry about this.
+
+\begin{landscape}
+ \begin{table}
+ \caption{An example landscape table.}
+ \label{tab:landscape}
+ \begin{tabular}{cccccccccc}
+ \hline
+ Header & Header & Header & Header & Header & Header & Header & Header & Header & Header\\
+ Unit & Unit & Unit & Unit & Unit & Unit & Unit & Unit & Unit & Unit \\
+ \hline
+ Data & Data & Data & Data & Data & Data & Data & Data & Data & Data\\
+ Data & Data & Data & Data & Data & Data & Data & Data & Data & Data\\
+ Data & Data & Data & Data & Data & Data & Data & Data & Data & Data\\
+ Data & Data & Data & Data & Data & Data & Data & Data & Data & Data\\
+ Data & Data & Data & Data & Data & Data & Data & Data & Data & Data\\
+ Data & Data & Data & Data & Data & Data & Data & Data & Data & Data\\
+ Data & Data & Data & Data & Data & Data & Data & Data & Data & Data\\
+ Data & Data & Data & Data & Data & Data & Data & Data & Data & Data\\
+ \hline
+ \end{tabular}
+ \end{table}
+\end{landscape}
+
+\section{References and citations}
+
+\subsection{Cross-referencing}
+
+The usual \LaTeX\ commands \verb'\label{}' and \verb'\ref{}' can be used for cross-referencing within the same paper.
+We recommend that you use these whenever relevant, rather than writing out the section or figure numbers explicitly.
+This ensures that cross-references are updated whenever the numbering changes (e.g. during revision) and provides clickable links (if available in your compiler).
+
+It is best to give each section, figure and table a logical label.
+For example, Table~\ref{tab:mathssymbols} has the label \verb'tab:mathssymbols', whilst section~\ref{sec:packages} has the label \verb'sec:packages'.
+Add the label \emph{after} the section or caption command, as in the examples in sections~\ref{sec:sections} and \ref{sec:fig_table}.
+Enter the cross-reference with a non-breaking space between the type of object and the number, like this: \verb'see Figure~\ref{fig:example}'.
+
+The \verb'\autoref{}' command can be used to automatically fill out the type of object, saving on typing.
+It also causes the link to cover the whole phrase rather than just the number, but for that reason is only suitable for single cross-references rather than ranges.
+For example, \verb'\autoref{tab:journal_abbr}' produces \autoref{tab:journal_abbr}.
+
+\subsection{Citations}
+\label{sec:cite}
+
+MNRAS uses the Harvard -- author (year) -- citation style, e.g. \citet{author2013}.
+This is implemented in \LaTeX\ via the \verb'natbib' package, which in turn is included via the \verb'usenatbib' package option (see section~\ref{sec:options}), which should be used in all papers.
+
+Each entry in the reference list has a `key' (see section~\ref{sec:ref_list}) which is used to generate citations.
+There are two basic \verb'natbib' commands:
+\begin{description}
+ \item \verb'\citet{key}' produces an in-text citation: \citet{author2013}
+ \item \verb'\citep{key}' produces a bracketed (parenthetical) citation: \citep{author2013}
+\end{description}
+Citations will include clickable links to the relevant entry in the reference list, if supported by your \LaTeX\ compiler.
+
+\defcitealias{smith2014}{Paper~I}
+\begin{table*}
+ \caption{Common citation commands, provided by the \texttt{natbib} package.}
+ \label{tab:natbib}
+ \begin{tabular}{lll}
+ \hline
+ Command & Ouput & Note\\
+ \hline
+ \verb'\citet{key}' & \citet{smith2014} & \\
+ \verb'\citep{key}' & \citep{smith2014} & \\
+ \verb'\citep{key,key2}' & \citep{smith2014,jones2015} & Multiple papers\\
+ \verb'\citet[table 4]{key}' & \citet[table 4]{smith2014} & \\
+ \verb'\citep[see][figure 7]{key}' & \citep[see][figure 7]{smith2014} & \\
+ \verb'\citealt{key}' & \citealt{smith2014} & For use with manual brackets\\
+ \verb'\citeauthor{key}' & \citeauthor{smith2014} & If already cited in close proximity\\
+ \verb'\defcitealias{key}{Paper~I}' & & Define an alias (doesn't work in floats)\\
+ \verb'\citetalias{key}' & \citetalias{smith2014} & \\
+ \verb'\citepalias{key}' & \citepalias{smith2014} & \\
+ \hline
+ \end{tabular}
+\end{table*}
+
+There are a number of other \verb'natbib' commands which can be used for more complicated citations.
+The most commonly used ones are listed in Table~\ref{tab:natbib}.
+For full guidance on their use, consult the \verb'natbib' documentation\footnote{\url{http://www.ctan.org/pkg/natbib}}.
+
+If a reference has several authors, \verb'natbib' will automatically use `et al.' if there are more than two authors. However, if a paper has exactly three authors, MNRAS style is to list all three on the first citation and use `et al.' thereafter. If you are using \bibtex\ (see section~\ref{sec:ref_list}) then this is handled automatically. If not, the \verb'\citet*{}' and \verb'\citep*{}' commands can be used at the first citation to include all of the authors.
+
+\subsection{The list of references}
+\label{sec:ref_list}
+
+It is possible to enter references manually using the usual \LaTeX\ commands, but we strongly encourage authors to use \bibtex\ instead.
+\bibtex\ ensures that the reference list is updated automatically as references are added or removed from the paper, puts them in the correct format, saves on typing, and the same reference file can be used for many different papers -- saving time hunting down reference details.
+An MNRAS \bibtex\ style file, \verb'mnras.bst', is distributed as part of this package.
+The rest of this section will assume you are using \bibtex.
+
+References are entered into a separate \verb'.bib' file in standard \bibtex\ formatting.
+This can be done manually, or there are several software packages which make editing the \verb'.bib' file much easier.
+We particularly recommend \textsc{JabRef}\footnote{\url{http://jabref.sourceforge.net/}}, which works on all major operating systems.
+\bibtex\ entries can be obtained from the NASA Astrophysics Data System\footnote{\label{foot:ads}\url{http://adsabs.harvard.edu}} (ADS) by clicking on `Bibtex entry for this abstract' on any entry.
+Simply copy this into your \verb'.bib' file or into the `BibTeX source' tab in \textsc{JabRef}.
+
+Each entry in the \verb'.bib' file must specify a unique `key' to identify the paper, the format of which is up to the author.
+Simply cite it in the usual way, as described in section~\ref{sec:cite}, using the specified key.
+Compile the paper as usual, but add an extra step to run the \texttt{bibtex} command.
+Consult the documentation for your compiler or latex distribution.
+
+Correct formatting of the reference list will be handled by \bibtex\ in almost all cases, provided that the correct information was entered into the \verb'.bib' file.
+Note that ADS entries are not always correct, particularly for older papers and conference proceedings, so may need to be edited.
+If in doubt, or if you are producing the reference list manually, see the MNRAS instructions to authors$^{\ref{foot:itas}}$ for the current guidelines on how to format the list of references.
+
+\section{Appendices and online material}
+
+To start an appendix, simply place the \verb'\appendix' command before the next \verb'\section{}'.
+This will automatically adjust the section headings, figures, tables, and equations to reflect the fact that they are part of an appendix.
+It is only necessary to enter the \verb'\appendix' command once -- everything after that command is in an appendix.
+Remember that appendices should be placed \textit{after} the list of references.
+
+Unlike other astronomy class files, there are no special commands for online material.
+If your paper has any online material, it should be placed in a separate file.
+See our instructions to authors$^{\ref{foot:itas}}$ for guidance.
+
+\section{Packages and custom commands}
+\label{sec:packages}
+\subsection{Additional packages}
+
+Sometimes authors need to include additional \LaTeX\ packages, which provide extra features.
+For example, the \verb'bm' package provides extra bold maths symbols, whilst the \verb'pdflscape' package adds support for landscape pages.
+Packages can be included by adding the \verb'\usepackage{}' command to the preamble of the document (not the main body).
+
+Please \emph{only include packages which are actually used in the paper}, and include a comment to explain what each one does.
+This will assist the typesetters.
+If you are using \texttt{mnras\_template.tex}, it includes a specific section for this purpose, near the start of the file with the header 'authors - place your own packages here'.
+
+For example, to include \verb'pdflscape', use:
+\begin{verbatim}
+\usepackage{pdflscape} % Landscape pages
+\end{verbatim}
+Consult the documentation for that package for instructions on how to use the additional features.
+
+
+\subsection{Custom commands}
+
+Authors should avoid duplicating or redefining commands which are already available in \LaTeX\ or \verb'mnras.cls'.
+However it may sometimes be necessary to introduce a custom command e.g. as a shortcut while writing the paper.
+
+Please \emph{only include commands which are actually used in the paper}, and include a comment to explain what each one does.
+This will assist the typesetters.
+Use \verb'\newcommand', \emph{not} \verb'\def', as this will avoid accidentally overwriting existing commands.
+Place custom commands in the preamble of the document (not the main body).
+If you are using \texttt{mnras\_template.tex}, it includes a specific section for this purpose, near the start of the file with the header 'authors - place your own commands here'.
+
+As an example, a shortcut for the unit \kms can be defined like this:
+\begin{verbatim}
+\newcommand{\kms}{\,km\,s$^{-1}$} % kilometres per second
+\end{verbatim}
+Velocities can then be written as e.g. \verb'2.3\kms' which produces 2.3\kms.
+Similar shortcuts can be used for frequently quoted object designations.
+
+
+\section*{Acknowledgements}
+% Entry for the table of contents, for this guide only
+\addcontentsline{toc}{section}{Acknowledgements}
+
+This guide replaces an earlier one originally prepared by Cambridge University Press (CUP) in 1994, and last updated in 2002 by Blackwell Publishing.
+Some code segments are reproduced from, and some examples are based upon, that guide.
+The authors were: A.~Woollatt, M.~Reed, R.~Mulvey, K.~Matthews, D.~Starling, Y.~Yu, A.~Richardson (all CUP), and Penny~Smith, N.~Thompson and Gregor~Hutton (all Blackwell), whose work is gratefully acknowledged.
+
+The accompanying \bibtex\ style file was written by John Sleath, Tim Jenness and Norman Gray, without whom \bibtex\ support would not have been possible.
+
+Some special symbols in tables~\ref{tab:anysymbols}--\ref{tab:mathssymbols} were taken from the Springer Verlag \textit{Astronomy \& Astrophysics} \LaTeX\ class, with their permission.
+
+KTS thanks Nelson Beebe (University of Utah) for helpful advice regarding CTAN.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%% REFERENCES %%%%%%%%%%%%%%%%%%
+
+% The best way to enter references is to use BibTeX:
+
+%\bibliographystyle{mnras}
+%\bibliography{example} % if your bibtex file is called example.bib
+
+
+% Alternatively you could enter them by hand, like this:
+\begin{thebibliography}{99}
+\bibitem[\protect\citeauthoryear{Author}{2013}]{author2013}
+Author A.~N., 2013, Journal of Improbable Astronomy, 1, 1
+\bibitem[\protect\citeauthoryear{Jones}{2015}]{jones2015}
+Jones C.~D., 2015, Journal of Interesting Stuff, 17, 198
+\bibitem[\protect\citeauthoryear{Smith}{2014}]{smith2014}
+Smith A.~B., 2014, The Example Journal, 12, 345 (Paper I)
+\end{thebibliography}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%% APPENDICES %%%%%%%%%%%%%%%%%%%%%
+
+\appendix
+\section{Journal abbreviations}
+\label{sec:abbreviations}
+Abbreviations for cited journals can be accessed using the commands listed in table~\ref{tab:journal_abbr}.
+Although some of these may appear to be outdated or rarely cited, they have been selected to be compatible with the \bibtex\ output by the NASA Astrophysics Data System$^{\ref{foot:ads}}$, commands used by other astronomy journals, and with additional entries for journals with non-standard abbreviations in MNRAS.
+For journals which are not on this list, see our instructions to authors$^{\ref{foot:itas}}$ for guidance on how to abbreviate titles.
+
+\begin{table*}
+\caption{Commands for abbreviated journal names, see appendix~\ref{sec:abbreviations}.}
+\label{tab:journal_abbr}
+\begin{tabular}{@{}l@{\:}l@{\:}l@{}} % manual @ spacing to prevent this being too wide for a page
+\hline
+Command & Output & Journal name\\
+\hline
+\verb'\aap' or \verb'\astap' & \aap & Astronomy and Astrophysics$^a$\\
+\verb'\aapr' & \aapr & The Astronomy and Astrophysics Review\\
+\verb'\aaps' & \aaps & Astronomy and Astrophysics Supplement Series\\
+\verb'\actaa' & \actaa & Acta Astronomica\\
+\verb'\afz' & \afz & Astrofizika\\
+\verb'\aj' & \aj & The Astronomical Journal\\
+\verb'\ao' or \verb'\applopt' & \ao & Applied Optics\\
+\verb'\aplett' & \aplett & Astrophysics Letters\\
+\verb'\apj' & \apj & The Astrophysical Journal\\
+\verb'\apjl' or \verb'\apjlett' & \apjl & The Astrophysical Journal Letters$^a$\\
+\verb'\apjs' or \verb'\apjsupp' & \apjs & The Astrophysical Journal Supplement Series\\
+\verb'\apss' & \apss & Astrophysics and Space Science\\
+\verb'\araa' & \araa & Annual Review of Astronomy and Astrophysics\\
+\verb'\arep' & \arep & Astronomy Reports$^b$\\
+\verb'\aspc' & \aspc & Astronomical Society of the Pacific Conference Series\\
+\verb'\azh' & \azh & Astronomicheskii Zhurnal$^c$\\
+\verb'\baas' & \baas & Bulletin of the American Astronomical Society\\
+\verb'\bac' & \bac & Bulletin of the Astronomical Institutes of Czechoslovakia\\
+\verb'\bain' & \bain & Bull. Astron. Inst. Netherlands\\
+\verb'\caa' & \caa & Chinese Astronomy and Astrophysics\\
+\verb'\cjaa' & \cjaa & Chinese Journal of Astronomy and Astrophysics\\
+\verb'\fcp' & \fcp & Fundamentals of Cosmic Physics\\
+\verb'\gca' & \gca & Geochimica Cosmochimica Acta\\
+\verb'\grl' & \grl & Geophysics Research Letters\\
+\verb'\iaucirc' & \iaucirc & International Astronomical Union Circulars\\
+\verb'\icarus' & \icarus & Icarus\\
+\verb'\japa' & \japa & Journal of Astrophysics and Astronomy\\
+\verb'\jcap' & \jcap & Journal of Cosmology and Astroparticle Physics\\
+\verb'\jcp' & \jcp & Journal of Chemical Physics\\
+\verb'\jgr' & \jgr & Journal of Geophysics Research\\
+\verb'\jqsrt' & \jqsrt & Journal of Quantitiative Spectroscopy and Radiative Transfer\\
+\verb'\jrasc' & \jrasc & Journal of the Royal Astronomical Society of Canada\\
+\verb'\memras' & \memras & Memoirs of the Royal Astronomical Society\\
+\verb'\memsai' & \memsai & Memoire della Societa Astronomica Italiana\\
+\verb'\mnassa' & \mnassa & Monthly Notes of the Astronomical Society of Southern Africa\\
+\verb'\mnras' & \mnras & Monthly Notices of the Royal Astronomical Society$^a$\\
+\verb'\na' & \na & New Astronomy\\
+\verb'\nar' & \nar & New Astronomy Review\\
+\verb'\nat' & \nat & Nature\\
+\verb'\nphysa' & \nphysa & Nuclear Physics A\\
+\verb'\pra' & \pra & Physical Review A: Atomic, molecular, and optical physics\\
+\verb'\prb' & \prb & Physical Review B: Condensed matter and materials physics\\
+\verb'\prc' & \prc & Physical Review C: Nuclear physics\\
+\verb'\prd' & \prd & Physical Review D: Particles, fields, gravitation, and cosmology\\
+\verb'\pre' & \pre & Physical Review E: Statistical, nonlinear, and soft matter physics\\
+\verb'\prl' & \prl & Physical Review Letters\\
+\verb'\pasa' & \pasa & Publications of the Astronomical Society of Australia\\
+\verb'\pasp' & \pasp & Publications of the Astronomical Society of the Pacific\\
+\verb'\pasj' & \pasj & Publications of the Astronomical Society of Japan\\
+\verb'\physrep' & \physrep & Physics Reports\\
+\verb'\physscr' & \physscr & Physica Scripta\\
+\verb'\planss' & \planss & Planetary and Space Science\\
+\verb'\procspie' & \procspie & Proceedings of the Society of Photo-Optical Instrumentation Engineers\\
+\verb'\rmxaa' & \rmxaa & Revista Mexicana de Astronomia y Astrofisica\\
+\verb'\qjras' & \qjras & Quarterly Journal of the Royal Astronomical Society\\
+\verb'\sci' & \sci & Science\\
+\verb'\skytel' & \skytel & Sky and Telescope\\
+\verb'\solphys' & \solphys & Solar Physics\\
+\verb'\sovast' & \sovast & Soviet Astronomy$^b$\\
+\verb'\ssr' & \ssr & Space Science Reviews\\
+\verb'\zap' & \zap & Zeitschrift fuer Astrophysik\\
+\hline
+\multicolumn{3}{l}{$^a$ Letters are designated by an L at the start of the page number, not in the journal name}\\
+\multicolumn{3}{l}{$^b$ In 1992 the English translation of this journal changed its name from Soviet Astronomy to Astronomy Reports}\\
+\multicolumn{3}{l}{$^c$ Including the English translation Astronomy Letters}\\
+\end{tabular}
+\end{table*}
+
+\clearpage % to avoid the long table breaking up the formatting examples
+\section{Advanced formatting examples}
+\label{sec:advanced}
+
+Sometimes formatting doesn't behave exactly as expected when used in titles or section headings, and must be modified to obtain the correct appearance.
+Generally the publishers can fix these problems during the typesetting process after a paper is accepted, but authors may wish to adjust these themselves to minimise the possibility of errors and/or for the benefit of the refereeing process.
+Below are some examples of output, followed by the \LaTeX\ code which produces them.
+
+Most mathematics and text formatting works as expected, but some commands might not be the correct size, bold or italic.
+If so they can be finessed by hand, as in the bold mathematics here:
+\boxit{\huge\bf \textit{Herschel} observations of galaxies at $\bm{\delta > 60\degr}$}
+\begin{verbatim}
+\title{\textit{Herschel} observations of galaxies at
+ $\bm{\delta > 60\degr}$}
+\end{verbatim}
+
+Most fonts do not provide bold and italic versions of small capitals, so the \verb'\ion{}{}' command doesn't produce the expected output in headings.
+The effect has to be `faked' using font size commands, remembering that the running head is a different style:
+\boxit{\huge\bf Abundances in H\,{\Large \textbf{II}} regions}
+\begin{verbatim}
+\title
+[Abundances in H\,{\normalsize \textit{II}} regions]
+{Abundances in H\,{\Large \textbf{II}} regions}
+\end{verbatim}
+
+Complex mathematics can cause problems with links, so might require adding a less formatted short version of the heading:
+\boxit{\bf 2\quad FINDING Mg\,{\sevensize II} ABSORBERS AT $\bm{z > 2}$}
+\begin{verbatim}
+\section
+[Finding Mg II absorbers at z > 2]
+{Finding M\lowercase{g}\,{\sevensize II} absorbers
+ at $\lowercase{\bm{z > 2}}$}
+\end{verbatim}
+
+
+Using square brackets in headings can cause additional linking problems, which are solved by wrapping them in \{\textellipsis\}:
+\boxit{\bf 2.1\quad [C\,{\sevensize II}] 158$\bmath{\umu}$m emission}
+\begin{verbatim}
+\subsection
+[{[C II] 158$\umu$m emission}]
+{[C\,{\sevensize II}] 158$\bmath{\umu}$m
+ emission}
+\end{verbatim}
+
+Use \verb'\text{}' (not \verb'\rm') for non-variables in mathematics, which preserves the formatting of the surrounding text.
+For the same reasons, use \verb'\textit{}' for italics (not \verb'\it').
+\boxit{\bf 3.1\quad Measuring $\bm{T}_\text{eff}$ from \textit{Gaia} photometry}
+\begin{verbatim}
+\subsection{Measuring $\bm{T}_\text{eff}$ from
+ \textit{Gaia} photometry}
+\end{verbatim}
+
+\section{Additional commands for editors only}
+The following commands are available for the use of editors and production staff only.
+They should not be used (or modified in the template) by authors.
+
+\begin{description}
+ \item \verb'\maketitle' inserts the title, authors and institution list in the correct formatting.
+ \item \verb'\nokeywords' tidies up the spacing if there are no keywords, but authors should always enter at least one.
+ \item \verb'\volume{}' sets the volume number (default is 000)
+ \item \verb'\pagerange{}' sets the page range. The standard template generates this automatically, starting from 1.
+ \item \verb'\bsp' adds the `This paper has been typeset\textellipsis' comment at the end of the paper.
+The command name refers to Blackwell Science Publishing, who were the publishers at the time when MNRAS began accepting \LaTeX\ submissions in 1993.
+ \item \verb'\mniiiauth{}' used by the \bibtex\ style to handle MNRAS style for citing papers with three authors. It should not be used manually.
+ \item \verb'\eprint{}' used by the \bibtex\ style for citing arXiv eprints.
+ \item \verb'\doi{}' used by the \bibtex\ style for citing Digital Object Identifiers.
+\end{description}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+% Don't change these lines
+\bsp % typesetting comment
+\label{lastpage}
+\end{document}
+
+% End of mnras_guide.tex \ No newline at end of file
diff --git a/macros/latex/contrib/mnras/mnras_template.tex b/macros/latex/contrib/mnras/mnras_template.tex
new file mode 100644
index 0000000000..d85c1d453b
--- /dev/null
+++ b/macros/latex/contrib/mnras/mnras_template.tex
@@ -0,0 +1,223 @@
+% mnras_template.tex
+%
+% LaTeX template for creating an MNRAS paper
+%
+% v3.0 released 14 May 2015
+% (version numbers match those of mnras.cls)
+%
+% Copyright (C) Royal Astronomical Society 2015
+% Authors:
+% Keith T. Smith (Royal Astronomical Society)
+
+% Change log
+%
+% v3.0 May 2015
+% Renamed to match the new package name
+% Version number matches mnras.cls
+% A few minor tweaks to wording
+% v1.0 September 2013
+% Beta testing only - never publicly released
+% First version: a simple (ish) template for creating an MNRAS paper
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Basic setup. Most papers should leave these options alone.
+\documentclass[a4paper,fleqn,usenatbib]{mnras}
+
+% MNRAS is set in Times font. If you don't have this installed (most LaTeX
+% installations will be fine) or prefer the old Computer Modern fonts, comment
+% out the following line
+\usepackage{newtxtext,newtxmath}
+% Depending on your LaTeX fonts installation, you might get better results with one of these:
+%\usepackage{mathptmx}
+%\usepackage{txfonts}
+
+% Use vector fonts, so it zooms properly in on-screen viewing software
+% Don't change these lines unless you know what you are doing
+\usepackage[T1]{fontenc}
+\usepackage{ae,aecompl}
+
+
+%%%%% AUTHORS - PLACE YOUR OWN PACKAGES HERE %%%%%
+
+% Only include extra packages if you really need them. Common packages are:
+\usepackage{graphicx} % Including figure files
+\usepackage{amsmath} % Advanced maths commands
+\usepackage{amssymb} % Extra maths symbols
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%% AUTHORS - PLACE YOUR OWN COMMANDS HERE %%%%%
+
+% Please keep new commands to a minimum, and use \newcommand not \def to avoid
+% overwriting existing commands. Example:
+%\newcommand{\pcm}{\,cm$^{-2}$} % per cm-squared
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%% TITLE PAGE %%%%%%%%%%%%%%%%%%%
+
+% Title of the paper, and the short title which is used in the headers.
+% Keep the title short and informative.
+\title[Short title, max. 45 characters]{MNRAS \LaTeXe\ template -- title goes here}
+
+% The list of authors, and the short list which is used in the headers.
+% If you need two or more lines of authors, add an extra line using \newauthor
+\author[K. T. Smith et al.]{
+Keith T. Smith,$^{1}$\thanks{E-mail: mn@ras.org.uk (KTS)}
+A. N. Other,$^{2}$
+Third Author$^{2,3}$
+and Fourth Author$^{3}$
+\\
+% List of institutions
+$^{1}$Royal Astronomical Society, Burlington House, Piccadilly, London W1J 0BQ, UK\\
+$^{2}$Department, Institution, Street Address, City Postal Code, Country\\
+$^{3}$Another Department, Different Institution, Street Address, City Postal Code, Country
+}
+
+% These dates will be filled out by the publisher
+\date{Accepted XXX. Received YYY; in original form ZZZ}
+
+% Enter the current year, for the copyright statements etc.
+\pubyear{2015}
+
+% Don't change these lines
+\begin{document}
+\label{firstpage}
+\pagerange{\pageref{firstpage}--\pageref{lastpage}}
+\maketitle
+
+% Abstract of the paper
+\begin{abstract}
+This is a simple template for authors to write new MNRAS papers.
+The abstract should briefly describe the aims, methods, and main results of the paper.
+It should be a single paragraph not more than 250 words (200 words for Letters).
+No references should appear in the abstract.
+\end{abstract}
+
+% Select between one and six entries from the list of approved keywords.
+% Don't make up new ones.
+\begin{keywords}
+keyword1 -- keyword2 -- keyword3
+\end{keywords}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%% BODY OF PAPER %%%%%%%%%%%%%%%%%%
+
+\section{Introduction}
+
+This is a simple template for authors to write new MNRAS papers.
+See \texttt{mnras\_sample.tex} for a more complex example, and \texttt{mnras\_guide.tex}
+for a full user guide.
+
+All papers should start with an Introduction section, which sets the work
+in context, cites relevant earlier studies in the field by \citet{Others2013},
+and describes the problem the authors aim to solve \citep[e.g.][]{Author2012}.
+
+\section{Methods, Observations, Simulations etc.}
+
+Normally the next section describes the techniques the authors used.
+It is frequently split into subsections, such as Section~\ref{sec:maths} below.
+
+\subsection{Maths}
+\label{sec:maths} % used for referring to this section from elsewhere
+
+Simple mathematics can be inserted into the flow of the text e.g. $2\times3=6$
+or $v=220$\,km\,s$^{-1}$, but more complicated expressions should be entered
+as a numbered equation:
+
+\begin{equation}
+ x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}.
+ \label{eq:quadratic}
+\end{equation}
+
+Refer back to them as e.g. equation~(\ref{eq:quadratic}).
+
+\subsection{Figures and tables}
+
+Figures and tables should be placed at logical positions in the text. Don't
+worry about the exact layout, which will be handled by the publishers.
+
+Figures are referred to as e.g. Fig.~\ref{fig:example_figure}, and tables as
+e.g. Table~\ref{tab:example_table}.
+
+% Example figure
+\begin{figure}
+ % To include a figure from a file named example.*
+ % Allowable file formats are eps or ps if compiling using latex
+ % or pdf, png, jpg if compiling using pdflatex
+ \includegraphics[width=\columnwidth]{example}
+ \caption{This is an example figure. Captions appear below each figure.
+ Give enough detail for the reader to understand what they're looking at,
+ but leave detailed discussion to the main body of the text.}
+ \label{fig:example_figure}
+\end{figure}
+
+% Example table
+\begin{table}
+ \centering
+ \caption{This is an example table. Captions appear above each table.
+ Remember to define the quantities, symbols and units used.}
+ \label{tab:example_table}
+ \begin{tabular}{lccr} % four columns, alignment for each
+ \hline
+ A & B & C & D\\
+ \hline
+ 1 & 2 & 3 & 4\\
+ 2 & 4 & 6 & 8\\
+ 3 & 5 & 7 & 9\\
+ \hline
+ \end{tabular}
+\end{table}
+
+
+\section{Conclusions}
+
+The last numbered section should briefly summarise what has been done, and describe
+the final conclusions which the authors draw from their work.
+
+\section*{Acknowledgements}
+
+The Acknowledgements section is not numbered. Here you can thank helpful
+colleagues, acknowledge funding agencies, telescopes and facilities used etc.
+Try to keep it short.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%% REFERENCES %%%%%%%%%%%%%%%%%%
+
+% The best way to enter references is to use BibTeX:
+
+%\bibliographystyle{mnras}
+%\bibliography{example} % if your bibtex file is called example.bib
+
+
+% Alternatively you could enter them by hand, like this:
+% This method is tedious and prone to error if you have lots of references
+\begin{thebibliography}{99}
+\bibitem[\protect\citeauthoryear{Author}{2012}]{Author2012}
+Author A.~N., 2013, Journal of Improbable Astronomy, 1, 1
+\bibitem[\protect\citeauthoryear{Others}{2013}]{Others2013}
+Others S., 2012, Journal of Interesting Stuff, 17, 198
+\end{thebibliography}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%% APPENDICES %%%%%%%%%%%%%%%%%%%%%
+
+\appendix
+
+\section{Some extra material}
+
+If you want to present additional material which would interrupt the flow of the main paper,
+it can be placed in an Appendix which appears after the list of references.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+% Don't change these lines
+\bsp % typesetting comment
+\label{lastpage}
+\end{document}
+
+% End of mnras_template.tex \ No newline at end of file
diff --git a/macros/latex/contrib/mnras/readme.txt b/macros/latex/contrib/mnras/readme.txt
new file mode 100644
index 0000000000..1e28e500c3
--- /dev/null
+++ b/macros/latex/contrib/mnras/readme.txt
@@ -0,0 +1,62 @@
+% readme.txt
+%
+% MNRAS journal LaTeX package
+% v3.0 for LaTeX 2e
+%
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `author-maintained'.
+%
+% The Current Maintainer of this work is: Royal Astronomical Society,
+% MNRAS Editorial Office, who can be contacted on mn@ras.org.uk
+%
+% This work consists of all the files listed in readme.txt
+%
+%
+% Last updated 22 May 2015
+%
+% Copyright (C) Royal Astronomical Society 2015, Blackwell Science 2001,
+% Cambridge University Press 1994
+%
+% See each file for a detailed author list and change log.
+%
+% This package consists of the following files:
+
+readme.txt This file
+
+mnras.cls MNRAS LaTeX document class
+mnras.bst MNRAS BibTeX style
+
+mnras_guide.tex User guide, LaTeX format
+mnras_guide.pdf User guide, PDF format
+mnras_template.tex A simple template paper
+
+example.eps An example image used in the guide
+example.png An example image used in the guide
+example.ps An example image used in the guide
+
+legacy\legacy.txt Description of the legacy releases
+legacy\mn2e.cls v2.2 of mn2e.cls (deprecated)
+legacy\mn2e.bst v1.1b of mn2e.bst (deprecated)
+
+
+% Disclaimer:
+%
+% This LaTeX package is provided free to the community in the hope that it
+% assists them in preparing papers for the journal Monthly Notices of the
+% Royal Astronomical Society.
+% The files are provided 'as-is' with no guarantee of their suitability,
+% freedom from errors or omissions, or compatibility with any software.
+% The Royal Astronomical Society cannot provide user support for this package,
+% LaTeX, or for any other software.
+% Authors are free to use other styles or programmes if they wish.
+% Please see the journal instructions to authors for guidance.
+% This disclaimer is in addition to the No Warranty section of the licence,
+% at the link given above. \ No newline at end of file