diff options
Diffstat (limited to 'Master/texmf-dist/tex/plain/mnras')
-rw-r--r-- | Master/texmf-dist/tex/plain/mnras/mn.tex | 3034 |
1 files changed, 0 insertions, 3034 deletions
diff --git a/Master/texmf-dist/tex/plain/mnras/mn.tex b/Master/texmf-dist/tex/plain/mnras/mn.tex deleted file mode 100644 index cf6b0cbedcd..00000000000 --- a/Master/texmf-dist/tex/plain/mnras/mn.tex +++ /dev/null @@ -1,3034 +0,0 @@ -% MN.TEX (Computer Modern version) -% -% plain TeX single / double column macros for the -% Monthly Notices of Royal Astronomical Society -% -% v1.5 (mn.tex) --- released 25th August 1994 (M. Reed) -% v1.4 " --- released 22nd February 1994 -% v1.3 (mnd.tex) --- released 28th November 1992 -% v1.26 " --- released 1st August 1992 -% v1.25 " --- released 25th February 1992 -% -% Copyright Cambridge University Press -% -% > 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 v ALPHA patchlevel 8 (16th August 1994). - -\catcode `\@=11 % @ signs are letters - -\def\@version{1.5} -\def\@verdate{25th Aug 1994} - - -% Fonts: Computer Modern / Monotype Times (CUP only) -% -% Font family sizes available: -% 8pt, 9pt, 10pt, 11pt, 14pt and 17pt. -% -% Faces available: -% \rm, math italic, symbol, \it, \bf, \sl, \tt, \sc, \sf, \cal, \em, -% \mit and \oldstyle. - -% define the typeface in use - -\newif\ifprod@font - -\ifx\@typeface\undefined - \def\@typeface{Comp. Modern}\prod@fontfalse -\else - \prod@fonttrue % We want Times -\fi - -\def\newfam{\alloc@8\fam\chardef\sixt@@n} % made not outer - -\ifprod@font -% -\font\fiverm=mtr10 at 5pt -\font\fivebf=mtbx10 at 5pt -\font\fiveit=mtti10 at 5pt -\font\fivesl=mtsl10 at 5pt -\font\fivett=cmtt8 at 5pt \hyphenchar\fivett=-1 -\font\fivecsc=mtcsc10 at 5pt -\font\fivesf=mtss10 at 5pt -\font\fivei=mtmi10 at 5pt \skewchar\fivei='177 -\font\fivesy=mtsy10 at 5pt \skewchar\fivesy='60 - -\font\sixrm=mtr10 at 6pt -\font\sixbf=mtbx10 at 6pt -\font\sixit=mtti10 at 6pt -\font\sixsl=mtsl10 at 6pt -\font\sixtt=cmtt8 at 6pt \hyphenchar\sixtt=-1 -\font\sixcsc=mtcsc10 at 6pt -\font\sixsf=mtss10 at 6pt -\font\sixi=mtmi10 at 6pt \skewchar\sixi='177 -\font\sixsy=mtsy10 at 6pt \skewchar\sixsy='60 - -\font\sevenrm=mtr10 at 7pt -\font\sevenbf=mtbx10 at 7pt -\font\sevenit=mtti10 at 7pt -\font\sevensl=mtsl10 at 7pt -\font\seventt=cmtt8 at 7pt \hyphenchar\seventt=-1 -\font\sevencsc=mtcsc10 at 7pt -\font\sevensf=mtss10 at 7pt -\font\seveni=mtmi10 at 7pt \skewchar\seveni='177 -\font\sevensy=mtsy10 at 7pt \skewchar\sevensy='60 - -\font\eightrm=mtr10 at 8pt -\font\eightbf=mtbx10 at 8pt -\font\eightit=mtti10 at 8pt -\font\eighti=mtmi10 at 8pt \skewchar\eighti='177 -\font\eightsy=mtsy10 at 8pt \skewchar\eightsy='60 -\font\eightsl=mtsl10 at 8pt -\font\eighttt=cmtt8 \hyphenchar\eighttt=-1 -\font\eightcsc=mtcsc10 at 8pt -\font\eightsf=mtss10 at 8pt - -\font\ninerm=mtr10 at 9pt -\font\ninebf=mtbx10 at 9pt -\font\nineit=mtti10 at 9pt -\font\ninei=mtmi10 at 9pt \skewchar\ninei='177 -\font\ninesy=mtsy10 at 9pt \skewchar\ninesy='60 -\font\ninesl=mtsl10 at 9pt -\font\ninett=cmtt9 \hyphenchar\ninett=-1 -\font\ninecsc=mtcsc10 at 9pt -\font\ninesf=mtss10 at 9pt - -\font\tenrm=mtr10 -\font\tenbf=mtbx10 -\font\tenit=mtti10 -\font\teni=mtmi10 \skewchar\teni='177 -\font\tensy=mtsy10 \skewchar\tensy='60 -\font\tenex=cmex10 -\font\tensl=mtsl10 -\font\tentt=cmtt10 \hyphenchar\tentt=-1 -\font\tencsc=mtcsc10 -\font\tensf=mtss10 - -\font\elevenrm=mtr10 at 11pt -\font\elevenbf=mtbx10 at 11pt -\font\elevenit=mtti10 at 11pt -\font\eleveni=mtmi10 at 11pt \skewchar\eleveni='177 -\font\elevensy=mtsy10 at 11pt \skewchar\elevensy='60 -\font\elevensl=mtsl10 at 11pt -\font\eleventt=cmtt10 at 11pt \hyphenchar\eleventt=-1 -\font\elevencsc=mtcsc10 at 11pt -\font\elevensf=mtss10 at 11pt - -\font\twelverm=mtr10 at 12pt -\font\twelvebf=mtbx10 at 12pt -\font\twelveit=mtti10 at 12pt -\font\twelvesl=mtsl10 at 12pt -\font\twelvett=cmtt12 \hyphenchar\twelvett=-1 -\font\twelvecsc=mtcsc10 at 12pt -\font\twelvesf=mtss10 at 12pt -\font\twelvei=mtmi10 at 12pt \skewchar\twelvei='177 -\font\twelvesy=mtsy10 at 12pt \skewchar\twelvesy='60 - -\font\fourteenrm=mtr10 at 14pt -\font\fourteenbf=mtbx10 at 14pt -\font\fourteenit=mtti10 at 14pt -\font\fourteeni=mtmi10 at 14pt \skewchar\fourteeni='177 -\font\fourteensy=mtsy10 at 14pt \skewchar\fourteensy='60 -\font\fourteensl=mtsl10 at 14pt -\font\fourteentt=cmtt12 at 14pt \hyphenchar\fourteentt=-1 -\font\fourteencsc=mtcsc10 at 14pt -\font\fourteensf=mtss10 at 14pt - -\font\seventeenrm=mtr10 at 17pt -\font\seventeenbf=mtbx10 at 17pt -\font\seventeenit=mtti10 at 17pt -\font\seventeeni=mtmi10 at 17pt \skewchar\seventeeni='177 -\font\seventeensy=mtsy10 at 17pt \skewchar\seventeensy='60 -\font\seventeensl=mtsl10 at 17pt -\font\seventeentt=cmtt12 at 17pt \hyphenchar\seventeentt=-1 -\font\seventeencsc=mtcsc10 at 17pt -\font\seventeensf=mtss10 at 17pt -% -\else -% -\font\fiverm=cmr5 -\font\fivei=cmmi5 \skewchar\fivei='177 -\font\fivesy=cmsy5 \skewchar\fivesy='60 -\font\fivebf=cmbx5 - -\font\sixrm=cmr6 -\font\sixi=cmmi6 \skewchar\sixi='177 -\font\sixsy=cmsy6 \skewchar\sixsy='60 -\font\sixbf=cmbx6 - -\font\sevenrm=cmr7 -\font\sevenit=cmti7 -\font\seveni=cmmi7 \skewchar\seveni='177 -\font\sevensy=cmsy7 \skewchar\sevensy='60 -\font\sevenbf=cmbx7 - -\font\eightrm=cmr8 -\font\eightbf=cmbx8 -\font\eightit=cmti8 -\font\eighti=cmmi8 \skewchar\eighti='177 -\font\eightsy=cmsy8 \skewchar\eightsy='60 -\font\eightsl=cmsl8 -\font\eighttt=cmtt8 \hyphenchar\eighttt=-1 -\font\eightcsc=cmcsc10 at 8pt -\font\eightsf=cmss8 - -\font\ninerm=cmr9 -\font\ninebf=cmbx9 -\font\nineit=cmti9 -\font\ninei=cmmi9 \skewchar\ninei='177 -\font\ninesy=cmsy9 \skewchar\ninesy='60 -\font\ninesl=cmsl9 -\font\ninett=cmtt9 \hyphenchar\ninett=-1 -\font\ninecsc=cmcsc10 at 9pt -\font\ninesf=cmss9 - -\font\tenrm=cmr10 -\font\tenbf=cmbx10 -\font\tenit=cmti10 -\font\teni=cmmi10 \skewchar\teni='177 -\font\tensy=cmsy10 \skewchar\tensy='60 -\font\tenex=cmex10 -\font\tensl=cmsl10 -\font\tentt=cmtt10 \hyphenchar\tentt=-1 -\font\tencsc=cmcsc10 -\font\tensf=cmss10 - -\font\elevenrm=cmr10 scaled \magstephalf -\font\elevenbf=cmbx10 scaled \magstephalf -\font\elevenit=cmti10 scaled \magstephalf -\font\eleveni=cmmi10 scaled \magstephalf \skewchar\eleveni='177 -\font\elevensy=cmsy10 scaled \magstephalf \skewchar\elevensy='60 -\font\elevensl=cmsl10 scaled \magstephalf -\font\eleventt=cmtt10 scaled \magstephalf \hyphenchar\eleventt=-1 -\font\elevencsc=cmcsc10 scaled \magstephalf -\font\elevensf=cmss10 scaled \magstephalf - -\font\twelverm=cmr10 scaled \magstep1 -\font\twelvebf=cmbx10 scaled \magstep1 -\font\twelvei=cmmi10 scaled \magstep1 \skewchar\twelvei='177 -\font\twelvesy=cmsy10 scaled \magstep1 \skewchar\twelvesy='60 - -\font\fourteenrm=cmr10 scaled \magstep2 -\font\fourteenbf=cmbx10 scaled \magstep2 -\font\fourteenit=cmti10 scaled \magstep2 -\font\fourteeni=cmmi10 scaled \magstep2 \skewchar\fourteeni='177 -\font\fourteensy=cmsy10 scaled \magstep2 \skewchar\fourteensy='60 -\font\fourteensl=cmsl10 scaled \magstep2 -\font\fourteentt=cmtt10 scaled \magstep2 \hyphenchar\fourteentt=-1 -\font\fourteencsc=cmcsc10 scaled \magstep2 -\font\fourteensf=cmss10 scaled \magstep2 - -\font\seventeenrm=cmr10 scaled \magstep3 -\font\seventeenbf=cmbx10 scaled \magstep3 -\font\seventeenit=cmti10 scaled \magstep3 -\font\seventeeni=cmmi10 scaled \magstep3 \skewchar\seventeeni='177 -\font\seventeensy=cmsy10 scaled \magstep3 \skewchar\seventeensy='60 -\font\seventeensl=cmsl10 scaled \magstep3 -\font\seventeentt=cmtt10 scaled \magstep3 \hyphenchar\seventeentt=-1 -\font\seventeencsc=cmcsc10 scaled \magstep3 -\font\seventeensf=cmss10 scaled \magstep3 -% -\fi - -\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\makestrut{% - \setbox\strutbox=\hbox{% - \vrule height.7\baselineskip depth.3\baselineskip width \z@}% -} - -\def\baselinestretch{1} -\newskip\tmp@bls - -\def\b@ls#1{% set baseline using \baselinestretch as a scale factor - \tmp@bls=#1\relax - \baselineskip=#1\relax\makestrut - \normalbaselineskip=\baselinestretch\tmp@bls - \normalbaselines -} - -\def\nostb@ls#1{% set baseline skip ignoring \baselinestretch - \normalbaselineskip=#1\relax - \normalbaselines - \makestrut -} - - -% families \itfam, \slfam, \bffam, \ttfam defined in PLAIN. -% -% \itfam is \fam4 -% \slfam is \fam5 -% \bffam is \fam6 -% \ttfam is \fam7 - -\newfam\scfam % \fam8 -\newfam\sffam % \fam9 - -\def\mit{\fam\@ne} -\def\cal{\fam\tw@} -\def\em{\ifdim\fontdimen1\font>\z@ \rm\else\it\fi} - -\textfont3=\tenex -\scriptfont3=\tenex -\scriptscriptfont3=\tenex - -\setbox0=\hbox{\tenex B} \p@renwd=\wd0 % width of the big left ( - -\def\eightpoint{% 8^6^5 on 10pt - \def\rm{\fam0\eightrm}% - \textfont0=\eightrm \scriptfont0=\sixrm \scriptscriptfont0=\fiverm% - \textfont1=\eighti \scriptfont1=\sixi \scriptscriptfont1=\fivei% - \textfont2=\eightsy \scriptfont2=\sixsy \scriptscriptfont2=\fivesy% - \textfont\itfam=\eightit\def\it{\fam\itfam\eightit}% - \ifprod@font - \scriptfont\itfam=\sixit - \scriptscriptfont\itfam=\fiveit - \else - \scriptfont\itfam=\eightit - \scriptscriptfont\itfam=\eightit - \fi - \textfont\bffam=\eightbf% - \scriptfont\bffam=\sixbf% - \scriptscriptfont\bffam=\fivebf% - \def\bf{\fam\bffam\eightbf}% - \textfont\slfam=\eightsl\def\sl{\fam\slfam\eightsl}% - \ifprod@font - \scriptfont\slfam=\sixsl - \scriptscriptfont\slfam=\fivesl - \else - \scriptfont\slfam=\eightsl - \scriptscriptfont\slfam=\eightsl - \fi - \textfont\ttfam=\eighttt\def\tt{\fam\ttfam\eighttt}% - \ifprod@font - \scriptfont\ttfam=\sixtt - \scriptscriptfont\ttfam=\fivett - \else - \scriptfont\ttfam=\eighttt - \scriptscriptfont\ttfam=\eighttt - \fi - \textfont\scfam=\eightcsc\def\sc{\fam\scfam\eightcsc}% - \ifprod@font - \scriptfont\scfam=\sixcsc - \scriptscriptfont\scfam=\fivecsc - \else - \scriptfont\scfam=\eightcsc - \scriptscriptfont\scfam=\eightcsc - \fi - \textfont\sffam=\eightsf\def\sf{\fam\sffam\eightsf}% - \ifprod@font - \scriptfont\sffam=\sixsf - \scriptscriptfont\sffam=\fivesf - \else - \scriptfont\sffam=\eightsf - \scriptscriptfont\sffam=\eightsf - \fi - \def\oldstyle{\fam\@ne\eighti}% - \b@ls{10pt}\rm\@viiipt% -} -\def\@viiipt{} - -\def\ninepoint{% 9^6^5 on 11pt (two col) / 12 (single col) - \def\rm{\fam0\ninerm}% - \textfont0=\ninerm \scriptfont0=\sixrm \scriptscriptfont0=\fiverm% - \textfont1=\ninei \scriptfont1=\sixi \scriptscriptfont1=\fivei% - \textfont2=\ninesy \scriptfont2=\sixsy \scriptscriptfont2=\fivesy% - \textfont\itfam=\nineit\def\it{\fam\itfam\nineit}% - \ifprod@font - \scriptfont\itfam=\sixit - \scriptscriptfont\itfam=\fiveit - \else - \scriptfont\itfam=\nineit - \scriptscriptfont\itfam=\nineit - \fi - \textfont\bffam=\ninebf% - \scriptfont\bffam=\sixbf% - \scriptscriptfont\bffam=\fivebf% - \def\bf{\fam\bffam\ninebf}% - \textfont\slfam=\ninesl\def\sl{\fam\slfam\ninesl}% - \ifprod@font - \scriptfont\slfam=\sixsl - \scriptscriptfont\slfam=\fivesl - \else - \scriptfont\slfam=\ninesl - \scriptscriptfont\slfam=\ninesl - \fi - \textfont\ttfam=\ninett\def\tt{\fam\ttfam\ninett}% - \ifprod@font - \scriptfont\ttfam=\sixtt - \scriptscriptfont\ttfam=\fivett - \else - \scriptfont\ttfam=\ninett - \scriptscriptfont\ttfam=\ninett - \fi - \textfont\scfam=\ninecsc\def\sc{\fam\scfam\ninecsc}% - \ifprod@font - \scriptfont\scfam=\sixcsc - \scriptscriptfont\scfam=\fivecsc - \else - \scriptfont\scfam=\ninecsc - \scriptscriptfont\scfam=\ninecsc - \fi - \textfont\sffam=\ninesf\def\sf{\fam\sffam\ninesf}% - \ifprod@font - \scriptfont\sffam=\sixsf - \scriptscriptfont\sffam=\fivesf - \else - \scriptfont\sffam=\ninesf - \scriptscriptfont\sffam=\ninesf - \fi - \def\oldstyle{\fam\@ne\ninei}% - \b@ls{\TextLeading plus \Feathering}\rm\@ixpt% -} -\def\@ixpt{} - -\def\tenpoint{% 10^7^5 on 11pt - \def\rm{\fam0\tenrm}% - \textfont0=\tenrm \scriptfont0=\sevenrm \scriptscriptfont0=\fiverm% - \textfont1=\teni \scriptfont1=\seveni \scriptscriptfont1=\fivei% - \textfont2=\tensy \scriptfont2=\sevensy \scriptscriptfont2=\fivesy% - \textfont\itfam=\tenit\def\it{\fam\itfam\tenit}% - \ifprod@font - \scriptfont\itfam=\sevenit - \scriptscriptfont\itfam=\fiveit - \else - \scriptfont\itfam=\tenit - \scriptscriptfont\itfam=\tenit - \fi - \textfont\bffam=\tenbf% - \scriptfont\bffam=\sevenbf% - \scriptscriptfont\bffam=\fivebf% - \def\bf{\fam\bffam\tenbf}% - \textfont\slfam=\tensl\def\sl{\fam\slfam\tensl}% - \ifprod@font - \scriptfont\slfam=\sevensl - \scriptscriptfont\slfam=\fivesl - \else - \scriptfont\slfam=\tensl - \scriptscriptfont\slfam=\tensl - \fi - \textfont\ttfam=\tentt\def\tt{\fam\ttfam\tentt}% - \ifprod@font - \scriptfont\ttfam=\seventt - \scriptscriptfont\ttfam=\fivett - \else - \scriptfont\ttfam=\tentt - \scriptscriptfont\ttfam=\tentt - \fi - \textfont\scfam=\tencsc\def\sc{\fam\scfam\tencsc}% - \ifprod@font - \scriptfont\scfam=\sevencsc - \scriptscriptfont\scfam=\fivecsc - \else - \scriptfont\scfam=\tencsc - \scriptscriptfont\scfam=\tencsc - \fi - \textfont\sffam=\tensf\def\sf{\fam\sffam\tensf}% - \ifprod@font - \scriptfont\sffam=\sevensf - \scriptscriptfont\sffam=\fivesf - \else - \scriptfont\sffam=\tensf - \scriptscriptfont\sffam=\tensf - \fi - \def\oldstyle{\fam\@ne\teni}% - \b@ls{11pt}\rm\@xpt% -} -\def\@xpt{} - -\def\elevenpoint{% 11^8^6 on 13pt - \def\rm{\fam0\elevenrm}% - \textfont0=\elevenrm \scriptfont0=\eightrm \scriptscriptfont0=\sixrm% - \textfont1=\eleveni \scriptfont1=\eighti \scriptscriptfont1=\sixi% - \textfont2=\elevensy \scriptfont2=\eightsy \scriptscriptfont2=\sixsy% - \textfont\itfam=\elevenit\def\it{\fam\itfam\elevenit}% - \ifprod@font - \scriptfont\itfam=\eightit - \scriptscriptfont\itfam=\sixit - \else - \scriptfont\itfam=\elevenit - \scriptscriptfont\itfam=\elevenit - \fi - \textfont\bffam=\elevenbf% - \scriptfont\bffam=\eightbf% - \scriptscriptfont\bffam=\sixbf% - \def\bf{\fam\bffam\elevenbf}% - \textfont\slfam=\elevensl\def\sl{\fam\slfam\elevensl}% - \ifprod@font - \scriptfont\slfam=\eightsl - \scriptscriptfont\slfam=\sixsl - \else - \scriptfont\slfam=\elevensl - \scriptscriptfont\slfam=\elevensl - \fi - \textfont\ttfam=\eleventt\def\tt{\fam\ttfam\eleventt}% - \ifprod@font - \scriptfont\ttfam=\eighttt - \scriptscriptfont\ttfam=\sixtt - \else - \scriptfont\ttfam=\eleventt - \scriptscriptfont\ttfam=\eleventt - \fi - \textfont\scfam=\elevencsc\def\sc{\fam\scfam\elevencsc}% - \ifprod@font - \scriptfont\scfam=\eightcsc - \scriptscriptfont\scfam=\sixcsc - \else - \scriptfont\scfam=\elevencsc - \scriptscriptfont\scfam=\elevencsc - \fi - \textfont\sffam=\elevensf\def\sf{\fam\sffam\elevensf}% - \ifprod@font - \scriptfont\sffam=\eightsf - \scriptscriptfont\sffam=\sixsf - \else - \scriptfont\sffam=\elevensf - \scriptscriptfont\sffam=\elevensf - \fi - \def\oldstyle{\fam\@ne\eleveni}% - \b@ls{13pt}\rm\@xipt% -} -\def\@xipt{} - -\def\fourteenpoint{% 14^10^7 on 17pt - \def\rm{\fam0\fourteenrm}% - \textfont0\fourteenrm \scriptfont0\tenrm \scriptscriptfont0\sevenrm% - \textfont1\fourteeni \scriptfont1\teni \scriptscriptfont1\seveni% - \textfont2\fourteensy \scriptfont2\tensy \scriptscriptfont2\sevensy% - \textfont\itfam=\fourteenit\def\it{\fam\itfam\fourteenit}% - \ifprod@font - \scriptfont\itfam=\tenit - \scriptscriptfont\itfam=\sevenit - \else - \scriptfont\itfam=\fourteenit - \scriptscriptfont\itfam=\fourteenit - \fi - \textfont\bffam=\fourteenbf% - \scriptfont\bffam=\tenbf% - \scriptscriptfont\bffam=\sevenbf% - \def\bf{\fam\bffam\fourteenbf}% - \textfont\slfam=\fourteensl\def\sl{\fam\slfam\fourteensl}% - \ifprod@font - \scriptfont\slfam=\tensl - \scriptscriptfont\slfam=\sevensl - \else - \scriptfont\slfam=\fourteensl - \scriptscriptfont\slfam=\fourteensl - \fi - \textfont\ttfam=\fourteentt\def\tt{\fam\ttfam\fourteentt}% - \ifprod@font - \scriptfont\ttfam=\tentt - \scriptscriptfont\ttfam=\seventt - \else - \scriptfont\ttfam=\fourteentt - \scriptscriptfont\ttfam=\fourteentt - \fi - \textfont\scfam=\fourteencsc\def\sc{\fam\scfam\fourteencsc}% - \ifprod@font - \scriptfont\scfam=\tencsc - \scriptscriptfont\scfam=\sevencsc - \else - \scriptfont\scfam=\fourteencsc - \scriptscriptfont\scfam=\fourteencsc - \fi - \textfont\sffam=\fourteensf\def\sf{\fam\sffam\fourteensf}% - \ifprod@font - \scriptfont\sffam=\tensf - \scriptscriptfont\sffam=\sevensf - \else - \scriptfont\sffam=\fourteensf - \scriptscriptfont\sffam=\fourteensf - \fi - \def\oldstyle{\fam\@ne\fourteeni}% - \b@ls{17pt}\rm\@xivpt% -} -\def\@xivpt{} - -\def\seventeenpoint{% 17^12^10 on 20pt - \def\rm{\fam0\seventeenrm}% - \textfont0\seventeenrm \scriptfont0\twelverm \scriptscriptfont0\tenrm% - \textfont1\seventeeni \scriptfont1\twelvei \scriptscriptfont1\teni% - \textfont2\seventeensy \scriptfont2\twelvesy \scriptscriptfont2\tensy% - \textfont\itfam=\seventeenit\def\it{\fam\itfam\seventeenit}% - \ifprod@font - \scriptfont\itfam=\twelveit - \scriptscriptfont\itfam=\tenit - \else - \scriptfont\itfam=\seventeenit - \scriptscriptfont\itfam=\seventeenit - \fi - \textfont\bffam=\seventeenbf% - \scriptfont\bffam=\twelvebf% - \scriptscriptfont\bffam=\tenbf% - \def\bf{\fam\bffam\seventeenbf}% - \textfont\slfam=\seventeensl\def\sl{\fam\slfam\seventeensl}% - \ifprod@font - \scriptfont\slfam=\twelvesl - \scriptscriptfont\slfam=\tensl - \else - \scriptfont\slfam=\seventeensl - \scriptscriptfont\slfam=\seventeensl - \fi - \textfont\ttfam=\seventeentt\def\tt{\fam\ttfam\seventeentt}% - \ifprod@font - \scriptfont\ttfam=\twelvett - \scriptscriptfont\ttfam=\tentt - \else - \scriptfont\ttfam=\seventeentt - \scriptscriptfont\ttfam=\seventeentt - \fi - \textfont\scfam=\seventeencsc\def\sc{\fam\scfam\seventeencsc}% - \ifprod@font - \scriptfont\scfam=\twelvecsc - \scriptscriptfont\scfam=\tencsc - \else - \scriptfont\scfam=\seventeencsc - \scriptscriptfont\scfam=\seventeencsc - \fi - \textfont\sffam=\seventeensf\def\sf{\fam\sffam\seventeensf}% - \ifprod@font - \scriptfont\sffam=\twelvesf - \scriptscriptfont\sffam=\tensf - \else - \scriptfont\sffam=\seventeensf - \scriptscriptfont\sffam=\seventeensf - \fi - \def\oldstyle{\fam\@ne\seventeeni}% - \b@ls{20pt}\rm\@xviipt% -} -\def\@xviipt{} - -\lineskip=1pt \normallineskip=\lineskip -\lineskiplimit=\z@ \normallineskiplimit=\lineskiplimit - - -% BOLD MATH SYMBOLS - -\def\loadboldmathnames{% - \def\balpha{{\bmath{\alpha}}}% - \def\bbeta{{\bmath{\beta}}}% - \def\bgamma{{\bmath{\gamma}}}% - \def\bdelta{{\bmath{\delta}}}% - \def\bepsilon{{\bmath{\epsilon}}}% - \def\bzeta{{\bmath{\zeta}}}% - \def\boldeta{{\bmath{\eta}}}% - \def\btheta{{\bmath{\theta}}}% - \def\biota{{\bmath{\iota}}}% - \def\bkappa{{\bmath{\kappa}}}% - \def\blambda{{\bmath{\lambda}}}% - \def\bmu{{\bmath{\mu}}}% - \def\bnu{{\bmath{\nu}}}% - \def\bxi{{\bmath{\xi}}}% - \def\bpi{{\bmath{\pi}}}% - \def\brho{{\bmath{\rho}}}% - \def\bsigma{{\bmath{\sigma}}}% - \def\btau{{\bmath{\tau}}}% - \def\bupsilon{{\bmath{\upsilon}}}% - \def\bphi{{\bmath{\phi}}}% - \def\bchi{{\bmath{\chi}}}% - \def\bpsi{{\bmath{\psi}}}% - \def\bomega{{\bmath{\omega}}}% - \def\bvarepsilon{{\bmath{\varepsilon}}}% - \def\bvartheta{{\bmath{\vartheta}}}% - \def\bvarpi{{\bmath{\varpi}}}% - \def\bvarrho{{\bmath{\varrho}}}% - \def\bvarsigma{{\bmath{\varsigma}}}% - \def\bvarphi{{\bmath{\varphi}}}% - \def\baleph{{\bmath{\aleph}}}% - \def\bimath{{\bmath{\imath}}}% - \def\bjmath{{\bmath{\jmath}}}% - \def\bell{{\bmath{\ell}}}% - \def\bwp{{\bmath{\wp}}}% - \def\bRe{{\bmath{\Re}}}% - \def\bIm{{\bmath{\Im}}}% - \def\bpartial{{\bmath{\partial}}}% - \def\binfty{{\bmath{\infty}}}% - \def\bprime{{\bmath{\prime}}}% - \def\bemptyset{{\bmath{\emptyset}}}% - \def\bnabla{{\bmath{\nabla}}}% - \def\btop{{\bmath{\top}}}% - \def\bbot{{\bmath{\bot}}}% - \def\btriangle{{\bmath{\triangle}}}% - \def\bforall{{\bmath{\forall}}}% - \def\bexists{{\bmath{\exists}}}% - \def\bneg{{\bmath{\neg}}}% - \def\bflat{{\bmath{\flat}}}% - \def\bnatural{{\bmath{\natural}}}% - \def\bsharp{{\bmath{\sharp}}}% - \def\bclubsuit{{\bmath{\clubsuit}}}% - \def\bdiamondsuit{{\bmath{\diamondsuit}}}% - \def\bheartsuit{{\bmath{\heartsuit}}}% - \def\bspadesuit{{\bmath{\spadesuit}}}% - \def\bsmallint{{\bmath{\smallint}}}% - \def\btriangleleft{{\bmath{\triangleleft}}}% - \def\btriangleright{{\bmath{\triangleright}}}% - \def\bbigtriangleup{{\bmath{\bigtriangleup}}}% - \def\bbigtriangledown{{\bmath{\bigtriangledown}}}% - \def\bwedge{{\bmath{\wedge}}}% - \def\bvee{{\bmath{\vee}}}% - \def\bcap{{\bmath{\cap}}}% - \def\bcup{{\bmath{\cup}}}% - \def\bddagger{{\bmath{\ddagger}}}% - \def\bdagger{{\bmath{\dagger}}}% - \def\bsqcap{{\bmath{\sqcap}}}% - \def\bsqcup{{\bmath{\sqcup}}}% - \def\buplus{{\bmath{\uplus}}}% - \def\bamalg{{\bmath{\amalg}}}% - \def\bdiamond{{\bmath{\diamond}}}% - \def\bbullet{{\bmath{\bullet}}}% - \def\bwr{{\bmath{\wr}}}% - \def\bdiv{{\bmath{\div}}}% - \def\bodot{{\bmath{\odot}}}% - \def\boslash{{\bmath{\oslash}}}% - \def\botimes{{\bmath{\otimes}}}% - \def\bominus{{\bmath{\ominus}}}% - \def\boplus{{\bmath{\oplus}}}% - \def\bmp{{\bmath{\mp}}}% - \def\bpm{{\bmath{\pm}}}% - \def\bcirc{{\bmath{\circ}}}% - \def\bbigcirc{{\bmath{\bigcirc}}}% - \def\bsetminus{{\bmath{\setminus}}}% - \def\bcdot{{\bmath{\cdot}}}% - \def\bast{{\bmath{\ast}}}% - \def\btimes{{\bmath{\times}}}% - \def\bstar{{\bmath{\star}}}% - \def\bpropto{{\bmath{\propto}}}% - \def\bsqsubseteq{{\bmath{\sqsubseteq}}}% - \def\bsqsupseteq{{\bmath{\sqsupseteq}}}% - \def\bparallel{{\bmath{\parallel}}}% - \def\bmid{{\bmath{\mid}}}% - \def\bdashv{{\bmath{\dashv}}}% - \def\bvdash{{\bmath{\vdash}}}% - \def\bnearrow{{\bmath{\nearrow}}}% - \def\bsearrow{{\bmath{\searrow}}}% - \def\bnwarrow{{\bmath{\nwarrow}}}% - \def\bswarrow{{\bmath{\swarrow}}}% - \def\bLeftrightarrow{{\bmath{\Leftrightarrow}}}% - \def\bLeftarrow{{\bmath{\Leftarrow}}}% - \def\bRightarrow{{\bmath{\Rightarrow}}}% - \def\bleq{{\bmath{\leq}}}% - \def\bgeq{{\bmath{\geq}}}% - \def\bsucc{{\bmath{\succ}}}% - \def\bprec{{\bmath{\prec}}}% - \def\bapprox{{\bmath{\approx}}}% - \def\bsucceq{{\bmath{\succeq}}}% - \def\bpreceq{{\bmath{\preceq}}}% - \def\bsupset{{\bmath{\supset}}}% - \def\bsubset{{\bmath{\subset}}}% - \def\bsupseteq{{\bmath{\supseteq}}}% - \def\bsubseteq{{\bmath{\subseteq}}}% - \def\bin{{\bmath{\in}}}% - \def\bni{{\bmath{\ni}}}% - \def\bgg{{\bmath{\gg}}}% - \def\bll{{\bmath{\ll}}}% - \def\bnot{{\bmath{\not}}}% - \def\bleftrightarrow{{\bmath{\leftrightarrow}}}% - \def\bleftarrow{{\bmath{\leftarrow}}}% - \def\brightarrow{{\bmath{\rightarrow}}}% - \def\bmapstochar{{\bmath{\mapstochar}}}% - \def\bsim{{\bmath{\sim}}}% - \def\bsimeq{{\bmath{\simeq}}}% - \def\bperp{{\bmath{\perp}}}% - \def\bequiv{{\bmath{\equiv}}}% - \def\basymp{{\bmath{\asymp}}}% - \def\bsmile{{\bmath{\smile}}}% - \def\bfrown{{\bmath{\frown}}}% - \def\bleftharpoonup{{\bmath{\leftharpoonup}}}% - \def\bleftharpoondown{{\bmath{\leftharpoondown}}}% - \def\brightharpoonup{{\bmath{\rightharpoonup}}}% - \def\brightharpoondown{{\bmath{\rightharpoondown}}}% - \def\blhook{{\bmath{\lhook}}}% - \def\brhook{{\bmath{\rhook}}}% - \def\bldotp{{\bmath{\ldotp}}}% - \def\bcdotp{{\bmath{\cdotp}}}% -} - -% Make \, work in non-math mode -\def\,{\relax\ifmmode \mskip\thinmuskip\else \thinspace\fi} -\let\protect=\relax - -\long\def\@ifundefined#1#2#3{\expandafter\ifx\csname - #1\endcsname\relax#2\else#3\fi} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -% NewFont.sty: ALPHA VERSION patchlevel 8, 16th August 1994, M. Reed - -% \addtom@thgroup{math font loading info} -% Adds to internal \math@groups definition, which is executed at the end -% of each size changing command. It is called by \NewSymbolFont. - -\newtoks\math@groups \math@groups={} -\def\addtom@thgroup#1#2{#1\expandafter{\the#1#2}} % \mac={new\the\mac} - - -% Make TeX change the values of \s@ze, \ss@ze, \sss@ze when \@npt is -% executed. This makes it possible for math characters to be loaded -% at the correct size automatically when the size is changed. - -% \addtosizeh@ok{x}{10}{7}{5} - -\def\addtosizeh@ok#1#2#3#4{% - \expandafter\def\csname @#1pt\endcsname{% - \def\s@ze{#2}\def\ss@ze{#3}\def\sss@ze{#4}\the\math@groups% - }% -} - - -% \resetsizehook allows the size parameters to be reset after \addtosizeh@ok -% has been called (it re-defines \@npt). -% e.g JFM which requires \xpt to have 10.5pt instead of 10pt. -% Note: \resetsizehook must be used in the preamble BEFORE any -% \New... commands. - -% e.g. \resetsizehook{x}{10.5}{7}{5} - -\let\resetsizehook=\addtosizeh@ok - - -% Standard LaTeX sizes - -\ifprod@font -% \addtosizeh@ok{v} {5} {5} {5} -% \addtosizeh@ok{vi} {6} {6} {6} -% \addtosizeh@ok{vii} {7} {6} {5} - \addtosizeh@ok{viii} {8} {6} {5} - \addtosizeh@ok{ix} {9} {6} {5} - \addtosizeh@ok{x} {10}{7} {5} - \addtosizeh@ok{xi} {11}{8} {6} -% \addtosizeh@ok{xii} {12}{8} {6} - \addtosizeh@ok{xiv} {14}{10} {7} - \addtosizeh@ok{xvii} {17}{12}{10} -% \addtosizeh@ok{xx} {20}{14}{12} -% \addtosizeh@ok{xxv} {25}{20}{17} -\else -% \addtosizeh@ok{v} {5} {5} {5} -% \addtosizeh@ok{vi} {6} {6} {6} -% \addtosizeh@ok{vii} {7} {6} {5} - \addtosizeh@ok{viii} {8} {6} {5} - \addtosizeh@ok{ix} {9} {6} {5} - \addtosizeh@ok{x} {10} {7} {5} - \addtosizeh@ok{xi} {10.95} {8} {6} -% \addtosizeh@ok{xii} {12} {8} {6} - \addtosizeh@ok{xiv} {14.4} {10} {7} - \addtosizeh@ok{xvii} {17.28} {12} {10} -% \addtosizeh@ok{xx} {20.74} {14.4} {12} -% \addtosizeh@ok{xxv} {24.88} {20.74} {17.28} -\fi - - -\def\get@font#1#2#3{% - \edef\fonts@ze{\romannumeral#3}% 10 -> x - \edef\fontn@me{\fonts@ze#1}% AMSa -> xAMSa - \@ifundefined{\fontn@me}% - {%%\typeout{defining \fontn@me}% - \global\expandafter\font\csname \fontn@me\endcsname=#2 at #3pt}% - {}% -} - -\def\ass@tfont#1#2{% - \xdef\fam@name{\csname #1\endcsname}% - \xdef\font@name{\csname #2\endcsname}% - \let\textfont@name\font@name - \textfont\fam@name\textfont@name -} - -\def\ass@sfont#1#2{% - \xdef\fam@name{\csname #1\endcsname}% - \xdef\font@name{\csname #2\endcsname}% - \let\textfont@name\font@name - \scriptfont\fam@name\textfont@name -} - -\def\ass@ssfont#1#2{% - \xdef\fam@name{\csname #1\endcsname}% - \xdef\font@name{\csname #2\endcsname}% - \let\textfont@name\font@name - \scriptscriptfont\fam@name\textfont@name -} - - -% fam name base font (allocates a \newfam) -% \NewSymbolFont {AMSa} {mtxm10} - -\def\NewSymbolFont#1#2{% - \expandafter\ifx\csname sym#1fam\endcsname\relax % if not defined - \expandafter\newfam\csname sym#1fam\endcsname - \expandafter\edef\csname sym#1fam\endcsname{\the\allocationnumber}% - \addtom@thgroup\math@groups{% - \get@font{#1}{#2}{\s@ze}% - \ass@tfont{sym#1fam}{\fontn@me}% - \get@font{#1}{#2}{\ss@ze}% - \ass@sfont{sym#1fam}{\fontn@me}% - \get@font{#1}{#2}{\sss@ze}% - \ass@ssfont{sym#1fam}{\fontn@me}% - }% - \else - \errmessage{Family `#1' already defined}% - \fi -} - - -% symbol type fam pos (hex) -% \NewMathSymbol {\blacksquare} {0} {AMSa} {04} - -\def\NewMathSymbol#1#2#3#4{% - \edef\f@mly{\expandafter\hexnumber{\csname sym#3fam\endcsname}}% - \mathchardef#1="#2\f@mly#4\relax -} - - -% macro name type fam1 pos fam2 pos -% \NewMathDelimiter{\ulcorner} {4} {AMSa} {70} {AMSb} {70} - -\newif\ifd@f - -\def\NewMathDelimiter#1#2#3#4#5#6{% - \d@ftrue - \expandafter\ifx\csname sym#3fam\endcsname\relax - \d@ffalse \errmessage{Family `#3' is not defined}% - \fi - \expandafter\ifx\csname sym#5fam\endcsname\relax - \d@ffalse \errmessage{Family `#5' is not defined}% - \fi - \ifd@f - \edef\f@mly{\expandafter\hexnumber{\csname sym#3fam\endcsname}}% - \edef\f@mlytw@{\expandafter\hexnumber{\csname sym#5fam\endcsname}}% - \xdef#1{\delimiter"#2\f@mly #4\f@mlytw@ #6\relax}% - \fi -} - - -% macro name base font skewchar setting e.g '60 (octal) -% \NewMathAlphabet {mathbssi} {mtmisb10} {} - -\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} - -\def\m@thit{1} - -\def\set@skchar#1{\global\expandafter\skewchar - \csname\fontn@me\endcsname=#1\relax} - -\def\NewMathAlphabet#1#2#3{% - \def\tst{#3}% - \ifx\tst\empty\else % if a \skewchar setting is present - \expandafter\gdef\csname #1@sc\endcsname{}% \def\cmd@sc{..} - \fi - % - \expandafter\def\csname #1\endcsname{% \def\cmd{\protect\@cmd} - \protect\csname @#1\endcsname}% - % - \expandafter\def\csname @#1\endcsname##1{% \def\@cmd{..} - {% - \begingroup - \get@font{#1}{#2}{\s@ze}% - \@ifundefined{#1@sc}{}{\set@skchar{#3}}% - \ass@tfont{m@thit}{\fontn@me}% - \get@font{#1}{#2}{\ss@ze}% - \@ifundefined{#1@sc}{}{\set@skchar{#3}}% - \ass@sfont{m@thit}{\fontn@me}% - \get@font{#1}{#2}{\sss@ze}% - \@ifundefined{#1@sc}{}{\set@skchar{#3}}% - \ass@ssfont{m@thit}{\fontn@me}% - % - \math@atom{##1}{% - \mathchoice% - {\hbox{$\m@th\displaystyle##1$}}% - {\hbox{$\m@th\textstyle##1$}}% - {\hbox{$\m@th\scriptstyle##1$}}% - {\hbox{$\m@th\scriptscriptstyle##1$}}}% - \endgroup - }% - }% -} - - -% macro name base font hyphenchar setting e.g -1 (off) -% \NewTextAlphabet {textbfit} {mtbxti10} {} - -% save a family if \NewTextAlphabet is not used. -\newif\iffirstta \firsttatrue - -\def\set@hchar#1{\global\expandafter\hyphenchar - \csname\fontn@me\endcsname=#1\relax} - -\def\NewTextAlphabet#1#2#3{% - \iffirstta - \global\firsttafalse - \newfam\scratchfam - \edef\scrt@fam{\the\allocationnumber}% - \fi - \def\tst{#3}% - \ifx\tst\empty\else % if a \hyphenchar setting is required - \expandafter\gdef\csname #1@hc\endcsname{}% \def\cmd@sc{..} - \fi - % - \expandafter\def\csname #1\endcsname{% \def\cmd{\protect\t@cmd} - \protect\csname t@#1\endcsname}% - % - \long\expandafter\def\csname t@#1\endcsname##1{% \def\t@cmd{..} - \ifmmode - \typeout{Warning: do not use \expandafter\string\csname #1\endcsname - \space in math mode}\fi% - {% - \get@font{#1}{#2}{\s@ze}\let\t@xtfnt=\fontn@me\relax - \@ifundefined{#1@hc}{}{\set@hchar{#3}}% - \ass@tfont{scrt@fam}{\fontn@me}% - \get@font{#1}{#2}{\ss@ze}% - \@ifundefined{#1@hc}{}{\set@hchar{#3}}% - \ass@sfont{scrt@fam}{\fontn@me}% - \get@font{#1}{#2}{\sss@ze}% - \@ifundefined{#1@hc}{}{\set@hchar{#3}}% - \ass@ssfont{scrt@fam}{\fontn@me}% - \fam\scratchfam\csname\t@xtfnt\endcsname - ##1% - }% - }% - % - \expandafter\def\csname #1shape% \def\cmdshape{\protect\@cmdshape} - \endcsname{\protect\csname @#1shape\endcsname}% - % - \expandafter\def\csname @#1shape\endcsname{% \def\@cmdshape - \ifmmode - \typeout{Warning: do not use \expandafter\string\csname - #1shape\endcsname \space in math mode}\fi - % - \get@font{#1}{#2}{\s@ze}\let\t@xtfnt=\fontn@me\relax - \@ifundefined{#1@hc}{}{\set@hchar{#3}}% - \ass@tfont{scrt@fam}{\fontn@me}% - \get@font{#1}{#2}{\ss@ze}% - \@ifundefined{#1@hc}{}{\set@hchar{#3}}% - \ass@sfont{scrt@fam}{\fontn@me}% - \get@font{#1}{#2}{\sss@ze}% - \@ifundefined{#1@hc}{}{\set@hchar{#3}}% - \ass@ssfont{scrt@fam}{\fontn@me}% - \fam\scratchfam\csname\t@xtfnt\endcsname - }% -} - - -% \bmath{math text} - -\ifprod@font - \def\math@itfnt{mtmib10} - \def\math@syfnt{mtbsy10} -\else - \def\math@itfnt{cmmib10} - \def\math@syfnt{cmbsy10} -\fi - -\def\m@thsy{2} - -\def\bmath{\protect\@bmath} -\def\@bmath#1{% - {% - \begingroup - \get@font{mthit}{\math@itfnt}{\s@ze}\set@skchar{'177}% - \ass@tfont{m@thit}{\fontn@me}% - \get@font{mthit}{\math@itfnt}{\ss@ze}\set@skchar{'177}% - \ass@sfont{m@thit}{\fontn@me}% - \get@font{mthit}{\math@itfnt}{\sss@ze}\set@skchar{'177}% - \ass@ssfont{m@thit}{\fontn@me}% - % - \get@font{mthsy}{\math@syfnt}{\s@ze}\set@skchar{'60}% - \ass@tfont{m@thsy}{\fontn@me}% - \get@font{mthsy}{\math@syfnt}{\ss@ze}\set@skchar{'60}% - \ass@sfont{m@thsy}{\fontn@me}% - \get@font{mthsy}{\math@syfnt}{\sss@ze}\set@skchar{'60}% - \ass@ssfont{m@thsy}{\fontn@me}% - % - \math@atom{#1}{% - \mathchoice% - {\hbox{$\m@th\displaystyle#1$}}% - {\hbox{$\m@th\textstyle#1$}}% - {\hbox{$\m@th\scriptstyle#1$}}% - {\hbox{$\m@th\scriptscriptstyle#1$}}}% - \endgroup - }% -} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - -% Astronomy and Astrophysics symbol macros - -\def\la{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil -$\displaystyle##$\hfil\cr<\cr\sim\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr -<\cr\sim\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr -<\cr\sim\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr -<\cr\sim\cr}}}}} - -\def\ga{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil -$\displaystyle##$\hfil\cr>\cr\sim\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr ->\cr\sim\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr ->\cr\sim\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr ->\cr\sim\cr}}}}} - -\def\getsto{\mathrel{\mathchoice {\vcenter{\offinterlineskip -\halign{\hfil -$\displaystyle##$\hfil\cr\gets\cr\to\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr\gets -\cr\to\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr\gets -\cr\to\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr -\gets\cr\to\cr}}}}} - -\def\cor{\mathrel{\mathchoice {\hbox{$\widehat=$}}{\hbox{$\widehat=$}} -{\hbox{$\scriptstyle\hat=$}} -{\hbox{$\scriptscriptstyle\hat=$}}}} - -\def\lid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil -$\displaystyle##$\hfil\cr<\cr\noalign{\vskip1.2pt}=\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr<\cr -\noalign{\vskip1.2pt}=\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr<\cr -\noalign{\vskip1pt}=\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr -<\cr -\noalign{\vskip0.9pt}=\cr}}}}} - -\def\gid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil -$\displaystyle##$\hfil\cr>\cr\noalign{\vskip1.2pt}=\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr>\cr -\noalign{\vskip1.2pt}=\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr>\cr -\noalign{\vskip1pt}=\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr ->\cr -\noalign{\vskip0.9pt}=\cr}}}}} - -\def\sol{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil -$\displaystyle##$\hfil\cr\sim\cr<\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr\sim\cr -<\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr\sim\cr -<\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr -\sim\cr<\cr}}}}} - -\def\sog{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil -$\displaystyle##$\hfil\cr\sim\cr>\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr\sim\cr ->\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr -\sim\cr>\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr -\sim\cr>\cr}}}}} - -\def\lse{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil -$\displaystyle##$\hfil\cr<\cr\simeq\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr -<\cr\simeq\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr -<\cr\simeq\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr -<\cr\simeq\cr}}}}} - -\def\gse{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil -$\displaystyle##$\hfil\cr>\cr\simeq\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr ->\cr\simeq\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr ->\cr\simeq\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr ->\cr\simeq\cr}}}}} - -\def\grole{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil -$\displaystyle##$\hfil\cr>\cr\noalign{\vskip-1.5pt}<\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr ->\cr\noalign{\vskip-1.5pt}<\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr ->\cr\noalign{\vskip-1pt}<\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr ->\cr\noalign{\vskip-0.5pt}<\cr}}}}} - -\def\leogr{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil -$\displaystyle##$\hfil\cr<\cr\noalign{\vskip-1.5pt}>\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr -<\cr\noalign{\vskip-1.5pt}>\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr -<\cr\noalign{\vskip-1pt}>\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr -<\cr\noalign{\vskip-0.5pt}>\cr}}}}} - -\def\loa{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil -$\displaystyle##$\hfil\cr<\cr\approx\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr -<\cr\approx\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr -<\cr\approx\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr -<\cr\approx\cr}}}}} - -\def\goa{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil -$\displaystyle##$\hfil\cr>\cr\approx\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr ->\cr\approx\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr ->\cr\approx\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr ->\cr\approx\cr}}}}} - -\def\sun{\hbox{$\odot$}} -\def\degr{\hbox{$^\circ$}} -\def\diameter{{\ifmmode\mathchoice -{\ooalign{\hfil\hbox{$\displaystyle/$}\hfil\crcr -{\hbox{$\displaystyle\mathchar"20D$}}}} -{\ooalign{\hfil\hbox{$\textstyle/$}\hfil\crcr -{\hbox{$\textstyle\mathchar"20D$}}}} -{\ooalign{\hfil\hbox{$\scriptstyle/$}\hfil\crcr -{\hbox{$\scriptstyle\mathchar"20D$}}}} -{\ooalign{\hfil\hbox{$\scriptscriptstyle/$}\hfil\crcr -{\hbox{$\scriptscriptstyle\mathchar"20D$}}}} -\else{\ooalign{\hfil/\hfil\crcr\mathhexbox20D}}% -\fi}} - -\def\sq{\ifmmode\squareforqed\else{\unskip\nobreak\hfil -\penalty50\hskip1em\null\nobreak\hfil\squareforqed -\parfillskip=0pt\finalhyphendemerits=0\endgraf}\fi} -\def\squareforqed{\hbox{\rlap{$\sqcap$}$\sqcup$}} - -\def\fd{\hbox{$.\!\!^{\rm d}$}} -\def\fh{\hbox{$.\!\!^{\rm h}$}} -\def\fm{\hbox{$.\!\!^{\rm m}$}} -\def\fs{\hbox{$.\!\!^{\rm s}$}} -\def\fdg{\hbox{$.\!\!^\circ$}} -\def\farcm{\hbox{$.\mkern-4mu^\prime$}} -\def\farcs{\hbox{$.\!\!^{\prime\prime}$}} -\def\fp{\hbox{$.\!\!^{\scriptscriptstyle\rm p}$}} -\def\arcmin{\hbox{$^\prime$}} -\def\arcsec{\hbox{$^{\prime\prime}$}} - -% Simulated Blackboard Bold symbols - -\def\bbbr{{\rm I\!R}} -\def\bbbm{{\rm I\!M}} -\def\bbbn{{\rm I\!N}} -\def\bbbf{{\rm I\!F}} -\def\bbbh{{\rm I\!H}} -\def\bbbk{{\rm I\!K}} -\def\bbbp{{\rm I\!P}} -\def\bbbone{{\mathchoice {\rm 1\mskip-4mu l} {\rm 1\mskip-4mu l} -{\rm 1\mskip-4.5mu l} {\rm 1\mskip-5mu l}}} -\def\bbbc{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm C$}\hbox{\hbox -to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}} -{\setbox0=\hbox{$\textstyle\rm C$}\hbox{\hbox -to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptstyle\rm C$}\hbox{\hbox -to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptscriptstyle\rm C$}\hbox{\hbox -to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}}} -\def\bbbq{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm -Q$}\hbox{\raise -0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}} -{\setbox0=\hbox{$\textstyle\rm Q$}\hbox{\raise -0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptstyle\rm Q$}\hbox{\raise -0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptscriptstyle\rm Q$}\hbox{\raise -0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}}} -\def\bbbt{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm -T$}\hbox{\hbox to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}} -{\setbox0=\hbox{$\textstyle\rm T$}\hbox{\hbox -to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptstyle\rm T$}\hbox{\hbox -to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptscriptstyle\rm T$}\hbox{\hbox -to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}}} -\def\bbbs{{\mathchoice -{\setbox0=\hbox{$\displaystyle \rm S$}\hbox{\raise0.5\ht0\hbox -to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox -to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}} -{\setbox0=\hbox{$\textstyle \rm S$}\hbox{\raise0.5\ht0\hbox -to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox -to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptstyle \rm S$}\hbox{\raise0.5\ht0\hbox -to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox -to0pt{\kern0.5\wd0\vrule height0.45\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptscriptstyle\rm S$}\hbox{\raise0.5\ht0\hbox -to0pt{\kern0.4\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox -to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}} -\def\bbbz{{\mathchoice {\hbox{$\sf\textstyle Z\kern-0.4em Z$}} -{\hbox{$\sf\textstyle Z\kern-0.4em Z$}} -{\hbox{$\sf\scriptstyle Z\kern-0.3em Z$}} -{\hbox{$\sf\scriptscriptstyle Z\kern-0.2em Z$}}}} - - -% NUMBER THE DESIGN ELEMENTS - -\def\Nulle{0} % null element -\def\Afe{1} % author affiliation -\def\Hae{2} % heading A -\def\Hbe{3} % heading B -\def\Hce{4} % heading C -\def\Hde{5} % heading D - - -% TEMPORARY REGISTERS - -\newcount\LastMac \LastMac=\Nulle - -\newskip\half \half=5.5pt plus 1.5pt minus 2.25pt -\newskip\one \one=11pt plus 3pt minus 5.5pt -\newskip\onehalf \onehalf=16.5pt plus 5.5pt minus 8.25pt -\newskip\two \two=22pt plus 5.5pt minus 11pt - -\def\Half{\addvspace{\half}} -\def\One{\addvspace{\one}} -\def\OneHalf{\addvspace{\onehalf}} -\def\Two{\addvspace{\two}} - -\def\Referee{% produce version for refereeing - \def\baselinestretch{2}% - \ninepoint -} - -\def\Raggedright{% set lines unjustified - \rightskip=\z@ plus \hsize\relax -} - -\def\Fullout{% set lines justified - \rightskip=\z@\relax -} - -\def\Hang#1#2{% set hanging indentation - \hangindent=#1% - \hangafter=#2\relax -} - -\def\makeatletter{\catcode `\@=11\relax} -\def\makeatother{\catcode `\@=12\relax} - - -% Pagestyles - -\newif\ifsp@page -\def\pagestyle#1{\csname ps@#1\endcsname} -\def\thispagestyle#1{\global\sp@pagetrue\gdef\sp@type{#1}} - -\def\ps@titlepage{% - \def\@oddhead{\eightpoint\noindent \the\CatchLine - \ifprod@font\else\qquad Printed\ \today\qquad - (MN plain \TeX\ macros\ v\@version)\fi \hfil}% - \let\@evenhead=\@oddhead -} - -\def\ps@headings{% - \def\@oddhead{\elevenpoint\it\noindent - \hfill\the\RightHeader\hskip1.5em\rm\folio}% - \def\@evenhead{\elevenpoint\noindent - \folio\hskip1.5em\it\the\LeftHeader\hfill}% -} - -\def\ps@plate{% - \def\@oddhead{\eightpoint\noindent\plt@cap\hfil}% - \def\@evenhead{\eightpoint\noindent\plt@cap\hfil}% -} - - -% DESIGN ELEMENT DEFINITIONS - -% Article opening - -\def\title#1{% article title - \bgroup - \vbox to 8pt{\vss}% - \seventeenpoint - \Raggedright - \noindent \strut{\bf #1}\par - \egroup -} - -\def\author#1{% article author(s) - \bgroup - \ifnum\LastMac=\Afe \OneHalf\else \vskip 21pt\fi - \fourteenpoint - \Raggedright - \noindent \strut #1\par - \vskip 3pt% - \egroup -} - -\def\affiliation#1{% author(s) affiliation - \bgroup - \vskip -4pt% - \eightpoint - \Raggedright - \noindent \strut {\it #1}\par - \egroup - \LastMac=\Afe\relax -} - -\def\acceptedline#1{% acceptance date - \bgroup - \Two - \eightpoint - \Raggedright - \noindent \strut #1\par - \egroup -} - -\long\def\abstract#1{% - \bgroup - \vskip 20pt% - \everypar{\Hang{11pc}{0}}% - \noindent{\ninebf ABSTRACT}\par - \tenpoint - \Fullout - \noindent #1\par - \egroup -} - -\long\def\keywords#1{% keywords - \bgroup - \Half - \everypar{\Hang{11pc}{0}}% - \tenpoint - \Fullout - \noindent\hbox{\bf Key words:}\ #1\par - \egroup -} - - -% The \maketitle macro ensures that the two spanning material appears -% at the top of the first page, and that it has two lines of space -% underneath it. If you forget this in you input, no output will be produced. -% The \BeginOpening (alias \begintopmatter) macro should be called at the -% very start of the input file, so that it is in force when the document -% starts. This ensures that when \maketitle is called that the group is -% closed, and the material gets printed. - -\def\maketitle{% - \EndOpening - \ifsinglecol \else \MakePage\fi -} - - -% Page offset - -\def\pageoffset#1#2{\hoffset=#1\relax\voffset=#2\relax} - - -% Counter setup - -\def\@nameuse#1{\csname #1\endcsname} -\def\arabic#1{\@arabic{\@nameuse{#1}}} -\def\alph#1{\@alph{\@nameuse{#1}}} -\def\Alph#1{\@Alph{\@nameuse{#1}}} -\def\@arabic#1{\number #1} -\def\@Alph#1{\ifcase#1\or A\or B\or C\or D\else\@Ialph{#1}\fi} -\def\@Ialph#1{\ifcase#1\or \or \or \or \or E\or F\or G\or H\or I\or J\or - K\or L\or M\or N\or O\or P\or Q\or R\or S\or T\or U\or V\or W\or X\or - Y\or Z\else\errmessage{Counter out of range}\fi} -\def\@alph#1{\ifcase#1\or a\or b\or c\or d\else\@ialph{#1}\fi} -\def\@ialph#1{\ifcase#1\or \or \or \or \or e\or f\or g\or h\or i\or j\or - k\or l\or m\or n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or y\or - z\else\errmessage{Counter out of range}\fi} - - -% Equation auto-numbering - -\newcount\Eqnno -\newcount\SubEqnno - -\def\theeq{\arabic{Eqnno}} -\def\thesubeq{\alph{SubEqnno}} - -\def\stepeq{\relax - \global\SubEqnno \z@ - \global\advance\Eqnno \@ne\relax - {\rm (\theeq)}% -} - -\def\startsubeq{\relax - \global\SubEqnno \z@ - \global\advance\Eqnno \@ne\relax - \stepsubeq -} - -\def\stepsubeq{\relax - \global\advance\SubEqnno \@ne\relax - {\rm (\theeq\thesubeq)}% -} - - -% Headings - -\newcount\Sec % heading auto number counters -\newcount\SecSec -\newcount\SecSecSec - -\def\thesection{\arabic{Sec}} -\def\thesubsection{\thesection.\arabic{SecSec}} -\def\thesubsubsection{\thesubsection.\arabic{SecSecSec}} - - -\Sec=\z@ - -\def\:{\let\@sptoken= } \: % this makes \@sptoken a space token -\def\:{\@xifnch} \expandafter\def\: {\futurelet\@tempc\@ifnch} - -\def\@ifnextchar#1#2#3{% - \let\@tempMACe #1% - \def\@tempMACa{#2}% - \def\@tempMACb{#3}% - \futurelet \@tempMACc\@ifnch% -} - -\def\@ifnch{% -\ifx \@tempMACc \@sptoken% - \let\@tempMACd\@xifnch% -\else% - \ifx \@tempMACc \@tempMACe% - \let\@tempMACd\@tempMACa% - \else% - \let\@tempMACd\@tempMACb% - \fi% -\fi% -\@tempMACd% -} - -\def\@ifstar#1#2{\@ifnextchar *{\def\@tempMACa*{#1}\@tempMACa}{#2}} - -\newskip\@tempskipb - -\def\addvspace#1{% - \ifvmode\else \endgraf\fi% - \ifdim\lastskip=\z@% - \vskip #1\relax% - \else% - \@tempskipb#1\relax\@xaddvskip% - \fi% -} - -\def\@xaddvskip{% - \ifdim\lastskip<\@tempskipb% - \vskip-\lastskip% - \vskip\@tempskipb\relax% - \else% - \ifdim\@tempskipb<\z@% - \ifdim\lastskip<\z@ \else% - \advance\@tempskipb\lastskip% - \vskip-\lastskip\vskip\@tempskipb% - \fi% - \fi% - \fi% -} - -\newskip\@tmpSKIP - -\def\addpen#1{% - \ifvmode - \if@nobreak - \else - \ifdim\lastskip=\z@ - \penalty#1\relax - \else - \@tmpSKIP=\lastskip - \vskip -\lastskip - \penalty#1\vskip\@tmpSKIP - \fi - \fi - \fi -} - -\newcount\@clubpen \@clubpen=\clubpenalty -\newif\if@nobreak \@nobreakfalse - -\def\@noafterindent{% - \global\@nobreaktrue - \everypar{\if@nobreak - \global\@nobreakfalse - \clubpenalty \@M - {\setbox\z@\lastbox}% - \LastMac=\Nulle\relax% - \else - \clubpenalty \@clubpen - \everypar{}% - \fi}% -} - -\newcount\gds@cbrk \gds@cbrk=-300 - -\def\@nohdbrk{\interlinepenalty \@M\relax} - -\let\@par=\par -\def\@restorepar{\def\par{\@par}} - -\newif\if@endpe \@endpefalse - -\def\@doendpe{\@endpetrue \@nobreakfalse \LastMac=\Nulle\relax% - \def\par{\@restorepar\everypar{}\par\@endpefalse}% - \everypar{\setbox\z@\lastbox\everypar{}\@endpefalse}% -} - -\def\section{\@ifstar{\@ssection}{\@section}} - -\def\@section#1{% heading A (\section{....}) - \if@nobreak - \everypar{}% - \ifnum\LastMac=\Hae \addvspace{\half}\fi - \else - \addpen{\gds@cbrk}% - \addvspace{\two}% - \fi - \bgroup - \ninepoint\bf - \Raggedright - \global\advance\Sec \@ne - \ifappendix - \global\Eqnno=\z@ \global\SubEqnno=\z@\relax - \def\ch@ck{#1}% - \ifx\ch@ck\empty \def\c@lon{}\else\def\c@lon{:}\fi - \noindent\@nohdbrk APPENDIX\ \thesection\c@lon\hskip 0.5em% - \uppercase{#1}\par - \else - \noindent\@nohdbrk\thesection\hskip 1pc \uppercase{#1}\par - \fi - \global\SecSec=\z@ - \egroup - \nobreak - \vskip\half - \nobreak - \@noafterindent - \LastMac=\Hae\relax -} - -\def\@ssection#1{% main section heading (\section*{....}) - \if@nobreak - \everypar{}% - \ifnum\LastMac=\Hae \addvspace{\half}\fi - \else - \addpen{\gds@cbrk}% - \addvspace{\two}% - \fi - \bgroup - \ninepoint\bf - \Raggedright -% \ifappendix -% \global\Eqnno=\z@ \global\SubEqnno=\z@\relax % mh in apps dont reset -% \noindent\@nohdbrk APPENDIX:\hskip 0.5em% -% \uppercase{#1}\par -% \else - \noindent\@nohdbrk\uppercase{#1}\par -% \fi - \egroup - \nobreak - \vskip\half - \nobreak - \@noafterindent - \LastMac=\Hae\relax -} - -\def\subsection{\@ifstar{\@ssubsection}{\@subsection}} - -\def\@subsection#1{% heading B - \if@nobreak - \everypar{}% - \ifnum\LastMac=\Hae \addvspace{1pt plus 1pt minus .5pt}\fi - \else - \addpen{\gds@cbrk}% - \addvspace{\onehalf}% - \fi - \bgroup - \ninepoint\bf - \Raggedright - \global\advance\SecSec \@ne - \noindent\@nohdbrk\thesubsection \hskip 1pc\relax #1\par - \global\SecSecSec=\z@ - \egroup - \nobreak - \vskip\half - \nobreak - \@noafterindent - \LastMac=\Hbe\relax -} - -\def\@ssubsection#1{% heading B* - \if@nobreak - \everypar{}% - \ifnum\LastMac=\Hae \addvspace{1pt plus 1pt minus .5pt}\fi - \else - \addpen{\gds@cbrk}% - \addvspace{\onehalf}% - \fi - \bgroup - \ninepoint\bf - \Raggedright - \noindent\@nohdbrk #1\par - \egroup - \nobreak - \vskip\half - \nobreak - \@noafterindent - \LastMac=\Hbe\relax -} - -\def\subsubsection{\@ifstar{\@ssubsubsection}{\@subsubsection}} - -\def\@subsubsection#1{% heading C - \if@nobreak - \everypar{}% - \ifnum\LastMac=\Hbe \addvspace{1pt plus 1pt minus .5pt}\fi - \else - \addpen{\gds@cbrk}% - \addvspace{\onehalf}% - \fi - \bgroup - \ninepoint\it - \Raggedright - \global\advance\SecSecSec \@ne - \noindent\@nohdbrk\thesubsubsection \hskip 1pc\relax #1\par - \egroup - \nobreak - \vskip\half - \nobreak - \@noafterindent - \LastMac=\Hce\relax -} - -\def\@ssubsubsection#1{% heading C* - \if@nobreak - \everypar{}% - \ifnum\LastMac=\Hbe \addvspace{1pt plus 1pt minus .5pt}\fi - \else - \addpen{\gds@cbrk}% - \addvspace{\onehalf}% - \fi - \bgroup - \ninepoint\it - \Raggedright - \noindent\@nohdbrk #1\par - \egroup - \nobreak - \vskip\half - \nobreak - \@noafterindent - \LastMac=\Hce\relax -} - -\def\paragraph#1{% heading D - \if@nobreak - \everypar{}% - \else - \addpen{\gds@cbrk}% - \addvspace{\one}% - \fi% - \bgroup% - \ninepoint\it - \noindent #1\ \nobreak% - \egroup - \LastMac=\Hde\relax - \ignorespaces -} - - -% Appendix - -\newif\ifappendix - -\def\appendix{% - \global\appendixtrue - \def\thesection{\Alph{Sec}}% - \def\thesubsection{\thesection\arabic{SecSec}}% - \def\theeq{\thesection\arabic{Eqnno}}% - \Sec=\z@ \SecSec=\z@ \SecSecSec=\z@ \Eqnno=\z@ \SubEqnno=\z@\relax -} - - -% Text - -\let\tx=\relax % provided for backward compatibility - - -% Lists - -\def\beginlist{% - \par\if@nobreak \else\addvspace{\half}\fi% - \bgroup% - \ninepoint - \let\item=\list@item% -} - -\def\list@item{% - \par\noindent\hskip 1em\relax% - \ignorespaces% -} - -\def\endlist{\par\egroup\addvspace{\half}\@doendpe} - - -% References - -\def\beginrefs{% - \par - \bgroup - \eightpoint - \Fullout - \let\bibitem=\bib@item -} - -\def\bib@item{% - \par\parindent=1.5em\Hang{1.5em}{1}% - \everypar={\Hang{1.5em}{1}\ignorespaces}% - \noindent\ignorespaces -} - -\def\endrefs{\par\egroup\@doendpe} - - -% Page heads - -\newtoks\CatchLine - -\def\@journal{Mon.\ Not.\ R.\ Astron.\ Soc.\ } % The journal title string -\def\@pubyear{1994} % Assign a default publication year -\def\@pagerange{000--000} % Assign a default page-range -\def\@volume{000} % Assign a default volume number -\def\@microfiche{} % - -\def\pubyear#1{\gdef\@pubyear{#1}\@makecatchline} -\def\pagerange#1{\gdef\@pagerange{#1}\@makecatchline} -\def\volume#1{\gdef\@volume{#1}\@makecatchline} -\def\microfiche#1{\gdef\@microfiche{and Microfiche\ #1}\@makecatchline} - -\def\@makecatchline{% - \global\CatchLine{% - {\rm \@journal {\bf \@volume},\ \@pagerange\ (\@pubyear)\ \@microfiche}}% -} - -\@makecatchline % Assign a catchline, using the above defaults - -\newtoks\LeftHeader -\def\shortauthor#1{% left page head - \global\LeftHeader{#1}% -} - -\newtoks\RightHeader -\def\shorttitle#1{% right page head - \global\RightHeader{#1}% -} - -\def\PageHead{% recto/verso running heads - \begingroup - \ifsp@page - \csname ps@\sp@type\endcsname - \global\sp@pagefalse - \fi - \ifodd\pageno - \let\the@head=\@oddhead - \else - \let\the@head=\@evenhead - \fi - \vbox to \z@{\vskip-22.5\p@% - \hbox to \PageWidth{\vbox to8.5\p@{}% - \the@head - }% - \vss}% - \endgroup - \nointerlineskip -} - -\def\today{% - \number\day\space - \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 - \space\number\year% -} - -\def\PageFoot{} % No page footer as default - -\def\authorcomment#1{% - \gdef\PageFoot{% - \nointerlineskip% - \vbox to 22pt{\vfil% - \hbox to \PageWidth{\elevenpoint\noindent \hfil #1 \hfil}}% - }% -} - - -% Plate pages - -\newif\ifplate@page -\newbox\plt@box - -\def\beginplatepage{% - \let\plate=\plate@head - \let\caption=\fig@caption - \global\setbox\plt@box=\vbox\bgroup - \TEMPDIMEN=\PageWidth % For \fig@caption test - \hsize=\PageWidth\relax -} - -\def\endplatepage{\par\egroup\global\plate@pagetrue} -\def\plate@head#1{\gdef\plt@cap{#1}} - -% Letters option - -\def\letters{% - \gdef\folio{\ifnum\pageno<\z@ L\romannumeral-\pageno - \else L\number\pageno \fi}% -} - - -% Math setup - -% The standard math indentation -\newdimen\mathindent - -\global\mathindent=\z@ -\global\everydisplay{\global\@dspwd=\displaywidth\displaysetup} - -% New versions of \displaylines, \eqalign, \eqalignno for -% when non-centered math is in use. - -\def\@displaylines#1{% (for non-centered math) - {}$\displ@y\hbox{\vbox{\halign{$\@lign\hfil\displaystyle##\hfil$\crcr - #1\crcr}}}${}% -} - -\def\@eqalign#1{\null\vcenter{\openup\jot\m@th% (for non-centered math) - \ialign{\strut\hfil$\displaystyle{##}$&$\displaystyle{{}##}$\hfil - \crcr#1\crcr}}% -} - -\def\@eqalignno#1{% (for non-centered math) - \global\advance\@dspwd by -\mathindent% - {}$\displ@y\hbox{\vbox{\halign to\@dspwd% - {\hfil$\@lign\displaystyle{##}$\tabskip\z@skip - &$\@lign\displaystyle{{}##}$\hfil\tabskip\centering - &\llap{$\@lign##$}\tabskip\z@skip\crcr - #1\crcr}}}${}% -} - -% When equations are flushleft ensure, that \displaylines, -% \eqalign, \eqalignno and \leqalignno point to the new versions of -% the macros. Also make \leqalignno act like \eqalignno, otherwise the -% equation text would `crash' into the equation number. - -\global\let\displaylines=\@displaylines -\global\let\eqalign=\@eqalign -\global\let\eqalignno=\@eqalignno -\global\let\leqalignno=\@eqalignno - -\newdimen\@dspwd \@dspwd=\z@ -\newif\if@eqno -\newif\if@leqno -\newtoks\@eqn -\newtoks\@eq - -\def\displaysetup#1$${\displaytest#1\eqno\eqno\displaytest} - -\def\displaytest#1\eqno#2\eqno#3\displaytest{% - \if!#3!\ldisplaytest#1\leqno\leqno\ldisplaytest - \else\@eqnotrue\@leqnofalse\@eqn={#2}\@eq={#1}\fi - \generaldisplay$$} - -\def\ldisplaytest#1\leqno#2\leqno#3\ldisplaytest{% -\@eq={#1}% - \if!#3!\@eqnofalse\else\@eqnotrue\@leqnotrue - \@eqn={#2}\fi} - -\def\generaldisplay{% - \if@eqno - \if@leqno - \hbox to \displaywidth{\noindent - \rlap{$\displaystyle\the\@eqn$}% - \hskip\mathindent$\displaystyle\the\@eq$\hfil}% - \else - \hbox to \displaywidth{\noindent - \hskip\mathindent - $\displaystyle\the\@eq$\hfil$\displaystyle\the\@eqn$}% - \fi - \else - \hbox to \displaywidth{\noindent - \hskip\mathindent$\displaystyle\the\@eq$\hfil}% - \fi -} - - -% Finishing notice - -\def\@notice{% - \par\Two% - \noindent{\b@ls{11pt}\ninerm This paper has been produced using the - Royal Astronomical Society/Blackwell Science \TeX\ macros.\par}% -} - -% redefine \bye to output our identification notice : -\outer\def\bye{\@notice\par\vfill\supereject\end} - - -% define a sign on : - -\def\start@mess{% - Monthly notices of the RAS journal style (\@typeface)\space - v\@version,\space \@verdate.% -} - -\everyjob{\Warn{\start@mess}} - - -% Two-column macros - -%--------------------------------------------------------% -% INITIALISATION % -%--------------------------------------------------------% - -\newif\if@debug \@debugfalse % when false, only warnings displayed - -\def\Print#1{\if@debug\immediate\write16{#1}\else \fi} -\def\Warn#1{\immediate\write16{#1}} -\def\wlog#1{} - -\newcount\Iteration % temporary loop counter - -\def\Single{0} \def\Double{1} % ItemSPAN's -\def\Figure{0} \def\Table{1} % ItemTYPE's - -\def\InStack{0} % ItemSTATUS -\def\InZoneA{1} -\def\InZoneB{2} -\def\InZoneC{3} - -\newcount\TEMPCOUNT % temporary count register -\newdimen\TEMPDIMEN % temporary dimen register -\newbox\TEMPBOX % temporary box register -\newbox\VOIDBOX % a box which is permenately void - -\newcount\LengthOfStack % number of items currently in stack -\newcount\MaxItems % maximum number of items allowed in stack -\newcount\StackPointer -\newcount\Point % used in calculation for generating the - % physical address of an item in the stack. -\newcount\NextFigure % number of next figure to be output -\newcount\NextTable % number of next table to be output -\newcount\NextItem % Next item to consider by order in stack - -\newcount\StatusStack % set to point to top of STATUS stack -\newcount\NumStack % set to point to top of NUMBER stack -\newcount\TypeStack % set to point to top of TYPE stack -\newcount\SpanStack % set to point to top of SPAN stack -\newcount\BoxStack % set to point to top of BOX stack - -\newcount\ItemSTATUS % status of present item -\newcount\ItemNUMBER % number of present item -\newcount\ItemTYPE % type of present item -\newcount\ItemSPAN % span of present item -\newbox\ItemBOX % box of present item -\newdimen\ItemSIZE % size of present item - % (calculated by GetItemBOX) - -\newdimen\PageHeight % vertical measure of full page -\newdimen\TextLeading % distance between baselines of body text -\newdimen\Feathering % amount of interline stretch -\newcount\LinesPerPage % height of page in text lines -\newdimen\ColumnWidth % width of 1 column of text -\newdimen\ColumnGap % size of gap between columns -\newdimen\PageWidth % = \ColumnWidth * 2 + \ColumnGap -\newdimen\BodgeHeight % Bodge to align figures and tables with text -\newcount\Leading % Set to same as \TextLeading above - -\newdimen\ZoneBSize % size of items in ZoneB -\newdimen\TextSize % size of text in ZoneB -\newbox\ZoneABOX % contains Zone A material -\newbox\ZoneBBOX % contains Zone B material -\newbox\ZoneCBOX % contains Zone C material - -\newif\ifFirstSingleItem -\newif\ifFirstZoneA -\newif\ifMakePageInComplete -\newif\ifMoreFigures \MoreFiguresfalse % set true in join stack -\newif\ifMoreTables \MoreTablesfalse % set true in join stack - -\newif\ifFigInZoneB % used to determine in which zone an item -\newif\ifFigInZoneC % will be placed based on what is in other -\newif\ifTabInZoneB % zones already for a given page. -\newif\ifTabInZoneC - -\newif\ifZoneAFullPage - -\newbox\MidBOX % = LeftBOX+gap+RightBOX -\newbox\LeftBOX -\newbox\RightBOX -\newbox\PageBOX % complete made-up page - -\newif\ifLeftCOL % flags first pass through output routine -\LeftCOLtrue - -\newdimen\ZoneBAdjust - -\newcount\ItemFits -\def\Yes{1} -\def\No{2} - -\def\LineAdjust#1{\global\ZoneBAdjust=#1\TextLeading\relax} - - -% Setup file. - -\MaxItems=15 -\NextFigure=\z@ % used for article opening -\NextTable=\@ne - -\BodgeHeight=6pt -\TextLeading=11pt % baselineskip of body text -\Leading=11 -\Feathering=\z@ % amount of interline stretch -\LinesPerPage=61 % number of text lines per full page -1 -\topskip=\TextLeading -\ColumnWidth=20pc % width of text columns -\ColumnGap=2pc % gap between columns - -\newskip\ItemSepamount % space between floats -\ItemSepamount=\TextLeading plus \TextLeading minus 4pt - -\parskip=\z@ plus .1pt -\parindent=18pt -\widowpenalty=\z@ -\clubpenalty=10000 -\tolerance=1500 -\hbadness=1500 -\abovedisplayskip=6pt plus 2pt minus 1pt -\belowdisplayskip=6pt plus 2pt minus 1pt -\abovedisplayshortskip=6pt plus 2pt minus 1pt -\belowdisplayshortskip=6pt plus 2pt minus 1pt - -\frenchspacing - -\ninepoint % start main text size - -\PageHeight=682pt -\PageWidth=2\ColumnWidth -\advance\PageWidth by \ColumnGap - -\pagestyle{headings} - - -%--------------------------------------------------------% -% STACKS % -%--------------------------------------------------------% - -% THE ITEM STACK -% The item stack contains contains figures and tables -% in the order in which they appear in the article source -% code. - -% allocate stack space - -\newcount\DUMMY \StatusStack=\allocationnumber -\newcount\DUMMY \newcount\DUMMY \newcount\DUMMY -\newcount\DUMMY \newcount\DUMMY \newcount\DUMMY -\newcount\DUMMY \newcount\DUMMY \newcount\DUMMY -\newcount\DUMMY \newcount\DUMMY \newcount\DUMMY -\newcount\DUMMY \newcount\DUMMY \newcount\DUMMY - -\newcount\DUMMY \NumStack=\allocationnumber -\newcount\DUMMY \newcount\DUMMY \newcount\DUMMY -\newcount\DUMMY \newcount\DUMMY \newcount\DUMMY -\newcount\DUMMY \newcount\DUMMY \newcount\DUMMY -\newcount\DUMMY \newcount\DUMMY \newcount\DUMMY -\newcount\DUMMY \newcount\DUMMY \newcount\DUMMY - -\newcount\DUMMY \TypeStack=\allocationnumber -\newcount\DUMMY \newcount\DUMMY \newcount\DUMMY -\newcount\DUMMY \newcount\DUMMY \newcount\DUMMY -\newcount\DUMMY \newcount\DUMMY \newcount\DUMMY -\newcount\DUMMY \newcount\DUMMY \newcount\DUMMY -\newcount\DUMMY \newcount\DUMMY \newcount\DUMMY - -\newcount\DUMMY \SpanStack=\allocationnumber -\newcount\DUMMY \newcount\DUMMY \newcount\DUMMY -\newcount\DUMMY \newcount\DUMMY \newcount\DUMMY -\newcount\DUMMY \newcount\DUMMY \newcount\DUMMY -\newcount\DUMMY \newcount\DUMMY \newcount\DUMMY -\newcount\DUMMY \newcount\DUMMY \newcount\DUMMY - -\newbox\DUMMY \BoxStack=\allocationnumber -\newbox\DUMMY \newbox\DUMMY \newbox\DUMMY -\newbox\DUMMY \newbox\DUMMY \newbox\DUMMY -\newbox\DUMMY \newbox\DUMMY \newbox\DUMMY -\newbox\DUMMY \newbox\DUMMY \newbox\DUMMY -\newbox\DUMMY \newbox\DUMMY \newbox\DUMMY - -\def\wlog{\immediate\write\m@ne} - -% \GetItemSTATUS, \GetItemNUMBER, \GetItemTYPE, \GetItemSPAN, -% \GetItemBox -% are used to get details of a particular item from the item -% stack. The argument to each of these is the items position -% in the stack (usually \StackPointer)...not the items number. - -\def\GetItemAll#1{% - \GetItemSTATUS{#1} - \GetItemNUMBER{#1} - \GetItemTYPE{#1} - \GetItemSPAN{#1} - \GetItemBOX{#1} -} - -% Note: \LeaveStack uses this routine. Do not destroy \Point -\def\GetItemSTATUS#1{% - \Point=\StatusStack - \advance\Point by #1 - \global\ItemSTATUS=\count\Point -} - -% Note: \LeaveStack uses this routine. Do not destroy \Point -\def\GetItemNUMBER#1{% - \Point=\NumStack - \advance\Point by #1 - \global\ItemNUMBER=\count\Point -} - -% Note: \LeaveStack uses this routine. Do not destroy \Point -\def\GetItemTYPE#1{% - \Point=\TypeStack - \advance\Point by #1 - \global\ItemTYPE=\count\Point -} - -% Note: \LeaveStack uses this routine. Do not destroy \Point -\def\GetItemSPAN#1{% - \Point\SpanStack - \advance\Point by #1 - \global\ItemSPAN=\count\Point -} - -% Note: \LeaveStack uses this routine. Do not destroy \Point -\def\GetItemBOX#1{% - \Point=\BoxStack - \advance\Point by #1 - \global\setbox\ItemBOX=\vbox{\copy\Point} - \global\ItemSIZE=\ht\ItemBOX - \global\advance\ItemSIZE by \dp\ItemBOX - \TEMPCOUNT=\ItemSIZE - \divide\TEMPCOUNT by \Leading - \divide\TEMPCOUNT by 65536 - \advance\TEMPCOUNT \@ne - \ItemSIZE=\TEMPCOUNT pt - \global\multiply\ItemSIZE by \Leading -} - -% item joins stack - -\def\JoinStack{% - \ifnum\LengthOfStack=\MaxItems % stack is full of items - \Warn{WARNING: Stack is full...some items will be lost!} - \else - \Point=\StatusStack - \advance\Point by \LengthOfStack - \global\count\Point=\ItemSTATUS - \Point=\NumStack - \advance\Point by \LengthOfStack - \global\count\Point=\ItemNUMBER - \Point=\TypeStack - \advance\Point by \LengthOfStack - \global\count\Point=\ItemTYPE - \Point\SpanStack - \advance\Point by \LengthOfStack - \global\count\Point=\ItemSPAN - \Point=\BoxStack - \advance\Point by \LengthOfStack - \global\setbox\Point=\vbox{\copy\ItemBOX} - \global\advance\LengthOfStack \@ne - \ifnum\ItemTYPE=\Figure % used in \MakePage - \global\MoreFigurestrue - \else - \global\MoreTablestrue - \fi - \fi -} - -% item leaves stack -% #1=physical position of the item to be removed - -\def\LeaveStack#1{% - {\Iteration=#1 - \loop - \ifnum\Iteration<\LengthOfStack - \advance\Iteration \@ne - \GetItemSTATUS{\Iteration} - \advance\Point by \m@ne - \global\count\Point=\ItemSTATUS - \GetItemNUMBER{\Iteration} - \advance\Point by \m@ne - \global\count\Point=\ItemNUMBER - \GetItemTYPE{\Iteration} - \advance\Point by \m@ne - \global\count\Point=\ItemTYPE - \GetItemSPAN{\Iteration} - \advance\Point by \m@ne - \global\count\Point=\ItemSPAN - \GetItemBOX{\Iteration} - \advance\Point by \m@ne - \global\setbox\Point=\vbox{\copy\ItemBOX} - \repeat} - \global\advance\LengthOfStack by \m@ne -} - -% clean stack -% This routine scans through the stack and removes anything -% that does not have STATUS=\InStack. - -\newif\ifStackNotClean - -\def\CleanStack{% - \StackNotCleantrue - {\Iteration=\z@ - \loop - \ifStackNotClean - \GetItemSTATUS{\Iteration} - \ifnum\ItemSTATUS=\InStack - \advance\Iteration \@ne - \else - \LeaveStack{\Iteration} - \fi - \ifnum\LengthOfStack<\Iteration - \StackNotCleanfalse - \fi - \repeat} -} - -% Find item. -% This macro searches from the top to the bottom of the -% stack for an item of a specified type and number. -% #1=type, #2=number -% If the specified item is found, then \StackPointer is set -% to point to it, else \StackPointer=-1. -% This routine is used to find the next figure or table -% by number. - -\def\FindItem#1#2{% - \global\StackPointer=\m@ne % assume item isn't in stack for now - {\Iteration=\z@ - \loop - \ifnum\Iteration<\LengthOfStack - \GetItemSTATUS{\Iteration} - \ifnum\ItemSTATUS=\InStack - \GetItemTYPE{\Iteration} - \ifnum\ItemTYPE=#1 - \GetItemNUMBER{\Iteration} - \ifnum\ItemNUMBER=#2 - \global\StackPointer=\Iteration - \Iteration=\LengthOfStack % terminate loop - \fi - \fi - \fi - \advance\Iteration \@ne - \repeat} -} - -% Find next type -% This macro searches from the top to the bottom of the stack -% looking for the first item which has STATUS=\InStack. -% If it is a figure then a figure is what will be considered -% next by \MakePage else table. - -\def\FindNext{% - \global\StackPointer=\m@ne % assume stack is empty for now - {\Iteration=\z@ - \loop - \ifnum\Iteration<\LengthOfStack - \GetItemSTATUS{\Iteration} - \ifnum\ItemSTATUS=\InStack - \GetItemTYPE{\Iteration} - \ifnum\ItemTYPE=\Figure - \ifMoreFigures - \global\NextItem=\Figure - \global\StackPointer=\Iteration - \Iteration=\LengthOfStack % terminate loop - \fi - \fi - \ifnum\ItemTYPE=\Table - \ifMoreTables - \global\NextItem=\Table - \global\StackPointer=\Iteration - \Iteration=\LengthOfStack % terminate loop - \fi - \fi - \fi - \advance\Iteration \@ne - \repeat} -} - -% Change status -% Macro to change the status of a specified item in stack. -% #1=item, #2=new status - -\def\ChangeStatus#1#2{% - \Point=\StatusStack - \advance\Point by #1 - \global\count\Point=#2 -} - - -%--------------------------------------------------------% -% MAKEPAGE % -%--------------------------------------------------------% - -% This macro is called at the start of every new page -% including the first. It scans through the stack picking -% out items which should be placed on this page. It then -% leaves space for the items to be placed later. The routine -% terminates when either there is no room on the page to -% fit the next figure or table, or there are no more items -% in the stack. - -\def\Zone{\InZoneA} - -\ZoneBAdjust=\z@ - -\def\MakePage{% allocate space on this page for stack items - \global\ZoneBSize=\PageHeight - \global\TextSize=\ZoneBSize - \global\ZoneAFullPagefalse - \global\topskip=\TextLeading - \MakePageInCompletetrue - \MoreFigurestrue - \MoreTablestrue - \FigInZoneBfalse - \FigInZoneCfalse - \TabInZoneBfalse - \TabInZoneCfalse - \global\FirstSingleItemtrue - \global\FirstZoneAtrue - \global\setbox\ZoneABOX=\box\VOIDBOX - \global\setbox\ZoneBBOX=\box\VOIDBOX - \global\setbox\ZoneCBOX=\box\VOIDBOX - \loop - \ifMakePageInComplete - \FindNext - \ifnum\StackPointer=\m@ne - \NextItem=\m@ne - \MoreFiguresfalse - \MoreTablesfalse - \fi - \ifnum\NextItem=\Figure - \FindItem{\Figure}{\NextFigure} - \ifnum\StackPointer=\m@ne \global\MoreFiguresfalse - \else - \GetItemSPAN{\StackPointer} - \ifnum\ItemSPAN=\Single \def\Zone{\InZoneB}\relax - \ifFigInZoneC \global\MoreFiguresfalse\fi - \else - \def\Zone{\InZoneA} - \ifFigInZoneB \def\Zone{\InZoneC}\fi - \fi - \fi - \ifMoreFigures\Print{}\FigureItems\fi - \fi -\ifnum\NextItem=\Table - \FindItem{\Table}{\NextTable} - \ifnum\StackPointer=\m@ne \global\MoreTablesfalse - \else - \GetItemSPAN{\StackPointer} - \ifnum\ItemSPAN=\Single\relax - \ifTabInZoneC \global\MoreTablesfalse\fi - \else - \def\Zone{\InZoneA} - \ifTabInZoneB \def\Zone{\InZoneC}\fi - \fi - \fi - \ifMoreTables\Print{}\TableItems\fi - \fi - \MakePageInCompletefalse % assume page is complete - \ifMoreFigures\MakePageInCompletetrue\fi - \ifMoreTables\MakePageInCompletetrue\fi - \repeat -%\Print{TextSize=\the\TextSize} -%\Print{ZoneBSize=\the\ZoneBSize} - \ifZoneAFullPage - \global\TextSize=\z@ - \global\ZoneBSize=\z@ - \global\vsize=\z@\relax - \global\topskip=\z@\relax - \vbox to \z@{\vss} - \eject - \else - \global\advance\ZoneBSize by -\ZoneBAdjust - \global\vsize=\ZoneBSize - \global\hsize=\ColumnWidth - \global\ZoneBAdjust=\z@ - \ifdim\TextSize<23pt - \Warn{} - \Warn{* Making column fall short: TextSize=\the\TextSize *} - \vskip-\lastskip\eject\fi - \fi -} - -\def\MakeRightCol{% allocate space for the right column of text - \global\TextSize=\ZoneBSize - \MakePageInCompletetrue - \MoreFigurestrue - \MoreTablestrue - \global\FirstSingleItemtrue - \global\setbox\ZoneBBOX=\box\VOIDBOX - \def\Zone{\InZoneB} - \loop - \ifMakePageInComplete - \FindNext - \ifnum\StackPointer=\m@ne - \NextItem=\m@ne - \MoreFiguresfalse - \MoreTablesfalse - \fi - \ifnum\NextItem=\Figure - \FindItem{\Figure}{\NextFigure} - \ifnum\StackPointer=\m@ne \MoreFiguresfalse - \else - \GetItemSPAN{\StackPointer} - \ifnum\ItemSPAN=\Double\relax - \MoreFiguresfalse\fi - \fi - \ifMoreFigures\Print{}\FigureItems\fi - \fi - \ifnum\NextItem=\Table - \FindItem{\Table}{\NextTable} - \ifnum\StackPointer=\m@ne \MoreTablesfalse - \else - \GetItemSPAN{\StackPointer} - \ifnum\ItemSPAN=\Double\relax - \MoreTablesfalse\fi - \fi - \ifMoreTables\Print{}\TableItems\fi - \fi - \MakePageInCompletefalse % assume page is complete - \ifMoreFigures\MakePageInCompletetrue\fi - \ifMoreTables\MakePageInCompletetrue\fi - \repeat - \ifZoneAFullPage - \global\TextSize=\z@ - \global\ZoneBSize=\z@ - \global\vsize=\z@\relax - \global\topskip=\z@\relax - \vbox to \z@{\vss} - \eject - \else - \global\vsize=\ZoneBSize - \global\hsize=\ColumnWidth - \ifdim\TextSize<23pt - \Warn{} - \Warn{* Making column fall short: TextSize=\the\TextSize *} - \vskip-\lastskip\eject\fi -\fi -} - -\def\FigureItems{% Stack pointer points to next figure - \Print{Considering...} - \ShowItem{\StackPointer} - \GetItemBOX{\StackPointer} % auto calculates ItemSIZE - \GetItemSPAN{\StackPointer} - \CheckFitInZone % check to see if item fits - \ifnum\ItemFits=\Yes - \ifnum\ItemSPAN=\Single - \ChangeStatus{\StackPointer}{\InZoneB} % flag to be output - \global\FigInZoneBtrue - \ifFirstSingleItem - \hbox{}\vskip-\BodgeHeight - \global\advance\ItemSIZE by \TextLeading - \fi - \unvbox\ItemBOX\ItemSep - \global\FirstSingleItemfalse - \global\advance\TextSize by -\ItemSIZE% allocate space - \global\advance\TextSize by -\TextLeading - \else - \ifFirstZoneA - \global\advance\ItemSIZE by \TextLeading - \global\FirstZoneAfalse\fi - \global\advance\TextSize by -\ItemSIZE - \global\advance\TextSize by -\TextLeading - \global\advance\ZoneBSize by -\ItemSIZE - \global\advance\ZoneBSize by -\TextLeading - \ifFigInZoneB\relax - \else - \ifdim\TextSize<3\TextLeading - \global\ZoneAFullPagetrue - \fi - \fi - \ChangeStatus{\StackPointer}{\Zone} - \ifnum\Zone=\InZoneC \global\FigInZoneCtrue\fi - \fi - \Print{TextSize=\the\TextSize} - \Print{ZoneBSize=\the\ZoneBSize} - \global\advance\NextFigure \@ne - \Print{This figure has been placed.} - \else - \Print{No space available for this figure...holding over.} - \Print{} - \global\MoreFiguresfalse - \fi -} - -\def\TableItems{% Stack pointer points to next table - \Print{Considering...} - \ShowItem{\StackPointer} - \GetItemBOX{\StackPointer} % auto calculates ItemSIZE - \GetItemSPAN{\StackPointer} - \CheckFitInZone % check to see of item fits in Zone - \ifnum\ItemFits=\Yes - \ifnum\ItemSPAN=\Single - \ChangeStatus{\StackPointer}{\InZoneB} - \global\TabInZoneBtrue - \ifFirstSingleItem - \hbox{}\vskip-\BodgeHeight - \global\advance\ItemSIZE by \TextLeading - \fi - \unvbox\ItemBOX\ItemSep - \global\FirstSingleItemfalse - \global\advance\TextSize by -\ItemSIZE - \global\advance\TextSize by -\TextLeading - \else - \ifFirstZoneA - \global\advance\ItemSIZE by \TextLeading - \global\FirstZoneAfalse\fi - \global\advance\TextSize by -\ItemSIZE - \global\advance\TextSize by -\TextLeading - \global\advance\ZoneBSize by -\ItemSIZE - \global\advance\ZoneBSize by -\TextLeading - \ifFigInZoneB\relax - \else - \ifdim\TextSize<3\TextLeading - \global\ZoneAFullPagetrue - \fi - \fi - \ChangeStatus{\StackPointer}{\Zone} - \ifnum\Zone=\InZoneC \global\TabInZoneCtrue\fi - \fi -% \Print{TextSize=\the\TextSize} -% \Print{ZoneBSize=\the\ZoneBSize} - \global\advance\NextTable \@ne - \Print{This table has been placed.} - \else - \Print{No space available for this table...holding over.} - \Print{} - \global\MoreTablesfalse - \fi -} - -% These macros check to see if an item of ItemSIZE will -% fit in a particular zone. If it will, then ItemFits -% will be set true else false. - -\def\CheckFitInZone{% -{\advance\TextSize by -\ItemSIZE - \advance\TextSize by -\TextLeading - \ifFirstSingleItem - \advance\TextSize by \TextLeading - \fi - \ifnum\Zone=\InZoneA\relax - \else \advance\TextSize by -\ZoneBAdjust - \fi - \ifdim\TextSize<3\TextLeading \global\ItemFits=\No - \else \global\ItemFits=\Yes\fi} -} - -\def\BeginOpening{% - % start 9pt a.s.a.p. so that \New.. commands get a chance to init. - \ninepoint - \thispagestyle{titlepage}% - \global\setbox\ItemBOX=\vbox\bgroup% - \hsize=\PageWidth% - \hrule height \z@ - \ifsinglecol\vskip 6pt\fi % Bodge, to get same pos. as two-column! -} - -\let\begintopmatter=\BeginOpening % alias for \BeginOpening - -\def\EndOpening{% - \One% 1 line fixed space below opening - \egroup - \ifsinglecol - \box\ItemBOX% - \vskip\TextLeading plus 2\TextLeading% var. space: min 1, max 3 lines - \@noafterindent - \else - \ItemNUMBER=\z@% - \ItemTYPE=\Figure - \ItemSPAN=\Double - \ItemSTATUS=\InStack - \JoinStack - \fi -} - - -% Figures - -\newif\if@here \@herefalse - -\def\no@float{\global\@heretrue} -\let\nofloat=\relax % only enabled for one column - -\def\beginfigure{% - \@ifstar{\global\@dfloattrue \@bfigure}{\global\@dfloatfalse \@bfigure}% -} - -\def\@bfigure#1{% - \par - \if@dfloat - \ItemSPAN=\Double - \TEMPDIMEN=\PageWidth - \else - \ItemSPAN=\Single - \TEMPDIMEN=\ColumnWidth - \fi - \ifsinglecol - \TEMPDIMEN=\PageWidth - \else - \ItemSTATUS=\InStack - \ItemNUMBER=#1% - \ItemTYPE=\Figure - \fi - \bgroup - \hsize=\TEMPDIMEN - \global\setbox\ItemBOX=\vbox\bgroup - \eightpoint\nostb@ls{10pt}% - \let\caption=\fig@caption - \ifsinglecol \let\nofloat=\no@float\fi -} - -\def\fig@caption#1{% - \vskip 5.5pt plus 6pt% - \bgroup % grouping and size change needed for plate pages - \eightpoint\nostb@ls{10pt}% - \setbox\TEMPBOX=\hbox{#1}% - \ifdim\wd\TEMPBOX>\TEMPDIMEN - \noindent \unhbox\TEMPBOX\par - \else - \hbox to \hsize{\hfil\unhbox\TEMPBOX\hfil}% - \fi - \egroup -} - -\def\endfigure{% - \par\egroup % end \vbox - \egroup - \ifsinglecol - \if@here \midinsert\global\@herefalse\else \topinsert\fi - \unvbox\ItemBOX - \endinsert - \else - \JoinStack - \Print{Processing source for figure \the\ItemNUMBER}% - \fi -} - - -% Tables - -\newbox\tab@cap@box -\def\tab@caption#1{\global\setbox\tab@cap@box=\hbox{#1\par}} - -\newtoks\tab@txt@toks -\long\def\tab@txt#1{\global\tab@txt@toks={#1}\global\table@txttrue} - -\newif\iftable@txt \table@txtfalse -\newif\if@dfloat \@dfloatfalse - -\def\begintable{% - \@ifstar{\global\@dfloattrue \@btable}{\global\@dfloatfalse \@btable}% -} - -\def\@btable#1{% - \par - \if@dfloat - \ItemSPAN=\Double - \TEMPDIMEN=\PageWidth - \else - \ItemSPAN=\Single - \TEMPDIMEN=\ColumnWidth - \fi - \ifsinglecol - \TEMPDIMEN=\PageWidth - \else - \ItemSTATUS=\InStack - \ItemNUMBER=#1% - \ItemTYPE=\Table - \fi - \bgroup - \eightpoint\nostb@ls{10pt}% - \global\setbox\ItemBOX=\vbox\bgroup - \let\caption=\tab@caption - \let\tabletext=\tab@txt - \ifsinglecol \let\nofloat=\no@float\fi -} - -\def\endtable{% - \par\egroup % end \vbox - \egroup - \setbox\TEMPBOX=\hbox to \TEMPDIMEN{% - \eightpoint\nostb@ls{10pt}% - \hss - \vbox{% - \hsize=\wd\ItemBOX - \ifvoid\tab@cap@box - \else - \noindent\unhbox\tab@cap@box - \vskip 5.5pt plus 6pt% - \fi - \box\ItemBOX - \iftable@txt - \vskip 10pt% - \noindent\the\tab@txt@toks - \global\table@txtfalse - \fi - }% - \hss - }% - \ifsinglecol - \if@here \midinsert\global\@herefalse\else \topinsert\fi - \box\TEMPBOX - \endinsert - \else - \global\setbox\ItemBOX=\box\TEMPBOX - \JoinStack - \Print{Processing source for table \the\ItemNUMBER}% - \fi -} - - -\def\UnloadZoneA{% -\FirstZoneAtrue - \Iteration=\z@ - \loop - \ifnum\Iteration<\LengthOfStack - \GetItemSTATUS{\Iteration} - \ifnum\ItemSTATUS=\InZoneA - \GetItemBOX{\Iteration} - \ifFirstZoneA \vbox to \BodgeHeight{\vfil}% - \FirstZoneAfalse\fi - \unvbox\ItemBOX\ItemSep - \LeaveStack{\Iteration} - \else - \advance\Iteration \@ne - \fi - \repeat -} - -\def\UnloadZoneC{% -\Iteration=\z@ - \loop - \ifnum\Iteration<\LengthOfStack - \GetItemSTATUS{\Iteration} - \ifnum\ItemSTATUS=\InZoneC - \GetItemBOX{\Iteration} - \ItemSep\unvbox\ItemBOX - \LeaveStack{\Iteration} - \else - \advance\Iteration \@ne - \fi - \repeat -} - - -%--------------------------------------------------------% -% DIAGNOSTICS % -%--------------------------------------------------------% - -\def\ShowItem#1{% Show details of on item entry in stack - {\GetItemAll{#1} - \Print{\the#1: - {TYPE=\ifnum\ItemTYPE=\Figure Figure\else Table\fi} - {NUMBER=\the\ItemNUMBER} - {SPAN=\ifnum\ItemSPAN=\Single Single\else Double\fi} - {SIZE=\the\ItemSIZE}}} -} - -\def\ShowStack{% - \Print{} - \Print{LengthOfStack = \the\LengthOfStack} - \ifnum\LengthOfStack=\z@ \Print{Stack is empty}\fi - \Iteration=\z@ - \loop - \ifnum\Iteration<\LengthOfStack - \ShowItem{\Iteration} - \advance\Iteration \@ne - \repeat -} - -\def\B#1#2{% -\hbox{\vrule\kern-0.4pt\vbox to #2{% -\hrule width #1\vfill\hrule}\kern-0.4pt\vrule} -} - - -%-------------------------------------------------------% -% SINGLE COLUMN OUTPUT ROUTINE % -%-------------------------------------------------------% - -\newif\ifsinglecol \singlecolfalse - -\def\onecolumn{% - \global\output={\singlecoloutput}% - \global\hsize=\PageWidth - \global\vsize=\PageHeight - \global\ColumnWidth=\hsize - \global\TextLeading=12pt - \global\Leading=12 - \global\singlecoltrue - \global\let\onecolumn=\relax% stop them using \onecolumn again - \global\let\footnote=\sing@footnote% enable footnotes - \global\let\vfootnote=\sing@vfootnote - \ninepoint % reset \baselineskip after leading change - \message{(Single column)}% -} - -\def\singlecoloutput{% - \shipout\vbox{\PageHead\pagebody\PageFoot}% - \advancepageno -% - \ifplate@page - \shipout\vbox{% - \sp@pagetrue - \def\sp@type{plate}% - \global\plate@pagefalse - \PageHead\vbox to \PageHeight{\unvbox\plt@box\vfil}\PageFoot% - }% - \message{[plate]}% - \advancepageno - \fi -% - \ifnum\outputpenalty>-\@MM \else\dosupereject\fi% -} - -\def\ItemSep{\vskip\ItemSepamount\relax} - -\def\ItemSepbreak{\par\ifdim\lastskip<\ItemSepamount - \removelastskip\penalty-200\ItemSep\fi% -} - -% Modify plain's \endinsert so that the mn's spacing is used - -\let\@@endinsert=\endinsert % save plain's original \endinsert - -\def\endinsert{\egroup % finish the \vbox - \if@mid \dimen@\ht\z@ \advance\dimen@\dp\z@ \advance\dimen@12\p@ - \advance\dimen@\pagetotal \advance\dimen@-\pageshrink - \ifdim\dimen@>\pagegoal\@midfalse\p@gefalse\fi\fi - \if@mid \ItemSep\box\z@\ItemSepbreak - \else\insert\topins{\penalty100 % floating insertion - \splittopskip\z@skip - \splitmaxdepth\maxdimen \floatingpenalty\z@ - \ifp@ge \dimen@\dp\z@ - \vbox to\vsize{\unvbox\z@\kern-\dimen@}% depth is zero - \else \box\z@\nobreak\ItemSep\fi}\fi\endgroup% -} - - -% Footnotes (only enabled in single column) - -\def\gobbleone#1{} -\def\gobbletwo#1#2{} -\let\footnote=\gobbletwo % Gobble footnote's unless enabled by \onecolumn -\let\vfootnote=\gobbleone - -\def\sing@footnote#1{\let\@sf\empty % parameter #2 (the text) is read later - \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi - \hbox{$^{\hbox{\eightpoint #1}}$}\@sf\sing@vfootnote{#1}% -} - -\def\sing@vfootnote#1{\insert\footins\bgroup\eightpoint\b@ls{9pt}% - \interlinepenalty\interfootnotelinepenalty - \splittopskip\ht\strutbox % top baseline for broken footnotes - \splitmaxdepth\dp\strutbox \floatingpenalty\@MM - \leftskip\z@skip \rightskip\z@skip \spaceskip\z@skip \xspaceskip\z@skip - \noindent $^{\scriptstyle\hbox{#1}}$\hskip 4pt% - \footstrut\futurelet\next\fo@t% -} - -% Kill footnote rule -\def\footnoterule{\kern-3\p@ \hrule height \z@ \kern 3\p@} - -\skip\footins=19.5pt plus 12pt minus 1pt -\count\footins=1000 -\dimen\footins=\maxdimen - - -% Landscape - -\def\landscape{% - \global\TEMPDIMEN=\PageWidth - \global\PageWidth=\PageHeight - \global\PageHeight=\TEMPDIMEN - \global\let\landscape=\relax% stop them using \landscape again. - \onecolumn - \message{(landscape)}% - \raggedbottom -} - - -%-------------------------------------------------------% -% TWO COLUMN OUTPUT ROUTINE % -%-------------------------------------------------------% - -\output{% - \ifLeftCOL - \global\setbox\LeftBOX=\vbox to \ZoneBSize{\box255\unvbox\ZoneBBOX}% - \global\LeftCOLfalse - \MakeRightCol - \else - \setbox\RightBOX=\vbox to \ZoneBSize{\box255\unvbox\ZoneBBOX}% - \setbox\MidBOX=\hbox{\box\LeftBOX\hskip\ColumnGap\box\RightBOX}% - \setbox\PageBOX=\vbox to \PageHeight{% - \UnloadZoneA\box\MidBOX\UnloadZoneC}% - \shipout\vbox{\PageHead\box\PageBOX\PageFoot}% - \advancepageno -% - \ifplate@page - \shipout\vbox{% - \sp@pagetrue - \def\sp@type{plate}% - \global\plate@pagefalse - \PageHead\vbox to \PageHeight{\unvbox\plt@box\vfil}\PageFoot% - }% - \message{[plate]}% - \advancepageno - \fi -% - \global\LeftCOLtrue - \CleanStack - \MakePage - \fi -} - - -% Startup message - -\Warn{\start@mess} - -\newif\ifCUPmtplainloaded % for use in documents -\ifprod@font - \global\CUPmtplainloadedtrue -\fi - -\def\mnmacrosloaded{} % so articles can see if a format file has been used. - -\catcode `\@=12 % @ signs are non-letters - -% \dump - -% end of mn.tex |