%% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Springer macro file: Part pj2font.tex Version 1.5 %% (05/03/91) ERI/EDS/THS/BOG %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifx 1\FONTS % Knuth-Fonts : cm \message{ loading cm fonts } \font \fiverm = cmr5 \font \fivebf = cmbx5 \font \fivei = cmmi5 \font \fivesy = cmsy5 \font \fivexm = msam5 \font \fiveym = msbm5 \font \fivesc = cmcsc10 scaled 500 \font \fivesf = cmss8 scaled 625 \font \fiveft = eufm5 \font \sixrm = cmr6 \font \sixbf = cmbx6 \font \sixi = cmmi6 \font \sixsy = cmsy6 \font \sixmib = cmmib10 scaled 640 \font \sixxm = msam6 \font \sixym = msbm6 \font \sixsc = cmcsc10 scaled 600 \font \sixsf = cmss8 scaled 750 \font \sixft = eufm6 \font \sevenrm = cmr7 \font \sevenbf = cmbx7 \font \seveni = cmmi7 \font \sevensy = cmsy7 \font \sevenmib = cmmib10 scaled 700 \font \sevenxm = msam7 \font \sevenym = msbm7 \font \sevensc = cmcsc10 scaled 700 \font \sevensf = cmss8 scaled 875 \font \sevenft = eufm7 \font \eightrm = cmr8 % Small size \font \eightbf = cmbx8 \font \eightit = cmti8 \font \eighttt = cmtt8 \font \eighti = cmmi8 \font \eightsy = cmsy8 \font \eightmib = cmmib10 scaled 833 \font \eightbsy = cmbsy10 scaled 833 \font \eightxm = msam8 \font \eightym = msbm8 \font \eightsc = cmcsc10 scaled 800 \font \eightsf = cmss8 \font \eightft = eufm8 \font \tenrm = cmr10 % Normal size \font \tenbf = cmbx10 \font \tenit = cmti10 \font \tentt = cmtt10 \font \teni = cmmi10 \font \tensy = cmsy10 \font \tenmib = cmmib10 \font \tenbsy = cmbsy10 \font \tenex = cmex10 \font \tenxm = msam10 \font \tenym = msbm10 \font \tensc = cmcsc10 \font \tensf = cmss10 \font \tenft = eufm10 \font \twlfbf = cmbx10 scaled \magstep1 % Subtitle \font \twlfbxti = cmbxti10 scaled \magstep1 \font \twlfmib = cmmib10 scaled \magstep1 \font \twlfbsy = cmbsy10 scaled \magstep1 \font \twlfxm = msam10 scaled \magstep1 \font \twlfym = msbm10 scaled \magstep1 \font \twlfsf = cmss10 scaled \magstep1 \font \logobf = cmbx10 scaled \magstep2 % Journal Logo Font \font \sxtnbf = cmbx10 scaled \magstep3 % Main title \font \sxtnti = cmti10 scaled \magstep3 \font \sxtnbxti = cmbxti10 scaled \magstep3 \font \sxtnmib = cmmib10 scaled \magstep3 \font \sxtnbsy = cmbsy10 scaled \magstep3 \font \sxtnxm = msam10 scaled \magstep3 \font \sxtnym = msbm10 scaled \magstep3 \font \sxtnsf = cmss10 scaled \magstep3 % \fi %---------------------------------------------------------------------- % \ifx 2\FONTS % PostScript Fonts : ps % \message{ loading PostScript fonts } % \font \fiverm = psmtimr at 5pt \font \fivebf = psmtimb at 5pt \font \fivei = cmmi5 \font \fivesy = cmsy5 \font \fivexm = msam5 \font \fiveym = msbm5 \font \fiveft = eufm5 \font \fivesc = cmcsc10 scaled 500 \font \fivesf = psmhlv at 5pt % % % \font \sixrm = psmtimr at 6pt \font \sixbf = psmtimb at 6pt \font \sixi = cmmi6 \font \sixsy = cmsy6 \font \sixmib = cmmib10 scaled 640 \font \sixxm = msam6 \font \sixym = msbm6 \font \sixft = eufm6 \font \sixsc = cmcsc10 scaled 600 \font \sixsf = psmhlv at 6pt % % % \font \sevenrm = psmtimr at 7pt \font \sevenbf = psmtimb at 7pt \font \seveni = cmmi7 \font \sevensy = cmsy7 \font \sevenmib = cmmib10 scaled 700 \font \sevenxm = msam7 \font \sevenym = msbm7 \font \sevenft = eufm7 \font \sevensc = cmcsc10 scaled 700 \font \sevensf = psmhlv at 7pt % % % \font \eightrm = psmtimr at 8pt % Small size \font \eightbf = psmtimb at 8pt \font \eightit = psmtimi at 8pt \font \eighttt = psmcou at 8pt \font \eighti = cmmi8 \font \eightsy = cmsy8 \font \eightmib = cmmib10 scaled 833 \font \eightbsy = cmbsy10 scaled 833 \font \eightxm = msam8 \font \eightym = msbm8 \font \eightft = eufm8 \font \eightsc = cmcsc10 scaled 800 \font \eightsf = psmhlv at 8pt % % % \font \tenrm = psmtimr at 10pt % Normal size \font \tenbf = psmtimb at 10pt \font \tenit = psmtimi at 10pt \font \tentt = psmcou at 10pt \font \teni = cmmi10 \font \tensy = cmsy10 \font \tenmib = cmmib10 \font \tenbsy = cmbsy10 \font \tenex = cmex10 \font \tenxm = msam10 \font \tenym = msbm10 \font \tenft = eufm10 \font \tensc = cmcsc10 \font \tensf = psmhlv at 10pt % \font \logobf = psmtimb at 15pt % Journal Logo Font % \font \twlfbf = psmtimb at 12pt % Subtitle \font \twlfbxti = psmtimbi at 12pt \font \twlfmib = cmmib10 scaled \magstep2 \font \twlfbsy = cmbsy10 scaled \magstep2 \font \twlfxm = msam10 at 12pt \font \twlfym = msbm10 at 12pt \font \twlfsf = psmhlv at 12pt % \font \sxtnbf = psmtimb at 17pt % Main title \font \sxtnti = psmtimi at 17pt \font \sxtnbxti = psmtimbi at 17pt \font \sxtnmib = cmmib10 scaled \magstep3 \font \sxtnbsy = cmbsy10 scaled \magstep3 \font \sxtnxm = msam10 at 17pt \font \sxtnym = msbm10 at 17pt \font \sxtnsf = psmhlv at 17pt % \catcode`@=11 % use @ as a normal character % PostScript version of the "not equal" sign \def\psc@ncel#1#2{\ooalign{\hidewidth$#1/$\hidewidth\crcr$#1#2$}} \def\neq{\mathrel{\mathpalette\psc@ncel=}} \let\ne=\neq % The PostScript version of \AA takes care of the right placement % of the circle accent contrary to TeX's original definition that % is fooled be wrong font dimensions {\catcode`p=12 \catcode`t=12 \csname expandafter\endcsname\gdef \csname getfactor\endcsname#1pt{#1}}% \def\kslant#1{\kern\expandafter\getfactor\the\fontdimen1#1\ht0}% \def\AA{{\ifdim\fontdimen1\font>0pt\dimen0=0.45ex \else\dimen0=0.35ex\fi \setbox0=\hbox{A}\ht0=0.5\ht0\relax \ooalign{\hfil\raise\dimen0 \hbox{\kslant\font\char'27}\hfil\crcr \hbox{A}}}} \def\promille{\leavevmode\hbox{\raise1ex\hbox{$\scriptstyle0$}\kern-0.1em% \raise0.4ex\hbox{\rm\char"2F}\kern-0.1em\hbox{$\scriptstyle00$}}} \catcode`@=12 % at signs are no longer letters % \fi %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Springer macro file: Part pj2fam.tex Version 1.5 (04/24/91) ERI/BOG %------------------------------------------------------- % AMSTeX families : \newfam\msxfam \newfam\msyfam % % EULER family : \newfam\ftfam % % calligraphic family : %\newfam\calfam % % 'small caps' family : \newfam\scfam % % 'sans serif' family : \newfam\sansfam %------------------------------------------------------- %% main title families: \def\sxtnbfpoint{% \textfont0=\sxtnbf \scriptfont0=\twlfbf \scriptscriptfont0=\eightbf \textfont1=\sxtnmib \scriptfont1=\twlfmib \scriptscriptfont1=\eightmib \textfont2=\sxtnbsy \scriptfont2=\twlfbsy \scriptscriptfont2=\eightbsy \textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex % \textfont\msxfam=\sxtnxm \scriptfont\msxfam=\twlfxm \scriptscriptfont\msxfam=\eightxm% \textfont\msyfam=\sxtnym \scriptfont\msyfam=\twlfym \scriptscriptfont\msyfam=\eightym% % \textfont\sansfam=\sxtnsf \scriptfont\sansfam=\twlfsf \scriptscriptfont\sansfam=\eightsf% \def\sans{\fam\sansfam\sxtnsf}% % \def\it{\fam\itfam\sxtnbxti}% \textfont\itfam=\sxtnbxti% \baselineskip=18dd% \lineskip=1dd% \sxtnbf% % \def\bf{}% % \if Y\REFEREE \baselineskip=2\baselineskip \lineskip=2\lineskip\fi } %------------------------------------------------------- %% head note family: \def\sxtntipoint{\sxtnti% \normalbaselineskip=18dd \normallineskip=1dd \normallineskiplimit=0dd \normalbaselines% } %------------------------------------------------------- %% Subtitle family: \def\twlfbfpoint{% \textfont0=\twlfbf \scriptfont0=\eightbf \scriptscriptfont0=\sixbf% \textfont1=\twlfmib \scriptfont1=\eightmib \scriptscriptfont1=\sixmib% \textfont2=\twlfbsy \scriptfont2=\eightbsy%\scriptscriptfont2=\sixbsy% % \textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex% % \textfont\msxfam=\twlfxm \scriptfont\msxfam=\eightxm \scriptscriptfont\msxfam=\sixxm% \textfont\msyfam=\twlfym \scriptfont\msyfam=\eightym \scriptscriptfont\msyfam=\sixym% % \textfont\sansfam=\twlfsf \scriptfont\sansfam=\eightsf \scriptscriptfont\sansfam=\sixsf% \def\sans{\fam\sansfam\twlfsf}% % \def\it{\fam\itfam\twlfbxti}% \textfont\itfam=\twlfbxti% \baselineskip=14dd% \lineskip=1dd% \twlfbf% % \def\bf{}% % \if Y\REFEREE \baselineskip=2\baselineskip \lineskip=2\lineskip\fi } %------------------------------------------------------- %% title families: \def\tenbfpoint{% \tenpoint\bf% }% % %------------------------------------------------------- %% 10pt families: \def\tenpoint{% \def\rm{\fam0\tenrm}% normal size \textfont0=\tenrm \scriptfont0=\sevenrm \scriptscriptfont0=\sixrm% \textfont1=\teni \scriptfont1=\seveni \scriptscriptfont1=\sixi% \textfont2=\tensy \scriptfont2=\sevensy \scriptscriptfont2=\sixsy% % \textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex% % \textfont\msxfam=\tenxm \scriptfont\msxfam=\sevenxm \scriptscriptfont\msxfam=\sixxm \textfont\msyfam=\tenym \scriptfont\msyfam=\sevenym \scriptscriptfont\msyfam=\sixym % \textfont\ftfam=\tenft \scriptfont\ftfam=\sevenft \scriptscriptfont\ftfam=\sixft% % \textfont\scfam=\tensc \scriptfont\scfam=\sevensc \scriptscriptfont\scfam=\sixsc% \textfont\sansfam=\tensf \scriptfont\sansfam=\sevensf \scriptscriptfont\sansfam=\sixsf% % \def\it{\fam\itfam\tenit}% \textfont\itfam=\tenit% % \def\bf{% bold families for bold mathematics: \textfont0=\tenbf \scriptfont0=\sevenbf \scriptscriptfont0=\sixbf% \textfont1=\tenmib \scriptfont1=\sevenmib \scriptscriptfont1=\sixmib% \textfont2=\tenbsy%\scriptfont2=\sevenbsy %\scriptscriptfont2=\sixbsy% % scriptfonts not in bold, as fonts are not loaded \fam\bffam\tenbf}% % \textfont\bffam=\tenbf \scriptfont\bffam=\sevenbf \scriptscriptfont\bffam=\sixbf% % \def\tt{\fam\ttfam\tentt}% \textfont\ttfam=\tentt% \def\mib{\tenmib}% \def\sc{\fam\scfam\tensc}% \def\sans{\fam\sansfam\tensf}% % \normalbaselineskip=10.5dd \normallineskip=1dd \normallineskiplimit=0dd % \normalbaselines % \if Y\REFEREE \baselineskip=2\baselineskip \lineskip=2\lineskip\fi % \rm} %------------------------------------------------------- %% petit families: \def\eightpoint{% \def\rm{\fam0\eightrm}% petit size \textfont0=\eightrm \scriptfont0=\sixrm \scriptscriptfont0=\fiverm% \textfont1=\eighti \scriptfont1=\sixi \scriptscriptfont1=\fivei% \textfont2=\eightsy \scriptfont2=\sixsy \scriptscriptfont2=\fivesy% % \textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex% % \textfont\msxfam=\eightxm \scriptfont\msxfam=\sixxm \scriptscriptfont\msxfam=\fivexm \textfont\msyfam=\eightym \scriptfont\msyfam=\sixym \scriptscriptfont\msyfam=\fiveym % \textfont\ftfam=\eightft \scriptfont\ftfam=\sixft \scriptscriptfont\ftfam=\fiveft% % \textfont\scfam=\eightsc \scriptfont\scfam=\sixsc \scriptscriptfont\scfam=\fivesc% \textfont\sansfam=\eightsf \scriptfont\sansfam=\sixsf \scriptscriptfont\sansfam=\fivesf% % \def\it{\fam\itfam\eightit}% \textfont\itfam=\eightit% % \def\bf{% bold families for bold mathematics \textfont0=\eightbf \scriptfont0=\sixbf \scriptscriptfont0=\fivebf% \textfont1=\eightmib \scriptfont1=\sixmib %\scriptscriptfont1=\fivemib% \textfont2=\eightbsy%\scriptfont2=\sixbsy %\scriptscriptfont2=\fivebsy% % scriptfonts not in bold, as fonts are not loaded \fam\bffam\eightbf}% % \textfont\bffam=\eightbf \scriptfont\bffam=\sixbf% \scriptscriptfont\bffam=\fivebf% \def\tt{\fam\ttfam\eighttt}% \textfont\ttfam=\eighttt% \def\mib{\eightmib}% \def\sc{\fam\scfam\eightsc}% \def\sans{\fam\sansfam\eightsf}% % \skewchar\eighti='177 \skewchar\sixi='177% \skewchar\eightsy='60 \skewchar\sixsy='60% \hyphenchar\eighttt=-1% % \normalbaselineskip=9dd% \normallineskip=1dd% \normallineskiplimit=0dd% \normalbaselines% % \setbox\strutbox=\hbox{\vrule height7dd depth2dd width0pt}% \if Y\REFEREE \baselineskip=2\baselineskip \lineskip=2\lineskip% \fi \rm}% \def\petit{\eightpoint} \def\basesize{\tenpoint} \def\begpet{\vskip6pt\petit}% begin of a paragraph in petit \def\endpet{\vskip6pt\basesize}% end of a paragraph in petit %------------------------------------------------------- %% footnote families: \def\footfont{\eightpoint} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Springer macro file: Part jchar.tex Version 1.6 (04/23/91) ERI/BOG %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% mathchar definitions: %% \mathchardef\Gamma="0100 \mathchardef\Delta="0101 \mathchardef\Theta="0102 \mathchardef\Lambda="0103 \mathchardef\Xi="0104 \mathchardef\Pi="0105 \mathchardef\Sigma="0106 \mathchardef\Upsilon="0107 \mathchardef\Phi="0108 \mathchardef\Psi="0109 \mathchardef\Omega="010A %--------------------------------------------------------------- %% \def\opdefa#1#2#3{\expandafter\gdef\csname #1\endcsname {\mathrel{\mathchoice {\vcenter{\offinterlineskip \halign{\hfil$\displaystyle ####$\hfil\cr{#2}\cr{#3}\cr}}} {\vcenter{\offinterlineskip \halign{\hfil$\textstyle ####$\hfil\cr{#2}\cr{#3}\cr}}} {\vcenter{\offinterlineskip \halign{\hfil$\scriptstyle ####$\hfil\cr{#2}\cr{#3}\cr}}} {\vcenter{\offinterlineskip \halign{\hfil$\scriptscriptstyle####$\hfil\cr{#2}\cr{#3}\cr}}}}} } \def\opdefb#1#2#3#4{\expandafter\gdef\csname #1\endcsname {\mathrel{\mathchoice {\vcenter{\offinterlineskip \halign{\hfil$\displaystyle ####$\hfil\cr{#2}\cr #3\cr{#4}\cr}}} {\vcenter{\offinterlineskip \halign{\hfil$\textstyle ####$\hfil\cr{#2}\cr #3\cr{#4}\cr}}} {\vcenter{\offinterlineskip \halign{\hfil$\scriptstyle ####$\hfil\cr{#2}\cr #3\cr{#4}\cr}}} {\vcenter{\offinterlineskip \halign{\hfil$\scriptscriptstyle####$\hfil\cr{#2}\cr #3\cr{#4}\cr}}}}} } \opdefa{la}{<}{\sim} \opdefa{ga}{>}{\sim} \opdefa{getsto}{\gets}{\to} \opdefa{lid}{<}{=} \opdefa{gid}{>}{=} \opdefa{sol}{\sim}{<} \opdefa{sog}{\sim}{>} \opdefa{lse}{<}{\simeq} \opdefa{gse}{>}{\simeq} \opdefb{grole}{>}{\noalign{\vskip -0.15em}}{<} \opdefb{leogr}{<}{\noalign{\vskip -0.15em}}{>} \opdefa{loa}{<}{\approx} \opdefa{goa}{>}{\approx} %% \def\sun{\hbox{$\odot$}} %% \def\sq{\hbox{\rlap{$\sqcap$}$\sqcup$}} \def\degr{\hbox{$^\circ$}} \def\arcmin{\hbox{$^\prime$}} \def\arcsec{\hbox{$^{\prime\prime}$}} \def\utw{\smash{\rlap{\lower5pt\hbox{$\sim$}}}} \def\udtw{\smash{\rlap{\lower6pt\hbox{$\approx$}}}} \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\cor{\mathrel{\mathchoice {\hbox{$\widehat=$}}{\hbox{$\widehat=$}} {\hbox{$\scriptstyle\hat=$}} {\hbox{$\scriptscriptstyle\hat=$}}}} \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\solidqed{\quad\vbox{\hrule height 0.65em width 0.65em depth 0em}}% \catcode`\@=11 \def\q@d{\quad{\vcenter{\vbox{\hrule height 0.25pt% \hbox{\vrule width 0.25pt height 0.65em \kern 0.65em% \vrule width 0.25pt}% \hrule height 0.25pt}}}}% \def\qed{\ifmmode\q@d \else$\q@d$\fi}% % \def\D{{\rm d}} \let\diff=\D \def\E{{\rm e}} \let\eul=\E \def\I{{\rm i}} \let\imag=\I % \catcode`\@=12 %------------------------------------------------------------------- % Macros for other sizes %------------------------------------------------------------------- \def\vec#1{% \mathchoice{\hbox{$\displaystyle\bf#1$}}{\hbox{$\textstyle\bf#1$}}% {\hbox{$\scriptstyle\bf#1$}}{\hbox{$\scriptscriptstyle\bf#1$}}} %---------------------------------------------------------- \def\tens#1{ \mathchoice{\hbox{$\displaystyle\sans#1$}}{\hbox{$\textstyle\sans#1$}} {\hbox{$\scriptstyle\sans#1$}}{\hbox{$\scriptscriptstyle\sans#1$}}} %%%%%% black boxes %----------------------------------------------------------------- \def\blackquad{\leavevmode% \kern0.05em\vrule height0.7em depth0.2em width0.4em% \kern0.1em\vrule height0.7em depth0.2em width0.4em% \kern0.1em\vrule height0.7em depth0.2em width0.4em\kern0.05em}% \def\refblock{\blackquad--\blackquad} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% AMSTeX Characters %% \catcode`\@=11 \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} \edef\bffam@{\hexnumber@\bffam} \mathchardef\boldGamma="0\bffam@00 \mathchardef\boldDelta="0\bffam@01 \mathchardef\boldTheta="0\bffam@02 \mathchardef\boldLambda="0\bffam@03 \mathchardef\boldXi="0\bffam@04 \mathchardef\boldPi="0\bffam@05 \mathchardef\boldSigma="0\bffam@06 \mathchardef\boldUpsilon="0\bffam@07 \mathchardef\boldPhi="0\bffam@08 \mathchardef\boldPsi="0\bffam@09 \mathchardef\boldOmega="0\bffam@0A \edef\msx@{\hexnumber@\msxfam} \edef\msy@{\hexnumber@\msyfam} \mathchardef\boxdot="2\msx@00 \mathchardef\boxplus="2\msx@01 \mathchardef\boxtimes="2\msx@02 \mathchardef\square="0\msx@03 \mathchardef\blacksquare="0\msx@04 \mathchardef\centerdot="2\msx@05 \mathchardef\lozenge="0\msx@06 \mathchardef\blacklozenge="0\msx@07 \mathchardef\circlearrowright="3\msx@08 \mathchardef\circlearrowleft="3\msx@09 \mathchardef\rightleftharpoons="3\msx@0A \mathchardef\leftrightharpoons="3\msx@0B \mathchardef\boxminus="2\msx@0C \mathchardef\Vdash="3\msx@0D \mathchardef\Vvdash="3\msx@0E \mathchardef\vDash="3\msx@0F \mathchardef\twoheadrightarrow="3\msx@10 \mathchardef\twoheadleftarrow="3\msx@11 \mathchardef\leftleftarrows="3\msx@12 \mathchardef\rightrightarrows="3\msx@13 \mathchardef\upuparrows="3\msx@14 \mathchardef\downdownarrows="3\msx@15 \mathchardef\upharpoonright="3\msx@16 \let\restriction\upharpoonright \mathchardef\downharpoonright="3\msx@17 \mathchardef\upharpoonleft="3\msx@18 \mathchardef\downharpoonleft="3\msx@19 \mathchardef\rightarrowtail="3\msx@1A \mathchardef\leftarrowtail="3\msx@1B \mathchardef\leftrightarrows="3\msx@1C \mathchardef\rightleftarrows="3\msx@1D \mathchardef\Lsh="3\msx@1E \mathchardef\Rsh="3\msx@1F \mathchardef\rightsquigarrow="3\msx@20 \mathchardef\leftrightsquigarrow="3\msx@21 \mathchardef\looparrowleft="3\msx@22 \mathchardef\looparrowright="3\msx@23 \mathchardef\circeq="3\msx@24 \mathchardef\succsim="3\msx@25 \mathchardef\gtrsim="3\msx@26 \mathchardef\gtrapprox="3\msx@27 \mathchardef\multimap="3\msx@28 \mathchardef\therefore="3\msx@29 \mathchardef\because="3\msx@2A \mathchardef\doteqdot="3\msx@2B \let\Doteq\doteqdot \mathchardef\triangleq="3\msx@2C \mathchardef\precsim="3\msx@2D \mathchardef\lesssim="3\msx@2E \mathchardef\lessapprox="3\msx@2F \mathchardef\eqslantless="3\msx@30 \mathchardef\eqslantgtr="3\msx@31 \mathchardef\curlyeqprec="3\msx@32 \mathchardef\curlyeqsucc="3\msx@33 \mathchardef\preccurlyeq="3\msx@34 \mathchardef\leqq="3\msx@35 \mathchardef\leqslant="3\msx@36 \mathchardef\lessgtr="3\msx@37 \mathchardef\backprime="0\msx@38 \mathchardef\risingdotseq="3\msx@3A \mathchardef\fallingdotseq="3\msx@3B \mathchardef\succcurlyeq="3\msx@3C \mathchardef\geqq="3\msx@3D \mathchardef\geqslant="3\msx@3E \mathchardef\gtrless="3\msx@3F \mathchardef\sqsubset="3\msx@40 \mathchardef\sqsupset="3\msx@41 \mathchardef\vartriangleright="3\msx@42 \mathchardef\vartriangleleft ="3\msx@43 \mathchardef\trianglerighteq="3\msx@44 \mathchardef\trianglelefteq="3\msx@45 \mathchardef\bigstar="0\msx@46 \mathchardef\between="3\msx@47 \mathchardef\blacktriangledown="0\msx@48 \mathchardef\blacktriangleright="3\msx@49 \mathchardef\blacktriangleleft="3\msx@4A \mathchardef\vartriangle="0\msx@4D \mathchardef\blacktriangle="0\msx@4E \mathchardef\triangledown="0\msx@4F \mathchardef\eqcirc="3\msx@50 \mathchardef\lesseqgtr="3\msx@51 \mathchardef\gtreqless="3\msx@52 \mathchardef\lesseqqgtr="3\msx@53 \mathchardef\gtreqqless="3\msx@54 \mathchardef\Rrightarrow="3\msx@56 \mathchardef\Lleftarrow="3\msx@57 \mathchardef\veebar="2\msx@59 \mathchardef\barwedge="2\msx@5A \mathchardef\doublebarwedge="2\msx@5B \mathchardef\angle="0\msx@5C \mathchardef\measuredangle="0\msx@5D \mathchardef\sphericalangle="0\msx@5E \mathchardef\varpropto="3\msx@5F \mathchardef\smallsmile="3\msx@60 \mathchardef\smallfrown="3\msx@61 \mathchardef\Subset="3\msx@62 \mathchardef\Supset="3\msx@63 \mathchardef\Cup="2\msx@64 \let\doublecup\Cup \mathchardef\Cap="2\msx@65 \let\doublecap\Cap \mathchardef\curlywedge="2\msx@66 \mathchardef\curlyvee="2\msx@67 \mathchardef\leftthreetimes="2\msx@68 \mathchardef\rightthreetimes="2\msx@69 \mathchardef\subseteqq="3\msx@6A \mathchardef\supseteqq="3\msx@6B \mathchardef\bumpeq="3\msx@6C \mathchardef\Bumpeq="3\msx@6D \mathchardef\lll="3\msx@6E \let\llless\lll \mathchardef\ggg="3\msx@6F \let\gggtr\ggg \mathchardef\circledS="0\msx@73 \mathchardef\pitchfork="3\msx@74 \mathchardef\dotplus="2\msx@75 \mathchardef\backsim="3\msx@76 \mathchardef\backsimeq="3\msx@77 \mathchardef\complement="0\msx@7B \mathchardef\intercal="2\msx@7C \mathchardef\circledcirc="2\msx@7D \mathchardef\circledast="2\msx@7E \mathchardef\circleddash="2\msx@7F \def\ulcorner{\delimiter"4\msx@70\msx@70 } \def\urcorner{\delimiter"5\msx@71\msx@71 } \def\llcorner{\delimiter"4\msx@78\msx@78 } \def\lrcorner{\delimiter"5\msx@79\msx@79 } \def\yen{{\mathhexbox@\msx@55 }} \def\checkmark{{\mathhexbox@\msx@58 }} \def\circledR{{\mathhexbox@\msx@72 }} \def\maltese{{\mathhexbox@\msx@7A }} \mathchardef\lvertneqq="3\msy@00 \mathchardef\gvertneqq="3\msy@01 \mathchardef\nleq="3\msy@02 \mathchardef\ngeq="3\msy@03 \mathchardef\nless="3\msy@04 \mathchardef\ngtr="3\msy@05 \mathchardef\nprec="3\msy@06 \mathchardef\nsucc="3\msy@07 \mathchardef\lneqq="3\msy@08 \mathchardef\gneqq="3\msy@09 \mathchardef\nleqslant="3\msy@0A \mathchardef\ngeqslant="3\msy@0B \mathchardef\lneq="3\msy@0C \mathchardef\gneq="3\msy@0D \mathchardef\npreceq="3\msy@0E \mathchardef\nsucceq="3\msy@0F \mathchardef\precnsim="3\msy@10 \mathchardef\succnsim="3\msy@11 \mathchardef\lnsim="3\msy@12 \mathchardef\gnsim="3\msy@13 \mathchardef\nleqq="3\msy@14 \mathchardef\ngeqq="3\msy@15 \mathchardef\precneqq="3\msy@16 \mathchardef\succneqq="3\msy@17 \mathchardef\precnapprox="3\msy@18 \mathchardef\succnapprox="3\msy@19 \mathchardef\lnapprox="3\msy@1A \mathchardef\gnapprox="3\msy@1B \mathchardef\nsim="3\msy@1C \mathchardef\napprox="3\msy@1D \mathchardef\ncong="3\msy@1D \def\napprox{\not\approx} \mathchardef\varsubsetneq="3\msy@20 \mathchardef\varsupsetneq="3\msy@21 \mathchardef\nsubseteqq="3\msy@22 \mathchardef\nsupseteqq="3\msy@23 \mathchardef\subsetneqq="3\msy@24 \mathchardef\supsetneqq="3\msy@25 \mathchardef\varsubsetneqq="3\msy@26 \mathchardef\varsupsetneqq="3\msy@27 \mathchardef\subsetneq="3\msy@28 \mathchardef\supsetneq="3\msy@29 \mathchardef\nsubseteq="3\msy@2A \mathchardef\nsupseteq="3\msy@2B \mathchardef\nparallel="3\msy@2C \mathchardef\nmid="3\msy@2D \mathchardef\nshortmid="3\msy@2E \mathchardef\nshortparallel="3\msy@2F \mathchardef\nvdash="3\msy@30 \mathchardef\nVdash="3\msy@31 \mathchardef\nvDash="3\msy@32 \mathchardef\nVDash="3\msy@33 \mathchardef\ntrianglerighteq="3\msy@34 \mathchardef\ntrianglelefteq="3\msy@35 \mathchardef\ntriangleleft="3\msy@36 \mathchardef\ntriangleright="3\msy@37 \mathchardef\nleftarrow="3\msy@38 \mathchardef\nrightarrow="3\msy@39 \mathchardef\nLeftarrow="3\msy@3A \mathchardef\nRightarrow="3\msy@3B \mathchardef\nLeftrightarrow="3\msy@3C \mathchardef\nleftrightarrow="3\msy@3D \mathchardef\divideontimes="2\msy@3E \mathchardef\varnothing="0\msy@3F \mathchardef\nexists="0\msy@40 \mathchardef\mho="0\msy@66 \mathchardef\eth="0\msy@67 \mathchardef\eqsim="3\msy@68 \mathchardef\beth="0\msy@69 \mathchardef\gimel="0\msy@6A \mathchardef\daleth="0\msy@6B \mathchardef\lessdot="3\msy@6C \mathchardef\gtrdot="3\msy@6D \mathchardef\ltimes="2\msy@6E \mathchardef\rtimes="2\msy@6F \mathchardef\shortmid="3\msy@70 \mathchardef\shortparallel="3\msy@71 \mathchardef\smallsetminus="2\msy@72 \mathchardef\thicksim="3\msy@73 \mathchardef\thickapprox="3\msy@74 \mathchardef\approxeq="3\msy@75 \mathchardef\succapprox="3\msy@76 \mathchardef\precapprox="3\msy@77 \mathchardef\curvearrowleft="3\msy@78 \mathchardef\curvearrowright="3\msy@79 \mathchardef\digamma="0\msy@7A \mathchardef\varkappa="0\msy@7B \mathchardef\hslash="0\msy@7D \mathchardef\hbar="0\msy@7E \mathchardef\backepsilon="3\msy@7F % \def\frak#1{{\fam\ftfam #1}} \def\goth#1{{\fam\ftfam #1}} % % calligraphics: % %\ifx 2\FONTS % % \def\cal#1{{\fam\calfam #1}} %\fi \ifx 1\FONTS % \def\cal#1{{\fam2 #1}}% \fi % % Definition of blackboard bold characters. \def\Bbb#1{{\fam\msyfam #1}}% % \def\bbbc{\Bbb C} \def\bbbe{\Bbb E} \def\bbbf{\Bbb F} \def\bbbh{\Bbb H} \def\bbbk{\Bbb K} \def\bbbm{\Bbb M} \def\bbbn{\Bbb N} \def\bbbp{\Bbb P} \def\bbbq{\Bbb Q} \def\bbbr{\Bbb R} \def\bbbs{\Bbb S} \def\bbbt{\Bbb T} \def\bbbz{\Bbb Z} % \def\bbbone{\mathchoice{\rm 1\mskip-4mu l}{\rm 1\mskip-4mu l} {\rm 1\mskip-4.5mu l}{\rm 1\mskip-5mu l}} % \catcode`\@=12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Springer macro file: Part pj2val.tex Version 1.4 (10/16/90) ERI %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % GENERAL SETTINGS %----------------------------------------------------------------- %%%%%%% helps for arrangement %----------------------------------------------------------------- \hfuzz=2pt \vfuzz=2pt \tolerance=1000 % display style formulas narrower: \abovedisplayskip=3 mm plus6pt minus 4pt \belowdisplayskip=3 mm plus6pt minus 4pt \abovedisplayshortskip=0mm plus6pt \belowdisplayshortskip=2 mm plus4pt minus 4pt \clubpenalty=20000 \widowpenalty=20000 \predisplaypenalty=0 \newdimen\defaultparindent \parindent=1.5em \defaultparindent=\parindent \frenchspacing \fontdimen3\tenrm=1.5\fontdimen3\tenrm \fontdimen7\tenrm=1.5\fontdimen7\tenrm \def\newline{\hfil\break}% %----------------------------------------------------------------- %%%%%%% default values %----------------------------------------------------------------- \vsize = 640dd \newdimen\fullhsize \newdimen\colhsize \fullhsize=39.5cc \colhsize=19cc \hsize=\colhsize % ACHTUNG: der folgende Wert kann nicht ohne weiteres verwendet % werden, da in twocol.tex topskip=10pt fest verdrahtet! % \topskip = 13dd \newdimen\defaulttopskip \defaulttopskip=10pt%%changed from: !!11dd \topskip = \defaulttopskip \hoffset=-1true cm \voffset=-1true cm \def\makefootline{\baselineskip=10dd \fullline{\the\footline}} \def\makeheadline{\vbox to 0pt{\vskip-22.5pt \fullline{\vbox to 8.5pt{}\the\headline}\vss}\nointerlineskip} \let\lr=Y% two columns \newbox\leftcolumn \def\columnbox{\leftline{\pagebody}} %----------------------------------------------------------------- % FOOTNOTERULE %----------------------------------------------------------------- \def\footnoterule{\kern-3pt\hrule width 4true cc\kern2.6pt}% %----------------------------------------------------------------- %%%%%% new definitions: %----------------------------------------------------------------- % \newdimen\defaultbase \defaultbase=10.5dd% default baselineskip \newdimen\vardbase \vardbase=10.5dd % \newdimen\beforeref \beforeref=2\defaultbase % references \newdimen\afterreft \afterreft=\defaultbase \newdimen\afterauthor \afterauthor=6dd % \newdimen\defaultrefindent \defaultrefindent=\defaultparindent \newdimen\letrefindent \letrefindent=1cc % \newdimen\beforeack \beforeack=\defaultbase % acknowledgements \newdimen\beforeapp \beforeapp=\defaultbase % appendices \newdimen\afterappt \afterappt=0.5\defaultbase % title appendix \newdimen\afterinst \afterinst=\defaultbase % institute \newdimen\beforekey \beforekey=\defaultbase % \newdimen\itemindent \itemindent=1.5em \newdimen\itemitemindent \itemitemindent=3.0em % %----------------------------------------------------------------- % note: values referring to headlines and titlepage are % set with the definitions %----------------------------------------------------------------- % main header: top of page values %----------------------------------------------------------------- \newdimen\realhead % measurement for main header \realhead=200dd % \newdimen\beforemain \beforemain=3\defaultbase % main header must not overlap top stuff!! \newdimen\theshd % height of thesaurus in % case it doesn't exist \theshd=50dd \def\bumarkskip{-0dd} % minus space for logo % \setbox0=\hbox{\newtoks\REFEREE\let\REFEREE=N\footfont \unskip$\scriptstyle***$\enspace} \newdimen\footindent \footindent=\wd0 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Springer macro file: Part pjlang.tex Version 1.4 (10/16/90) ERI %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \gdef\english{% \ifx\undefined\summary \def\summary{Abstract} \else \def\alreadysum{yes} \fi \def\transsummary{Abstract\message{why a translation in English text?|}} \def\mail{Correspondence to} \def\keyhdg{Key words} \def\transkeyhdg{Key words} \ifx\undefined\received \xdef\received{Received} \else \def\alreadyrec{yes} \fi \def\claim{Claim} \def\conjecture{Conjecture} \def\corollary{Corollary} \def\definition{Definition} \def\example{Example} \def\exercise{Exercise} \def\lemma{Lemma} \def\note{Note} \def\proof{Proof} \def\property{Property} \def\remark{Remark} \def\theorem{Theorem} \def\noteadd{Note added in proof} \def\appendix{Appendix} \def\acknowledgement{Acknowledgement} \def\references{References} \def\table{Table} \def\figg{Fig.} \def\presaddhdg{Present address} } \gdef\french{% \ifx\undefined\alreadysum \def\summary{R\'esum\'e} \fi \def\transsummary{Abstract} \def\keyhdg{Mots clef} \def\transkeyhdg{Key words} \ifx\undefined\alreadyrec \def\received{Re\c cu} \fi \def\claim{Pr\'etention} \def\conjecture{Conjecture} \def\corollary{Corrolaire} \def\definition{D\'efinition} \def\example{Exemple} \def\exercise{Exercise} \def\lemma{Lemme} \def\note{Note} \def\proof{\'Epreuve} \def\property{Caract\'eristique} \def\remark{Remark} \def\theorem{Th\'eor\`eme} \def\noteadd{Note ajout\'ee \`a l'\'epreuve} \def\appendix{Appendice} \def\acknowledgement{Remerciements} \def\references{Bibliographie} \def\table{Table} \def\figg{Fig.} \def\presaddhdg{Adresse actuelle} } \gdef\german{% \ifx\undefined\alreadysum \def\summary{Zusammenfassung} \fi \def\transsummary{Abstract} \def\keyhdg{Schl\"usselw\"orter} \def\transkeyhdg{Key words} \ifx\undefined\alredyrec \xdef\received{Erhalten} \fi \def\claim{Behauptung} \def\conjecture{Hypothese} \def\corollary{Korrolar} \def\definition{Definition} \def\example{Beispiel} \def\exercise{\"Ubung} \def\lemma{Lemma} \def\note{Anmerkung} \def\proof{Beweis} \def\property{Eigenschaft} \def\remark{Bemerkung} \def\theorem{Theorem} \def\noteadd{Nachtrag} \def\appendix{Anhang} \def\acknowledgements{Danksagung} \def\references{Literatur} \def\table{Tab.} \def\figg{Abb.} \def\presaddhdg{Momentane Adresse} } \english%(default: english; for using another language % type \french or \german in document) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Springer macro file: Part pj2macro.tex Version 1.5 %% (04/29/91) ERI/THS/BOG %----------------------------------------------------------------- % redefinition of plain's \item, so it will work after headlines: %----------------------------------------------------------------- \catcode`@=11 % use @ as a normal character % % \ch@ckitem(item)mark measures the width of the \item(item)s mark % and issues a warning if it will not fit in the space provided \def\ch@ckitemmark#1{\setbox0=\hbox{\enspace#1}% \ifdim\wd0>\itemindent \message{|\string\item: Your mark `\string#1' is too wide. }% \fi} \def\ch@ckitemitemmark#1{\setbox0=\hbox{\kern\itemindent\enspace#1}% \ifdim\wd0>\itemitemindent \message{|\string\itemitem: Your mark `\string#1' is too wide. }% \fi} % % \set@item@mark is used to produce the \item's mark \def\set@item@mark#1{\ch@ckitemmark{#1}% \hbox to\itemindent{\hss#1\enspace}\ignorespaces} % \set@itemitem@mark is used to produce the \itemitem's mark \def\set@itemitem@mark#1{\ch@ckitemitemmark{#1}% \dimen0=\itemitemindent \advance\dimen0 by-\itemindent \kern\itemindent\hbox to\dimen0{#1\hss}\ignorespaces} % % \setitem(item)indent takes its argument as the widest mark % of an \item(item) and changes the \item(item)indent accordingly \def\setitemindent#1{\setbox0=\hbox{\ignorespaces#1\unskip\enspace}% \itemindent=\wd0\relax \ifx\quiet\undefined \message{|\string\setitemindent: Mark width modified to hold |`\string#1' plus an \string\enspace\space gap. }% \fi} \def\setitemitemindent#1{\setbox0=\hbox{\ignorespaces#1\unskip\enspace}% \itemitemindent=\wd0\relax \ifx\quiet\undefined \message{|\string\setitemitemindent: Mark width modified to hold |`\string#1' plus an \string\enspace\space gap. }\fi \advance\itemitemindent by\itemindent} % % \item is redefined to produce a right aligned mark with % a fixed gap, the hanging indentation has the width \itemindent. % \itemitem is redefined to produce a left aligned mark with indention % \itemindent, the hanging indentation has the width \itemitemindent. % If there are flush left equations (\mathhsize is defined) % that size is also corrected for use inside an \item(item). % \def\item{\par\noindent \hangindent\itemindent\hangafter=1\relax \set@item@mark} % \def\itemitem{\par\noindent \hangindent\itemitemindent\hangafter=1\relax \set@itemitem@mark} \catcode`@=12 % at signs are no longer letters % \def\hang{\parindent\defaultparindent\hangindent\parindent} \def\textindent#1{\indent\llap{#1\enspace}\ignorespaces} \def\narrower{\advance\leftskip\defaultparindent \advance\rightskip\defaultparindent} \def\fullline{\hbox to\fullhsize} \newdimen\fullhead % %----------------------------------------------------------------- % Definition of \verbatim environment, \verb and \verbb %----------------------------------------------------------------- % This is verbatim.tex % is defines a various macros for verbatim output % \chardef\other=12 % first some sorts of blanks \def\BlankIsSpace{\def\blankmeaning{\space}} \def\BlankIsControlSpace{\def\blankmeaning{\ }} \ifx 1\FONTS % Knuth-Fonts : cm \def\visibleblank{{\tt\char32}} \else % PostScript Fonts : ps % the "visible space" is not defined in PostScript so it's simulated \def\visibleblank{{\tt\setbox0=\hbox{m}\lower0.3ex \hbox to\wd0{\kern0.1\wd0\vrule height0.8ex\hrulefill\vrule height0.8ex\kern0.1\wd0}}} \fi \def\BlankIsVisible{\expandafter\def\expandafter\blankmeaning \expandafter{\visibleblank}} \def\theblankmeaning{\blankmeaning} {\obeyspaces\global\let =\theblankmeaning} \def\obeyspaces{\BlankIsControlSpace\catcode`\ =\active} {\catcode`\`=\active \gdef`{\relax\lq}} % make all special characters printable, with backdoor \def\setupverbatim{\begingroup\catcode`\\=\other \catcode`\{=\other \catcode`\}=\other \catcode`\$=\other \catcode`\&=\other \catcode`\#=\other \catcode`\%=\other \catcode`\~=\other \catcode`\_=\other \catcode`\^=\other \catcode`\^^?=0\relax% ASCII 127 is the new backslash \catcode`\^^S=14\relax% ASCII 19 is the new comment character \obeyspaces\tt} % enable use of a verbatim delimiter \def\doverbatim#1{\def\next##1#1{##1\endgroup}\next} % \verb obeys spaces, that are printed invisible \def\verb{\setupverbatim\doverbatim} % \verbb obeys spaces, that are printed visible \def\verbb{\setupverbatim\BlankIsVisible\doverbatim} % define \endverbatim with "\" of \catcode 12 as delimiter for verbatim {\catcode`\^^?=0 ^^?catcode`^^?\=\other^^?obeylines% ^^?gdef^^?ttfinish#1\endverbatim{#1^^?endgraf^^?bigskip^^?endgroup}} % \begverbatim obeys spaces and lines and can be tailored % by its argument, if this is not defined \rm is used instead. \def\begverbatim#1{\par \setupverbatim \def\newline{\hfil\break\strut}% \let\par=\newline \parindent=0pt \leftskip=\defaultparindent \rightskip=0pt plus1fil \advance\baselineskip by0pt plus0.1pt \hyphenchar\tentt=-1 \def\begrm{\bgroup\rm}% easy way to have \rm enclosure in \tt text \def\endrm{\egroup}% by typing \begrm roman text \endrm \ifx#1\undefined \message{|\string\begverbatim: Typeface `\string#1' undefined, using \string\tt. }% \let\next\relax \else \def\next{#1}% \fi \next \obeylines\ttfinish} % listing prints an external file in verbatim mode \def\listing#1{\par \setupverbatim \obeylines\input#1 \par\bigskip\endgroup} %----------------------------------------------------------------- %%%%%%% FORMULA COUNTER %----------------------------------------------------------------- % register for generating automatic numbered formulas: \newcount\eqnum\eqnum=0 \def\autnum{\global\advance\eqnum by 1{\rm(\the\eqnum)}} % \autnum usage: $$ formula \eqno\autnum$$ % or: $$\eqalignno{a&=b&\autnum\cr}$$ % % EQUATION NUMBERS: \ifcase\eqleft\or\let\eqno=\leqno\fi \newtoks\eq\newtoks\eqn \catcode`\@=11% !!!! \def\eqalign#1{\null\vcenter{\openup\jot\m@th \ialign{\strut\hfil$\displaystyle{##}$&$\displaystyle{{}##}$\hfil \crcr#1\crcr}}} \def\displaylines#1{{}$\displ@y \hbox{\vbox{\halign{$\@lign\hfil\displaystyle##\hfil$\crcr #1\crcr}}}${}} \def\eqalignno#1{{}$\displ@y \hbox{\vbox{\halign to\hsize{\hfil$\@lign \displaystyle{##}$\tabskip\z@skip &$\@lign\displaystyle{{}##}$\hfil\tabskip\centering &\llap{$\@lign##$}\tabskip\z@skip\crcr #1\crcr}}}${}} \def\leqalignno#1{{}$\displ@y \hbox{\vbox{\halign to\hsize{\qquad\hfil$\@lign \displaystyle{##}$\tabskip\z@skip &$\@lign\displaystyle{{}##}$\hfil\tabskip\centering &\kern-\hsize\rlap{$\@lign##$}\tabskip\hsize\crcr #1\crcr}}}${}} \ifcase\eqleft\or\let\eqalignno=\leqalignno\fi \def\generaldisplay{% \ifeqno \ifleqno\leftline{$\displaystyle\the\eqn\quad\the\eq$}% \else \ifcase\eqleft\line{$\displaystyle\the\eq\hfill\the\eqn$}% \or\leftline{$\displaystyle\the\eqn\quad\the\eq$}% \fi \fi %\else\line{$\displaystyle\the\eq\hfill\the\eqn$}\fi \else \leftline{$\displaystyle\the\eq$}% \fi \global\eq={}\global\eqn={}}% \newif\ifeqno\newif\ifleqno \everydisplay{\displaysetup} \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} \catcode`\@=12% !!! % at signs are no longer letters % Math end from aa.dra % %----------------------------------------------------------------- % FIGURES AND TABLES %----------------------------------------------------------------- %%%%%% general macros %----------------------------------------------------------------- %% new 30.12.91 FUH: % rules invisible \def\finehrule{\hrule height 0pt} \def\finevrule{\vrule width 0pt} \def\frame#1{\vbox{\finehrule\line{\finevrule\vbox to#1true cm{\vfil}% \hfil\finevrule}\finehrule}} \def\doins#1{\par \ifvoid\topins\midinsert\vbox{#1}\endinsert \else\topinsert\vbox{#1}\endinsert\fi} % \def\tabcap#1#2{\smallskip\noindent% \bgroup\petit{\bf\table\ts#1.\ }% \ignorespaces #2\smallskip\egroup} %----------------------------------------------------------------- % REFERENCES %----------------------------------------------------------------- \catcode`@=11 % use @ as a normal character % the amount of indention in \refno and \refmark it is % measured by \begref \newdimen\refindent % % the amount of indention in \ref \newdimen\refnormindent \refnormindent=1em % % \setupw@rning initializes the warning message that is issued if % the user does not supply the second argument of the begin of the % references. Then the indention cannot be calculated what makes % at least the first reference unusuable. \def\setupw@rning#1{\def\startrefid{\string#1}% \def\w@rning{\message{|Something may be wrong with your references; |probably you missed the second argument of \startrefid.}% \let\w@rning\relax}} % % \begref prints a \utitlea with its first argument as text % the second parameter is the widest label inside the references % and starts small print \def\begref#1#2{\bgroup \vskip\beforeref\par% \basesize\noindent{\bf {#1}}\nobreak\vskip\afterreft \nobreak \petit \setupw@rning{\begref} \setbox0=\hbox{#2\enspace}\refindent=\wd0\relax \let\w@rning\relax \ignorespaces\rm} % % \ref produces ordinary entries, % successive lines are indented by \refnormindent \def\ref{\w@rning\goodbreak \hangindent\refnormindent\hangafter=1 \noindent\ignorespaces} % \refno produces entries with right-aligned marks in the margin % successive lines are indented by \refindent % call for reference: \refno{23} Thomas Mueller: title ... % --> \par\hangindent ... 23. Thomas Mueller: title ... \def\refno#1{\w@rning\goodbreak \setbox0=\hbox{#1\unskip\enspace}% \ifdim\refindent<\wd0\relax \message{|\string\refno: reference `#1' is wider than you pretended in using \startrefid.}% \fi \hangindent\refindent\hangafter=1 \noindent\kern\refindent\llap{#1\unskip\enspace}\ignorespaces} % % \refmark produces entries with left-aligned marks in the margin % successive lines are indented by \refindent \def\refmark#1{\w@rning\goodbreak \setbox0=\hbox{#1\enspace}% \ifdim\refindent<\wd0\relax \message{|\string\refmark: reference `#1' is wider than you pretended in using \startrefid.}% \hangindent\refindent\hangafter=1 \noindent\box0\ignorespaces \else \hangindent\refindent\hangafter=1 \noindent\hbox to\refindent{#1\hss}\ignorespaces \fi} % \endref ends the bibliography and restores normal print size \def\endref{\goodbreak\endpet\egroup} \catcode`@=12 % at signs are no longer letters %----------------------------------------------------------------- %%%%%%% ACKNOWLEDGEMENTS %----------------------------------------------------------------- \long\def\acknow#1{\vskip\beforeack\begpet\noindent% {\it \acknowledgement\/}. \ignorespaces#1\endpet} % %----------------------------------------------------------------- %%%%%%% APPENDICES %----------------------------------------------------------------- \def\app#1{\goodbreak\vskip\beforeapp\noindent% {\bf \appendix\ #1}\par\nobreak\vskip\afterappt\noindent\ignorespaces} % %----------------------------------------------------------------- %%%%%%% NOTE ADDED IN PROOF %----------------------------------------------------------------- \def\noteadded{\goodbreak\vskip\beforeapp\noindent% {\bf \noteadd\ }\par\nobreak\vskip\afterappt\noindent\ignorespaces} % %----------------------------------------------------------------- %%%%%%% POSTAL ADDRESS %----------------------------------------------------------------- \def\bpostadd{\vskip\beforeapp\bgroup\petit\bgroup\obeylines% \parindent=0pt} \def\epostadd{\egroup\par\egroup} %----------------------------------------------------------------- %%%%%%% MISC. %----------------------------------------------------------------- \let\ts=\thinspace \let\,=\thinspace \newlinechar=`\| % line break for TeX messages at the screen % %----------------------------------------------------------------- %%%%%%% FOOTNOTES %----------------------------------------------------------------- %%%%%%% general macros %----------------------------------------------------------------- % footnote as in plain: \catcode`\@= 11 \newinsert\footins \def\footnotea#1{\let\@sf\empty % parameter #2 (the text) is read later \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi #1\@sf\vfootnote{#1}} % changed:the footnote gets her own footfont, % so the subscript in the text remains in the % current size (of course this size needs a % font definition for \scriptfont1 ): \def\vfootnote#1{\insert\footins\bgroup\footfont\hsize=\colhsize \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 \textindent{#1}\footstrut\futurelet\next\fo@t} \def\fo@t{\ifcat\bgroup\noexpand\next \let\next\f@@t \else\let\next\f@t\fi \next} \def\f@@t{\bgroup\aftergroup\@foot\let\next} \def\f@t#1{#1\@foot} \def\@foot{\strut\egroup} \def\footstrut{\vbox to\splittopskip{}} \skip\footins=\bigskipamount % space added when footnote is present \count\footins=1000 % footnote magnification factor (1 to 1) \dimen\footins=8in % maximum footnotes per page % %---------------------------------------------------------------- %%%%% general footnote layout: % \def\begfo#1{\bgroup \def\textindent##1{% \noindent\hbox to\footindent{\hss##1\enspace}% \ignorespaces}% \footnotea{$^{#1}$}\bgroup} \def\endfo{\egroup\egroup} %----------------------------------------------------------------- %%%%% handling the counter: % \newcount\stars \stars=0 \def\morestars{\global\advance\stars by1\relax}% \newcount\footcnt \footcnt=0 \def\morefoots{\global\advance\footcnt by1\relax}% % %----------------------------------------------------------------- %%%%% handling the asterisks: % \newtoks\stparam \global\stparam{} \def\checkstars{\morestars% \ifcase\stars\global\stparam={}% \or\global\stparam{{\star}}% \or\global\stparam{{\star\star}}% \or\global\stparam{{\star\star\star}}% \else% \message{more than three stars are not available|}% \fi }% %----------------------------------------------------------------- % automatic numbered footnote, scriptsize in petit: %----------------------------------------------------------------- \def\fonote#1{\morefoots\begfo{\the\footcnt}\ignorespaces #1\endfo}% % %----------------------------------------------------------------- % automatic footnote numbering with growing number of % asterisks: footnote in AUTHOR or MAIN- resp. SUBTITLE %----------------------------------------------------------------- \def\FOOTNOTE#1{\checkstars \begfo{\the\stparam}\ignorespaces #1\endfo}% % Present address \def\PRESADD#1{\checkstars \begfo{\the\stparam}{\it\presaddhdg\/}: #1\endfo}% % %----------------------------------------------------------------- \catcode`\@=12 % %----------------------------------------------------------------- %%%%%%% MINI ENVIRONMENTS %----------------------------------------------------------------- % \def\nlni{\par\vskip-\lastskip\vskip0.5\baselineskip\noindent} % \def\endskip{\par\vskip0.5\baselineskip\noindent} % \long\def\defenva#1#2#3#4% {\expandafter\gdef\csname beg#1\endcsname##1{\nlni% {#2\csname #1\endcsname\ ##1} \bgroup \ignorespaces #3% }% \expandafter\gdef\csname #1\endcsname{#4}% \expandafter\gdef\csname end#1\endcsname{\egroup\endskip}% } % Call this macro to build mini environments; the % meaning of the parameters is: % 1 basename of the environment. If we use lemma that % results in the definition of three macros: % \beglemma (Beginning; one parameter) % \endlemma (End; no parameter) % \lemma (Contains the text of paramter #4) % 2 add that at the beginning of the first group (where % first argument is called) % 3 add that at the beginning of the second group (text) % % % Evaluation beg-macro: \nlni{#2 #4\ }\bgroup #3 % Evaluation end-macro: \egroup\endskip % %%% % Difference: Begin macro defined by \defenvb needs no % argument: \begclaim ... \endclaim but % \beglemma{3.2} ... \endlemma % \long\def\defenvb#1#2#3#4% {\expandafter\gdef\csname beg#1\endcsname{\nlni% {#2\csname #1\endcsname} \bgroup \noindent\ignorespaces #3% }% \expandafter\gdef\csname #1\endcsname{#4}% \expandafter\gdef\csname end#1\endcsname{\egroup\endskip}% } % \defenva{corollary}{\bf }{\it }{Corollary} \defenva{lemma}{\bf }{\it }{Lemma} \defenva{property}{\bf }{\it }{Property} \defenva{theorem}{\bf }{\it }{Theorem} \defenva{conjecture}{\it }{\rm }{Conjecture} \defenva{definition}{\it }{\rm }{Definition} \defenva{example}{\it }{\rm }{Example} \defenva{exercise}{\it }{\rm }{Exercise} \defenvb{claim}{\it }{\rm }{Claim} \defenvb{note}{\it }{\rm }{Note} \defenvb{proof}{\it }{\rm }{Proof} \defenvb{remark}{\it }{\rm }{Remark} % %----------------------------------------------------------------- % \catcode`\@=\active % %----------------------------------------------------------------- %%%%%%% THE END %----------------------------------------------------------------- %%%%%% to identify user defined special-char macros: % \newcount\specct \specct=1 \newtoks\ttmp \newtoks\empty \def\mk#1{\global\ttmp={#1}} \mk{\csname special\romannumeral\specct\endcsname} \def\checkspec{% \loop \smallskip% \if\the\ttmp\empty\else \noindent special character No\number\specct: \the\ttmp \fi \advance\specct by 1% \mk{\csname special\romannumeral\specct\endcsname} % \expandafter\if\the\ttmp\empty% ! \if\the\ttmp\empty \let\ENDD=Y\else\let\ENDD=N\fi% \ifx N\ENDD\repeat } % %------------------------------------------------------- %%%%%%% PAGE NUMBERING AND "RUNNING HEAD" %------------------------------------------------------- % \nopagenumbers %----------------------------------------------------------------- %%%%%%% left part of the headline: \def\mshead{% \vbox{\hrule% \line{\vrule\kern3pt% \vbox{\rightskip=0pt plus3em\advance\hsize by-7pt% \hrule height0pt depth0pt width\hsize \kern3pt% \hbox{\bf \SprJLogoname\ Manuskript-Nr.}% \hbox{(will be inserted by hand later)}% \kern3pt\hrule\kern3pt% \hbox{\bf Your thesaurus codes are:}% \hbox{\bf\ignorespaces% \the\THESAURUS\hfill} \kern3pt}% \hfil\kern3pt\vrule}% \hrule}% }% %%%%%%% headline: \newdimen\hdlsav \def\paglay{% \headline={\tenpoint \ifnum\pageno=1% \hsize=.75\fullhsize% \mshead% \hsize=\fullhsize% \hfil % THS: Your thesaurus codes are etc. cf. aa.dra \llap{\quad\SprJLogo}% \else% \petit % THS genb was: \ifodd\pageno\rightheadline\hfil\folio % THS genb was: \else\folio\hfil\leftheadline% \ifodd\pageno\hfil\folio\else\folio\hfil\fi \fi% }% %\noindent iiii %\hdlsav =\ht\headline } % THS: aa.dra:::??? \ifx \undefined\instruct \headline={\tenrm\ifodd\pageno\hfil\folio \else\folio\hfil\fi}\fi % EOF ??? % %----------------------------------------------------------------- %%%%%%% HEADERS %----------------------------------------------------------------- % 1st order headlines without automatic numbering. %----------------------------------------------------------------- \def\aSa{\bgroup\par\sxtntipoint \rightskip=0pt plus6em\spaceskip=.3333em \xspaceskip=.5em \pretolerance=10000 \noindent} \def\eSa{\vskip\defaultbase \egroup \noindent \ignorespaces} %% \def\aTa{\bgroup\par\sxtnbfpoint \rightskip=0pt plus6em\spaceskip=.3333em \xspaceskip=.5em \pretolerance=10000 \noindent} \def\eTa{\vskip\defaultbase \egroup \noindent \ignorespaces} %----------------------------------------------------------------- %%%%%%% 2nd order headlines without automatic numbering. %----------------------------------------------------------------- \def\aTb{\bgroup\twlfbfpoint \raggedright \pretolerance=10000 \noindent} \def\eTb{\vskip\defaultbase \egroup \noindent \ignorespaces} %----------------------------------------------------------------- %%%%%%% HEADERS WITH AUTOMATIC NUMBERING %----------------------------------------------------------------- % changed at character ("@") to key character for affiliations % while title page is active (used in AUTHOR and INSTITUTE) \catcode`\@=11 %----------------------------------------------------------------- %%%%%%% preparations: %----------------------------------------------------------------- % register definitions for headlines: % %%%%%% counter: \newcount\c@Ta \newcount\c@Tb \newcount\c@Tc \newcount\c@Td \newcount\c@Te \newcount\c@Tf %%%%%% skip before headline: \newskip\bv@Ta \newskip\bv@Tb \newskip\bv@Tc \newskip\bv@Td \newskip\bv@Te \newskip\bv@Tf %%%%%% skip after headline: \newskip\av@Ta \newskip\av@Tb \newskip\av@Tc \newskip\av@Td \newskip\av@Te \newskip\av@Tf %%%%%% skip back if headline before: \newskip\mv@Ta \newskip\mv@Tb \newskip\mv@Tc \newskip\mv@Td \newskip\mv@Te \newskip\mv@Tf % % try 04.05.90: % \newtoks\curhd \curhd={z} % % macros for setting/resetting these registers: % \def\sethds#1#2#3#4#5{\resetcount{#1}% \global\csname bv@T#1\endcsname = #2% vskip before header \global\csname av@T#1\endcsname = #3% vskip after header \global\csname mv@T#1\endcsname = #4% minus vskip if hdr before \global\expandafter\def\csname set#1\endcsname{#5} } % \def\resetcount#1{\global\csname c@T#1\endcsname=0} \def\@nameuse#1{\csname #1\endcsname} \def\arabic#1{\@arabic{\@nameuse{c@T#1}}} \def\@arabic#1{\ifnum #1>0 \number #1\fi} % \def\stepc#1{\global\expandafter \advance\csname c@T#1\endcsname by 1} % % automatic generation of header-nrs: % \newtoks\befor\newtoks\after \newtoks\hdnr % \def\getba#1{% \if #1a% \global\befor={y}\global\after={b} \global\hdnr={\arabic{a}.\ } \else\if #1b% \global\befor={a}\global\after={c} \global\hdnr={\arabic{a}.\arabic{b}.\ } \else\if #1c% \global\befor={b}\global\after={d} \global\hdnr={\arabic{a}.\arabic{b}.\arabic{c}.\ } \else\if #1d% \global\befor={c}\global\after={e} \global\hdnr={} \else\if #1e% \global\befor={c}\global\after={f} \global\hdnr={} \else\if #1f% \global\befor={c}\global\after={x} \global\hdnr={} \fi\fi\fi\fi\fi\fi} % %----------------------------------------------------------------- %%%%%%% the macro to generate headers %----------------------------------------------------------------- % \newbox\hdbox \newskip\skipone \newdimen\paght % %%%%%% temporary redefinition of \par \def\ignorepar{% \parindent=0pt% \def\par{\ifvmode\else\endgraf\fi\let\par=\endgraf \parindent=\defaultparindent % try 4.5: \global\curhd={z} }} % \fi}} % %%%%%% check if headline fits on current page % \gdef\checkpagb#1#2#3#4{% \paght=\pagetotal \global\setbox\hdbox=\vbox{% \csname set#1\endcsname% initializing header \noindent #2% number \ignorespaces #3% text }% \advance\paght by -\pageshrink \ifdim\paght>\pagegoal \else \paght=\pagetotal\advance\paght by \pagestretch \ifdim\paght<\pagegoal \paght=\pagetotal \advance\paght by \csname bv@T#1\endcsname \advance\paght by\ht\hdbox% \advance\paght by\csname av@T#1\endcsname \advance\paght by#4% remaining lines on page \ifdim\paght > \pagegoal% % \expandafter\expandafter\if\the\befor\the\curhd % ! \if\the\befor\the\curhd % \expandafter\if\the\befor y\vfill\eject \else % ! \if\the\befor y\vfill\eject \else \nobreak %new \fi %new \else \vfill\eject \fi %new \fi \fi \fi }% %----------------------------------------------------------------- \catcode`\@=12 %----------------------------------------------------------------- %%%%%% the main macro: % \def\makehead#1#2#3{% \ifvmode\else\par\fi \skipone=\lastskip%\unskip% store lastskip \getba{#1}% get: higher/lower level and number \stepc{#1}% raise counter % \expandafter\if \the\after x\else % ! \if \the\after x\else \resetcount{\the\after}% reset lower level \fi % back skip if headline before: % try 4.5: % \expandafter\expandafter\if\the\befor\the\curhd % ! \if\the\befor\the\curhd \nobreak\vskip\csname mv@T#1\endcsname \else \fi % check remaining space on page % and store headline to hdbox: \checkpagb{#1}{\the\hdnr}{#2}{#3}% % \expandafter\expandafter\if\the\befor\the\curhd % ! \if\the\befor\the\curhd \nobreak\vskip\csname bv@T#1\endcsname \else \vskip\csname bv@T#1\endcsname% skip before header \fi \nobreak \bgroup \nobreak\unvbox\hdbox% hdbox out \egroup\nobreak% \vskip\csname av@T#1\endcsname% skip after header \ignorepar \global\curhd={#1} \ignorespaces% }% % %-------------------------------------------------------------------- %%%%%%% definition of 3 orders of headlines: %-------------------------------------------------------------------- % \sethds{a}{2\defaultbase}{\defaultbase}{-2\defaultbase}% {\tenbfpoint \rightskip 0pt plus4em% \pretolerance=20000% }% \sethds{b}{2\defaultbase}% {\defaultbase}{-2\defaultbase}% {\basesize\raggedright \pretolerance=10000\it}% % \sethds{c}{2\defaultbase}% {\defaultbase}{-2\defaultbase}% {\basesize\raggedright\pretolerance=10000}% % %\def\titlea#1{\makehead{a}{#1}{4\baselineskip}}% ! %\def\titleb#1{\makehead{b}{#1}{3\baselineskip}}% %\def\titlec#1{\makehead{c}{#1}{2\baselineskip}}% \def\titlea#1{\makehead{a}{#1}{3\baselineskip}}% \def\titleb#1{\makehead{b}{#1}{2\baselineskip}}% \def\titlec#1{\makehead{c}{#1}{\baselineskip}}% % %-------------------------------------------------------------------- %%%%%%% HEADERS WITHOUT AUTOMATIC NUMBERING %-------------------------------------------------------------------- %%%%%% the main macro: % \def\makeuhead#1#2#3{% \ifvmode\else\par\fi \skipone=\lastskip%\unskip% store lastskip % back skip if headline before: \getba{#1} % \expandafter\if \the\befor x\else % ! \if \the\befor x\else % \expandafter\expandafter\if\the\befor\the\curhd % ! \if\the\befor\the\curhd %\ifdim\skipone=\csname av@T\the\befor\endcsname \vskip\csname mv@T#1\endcsname \else \fi \fi % check remaining space on page % and store headline to hdbox: \checkpagb{#1}{}{#2}{#3}% \vskip\csname bv@T#1\endcsname% skip before header \bgroup \box\hdbox% hdbox out \egroup\nobreak% \vskip\csname av@T#1\endcsname% skip after header \ignorepar \global\curhd={#1} \ignorespaces% }% %-------------------------------------------------------------------- %%%%%%% and here the definition of the 3 orders unnumbered: %-------------------------------------------------------------------- % \def\utitlea#1{\makeuhead{a}{#1}{4\baselineskip}}% \def\utitleb#1{\makeuhead{b}{#1}{3\baselineskip}}% \def\utitlec#1{\makeuhead{c}{#1}{2\baselineskip}}% %-------------------------------------------------------------------- %%%%%%% (possible remaining orders: use shoulder headers) %-------------------------------------------------------------------- %%%%%%% SHOULDER HEADINGS %----------------------------------------------------------------- \sethds{d}{\baselineskip}{0pt}{-\baselineskip}% {}% \sethds{e}{\baselineskip}{0pt}{-\baselineskip}% {}% \sethds{f}{\baselineskip}{0pt}{-\baselineskip}% {}% \def\makeush#1#2{% \ifvmode\else\par\fi \skipone=\lastskip%\unskip% store lastskip % back skip if headline before: \getba{#1} % \expandafter\if \the\befor x\else % ! \if \the\befor x\else % \expandafter\expandafter\if\the\befor\the\curhd % ! \if\the\befor\the\curhd % \ifdim\skipone=\csname av@T\the\befor\endcsname \vskip\csname mv@T#1\endcsname \else \fi \fi \global\curhd={#1} \vskip\csname bv@T#1\endcsname% skip before header \noindent#2\ \ignorespaces% }% \def\utitled#1{\makeush{d}{{\bf #1}}}% \def\utitlee#1{\makeush{e}{{\it #1}}}% \def\utitlef#1{\makeush{f}{{\rm #1}}}% % % %-------------------------------------------------------------------- %-------------------------------------------------------------------- %%%%%%% TITLE PAGE %-------------------------------------------------------------------- %%%%%%% declaration of variables for automatic title page %-------------------------------------------------------------------- \newtoks\REFEREE \newtoks\DATE \newtoks\HEADNOTE \newtoks\MAINTITLE \newtoks\MAINTITLERUNNINGHEAD \MAINTITLERUNNINGHEAD={ ????? }% \newtoks\SUBTITLE \SUBTITLE={ ????? }% \newtoks\AUTHOR \newtoks\AUTHORRUNNINGHEAD \AUTHORRUNNINGHEAD={ ????? }% \newtoks\INSTITUTE \newtoks\SUMMARY \newtoks\KEYWORDS \KEYWORDS={ ????? }% \newtoks\PACS \PACS={ ????? }% \newtoks\SUBCLASS \SUBCLASS={ ????? }% \newtoks\THESAURUS \THESAURUS={ ????? }% \newtoks\MAIL \MAIL={ ????? }% \newtoks\TRANSTITLE \TRANSTITLE={ ????? }% \newtoks\TRANSSUM \newtoks\TRANSKEY %-------------------------------------------------------------------- %%%%%%% REFEREE: %-------------------------------------------------------------------- \newbox\refereebox \setbox\refereebox=\vbox to0pt{\vskip0.5cm% \fullline{\hrulefill\tentt\lower0.5ex \hbox{\kern5pt referee's copy\kern5pt}\hrulefill}\vss}% % \global\let\REFEREE=N \def\refereelayout{% \global\let\REFEREE=Y} %-------------------------------------------------------------------- %%%%%%% general macros: %-------------------------------------------------------------------- % %%%%%% Messages: % \def\missmsg#1{\message{Missing #1 |}} \def\ilgmsg#1{\message{Your #1 is too long to be used|% as the running head|}} \def\iilgmsg{\message{please supply a shorter form}} \def\optmsg#1{\message{#1 is optional|}} \def\subtoks#1{#1 suppressed due to excessive length} %% %% % %% test if missing: % \def\tstmiss#1#2#3#4#5{% \edef\test{\the #1}% \ifx\test\missing% #2\relax% message #3% action if missing \else \ifx\test\missingi% #2\relax% message #3% action if missing \else #4% action if existing \fi\fi #5% action at any rate }% % % %-------------------------------------------------------------------- %%%%%%% main macro for automatic title page: \maketitle %-------------------------------------------------------------------- %% %-------------------------------------------------------------------- \catcode`\@= \active %-------------------------------------------------------------------- \newskip\headlskip \def\maketitle{\paglay% \hsize=\fullhsize \smallskipamount=3pt \medskipamount=6pt \bigskipamount=12pt \parskip=0pt \hbox{}% \vskip\beforemain \hbox{}% \def\missing{ ????? }% pattern for identifying empty fields \def\missingi{}% pattern for identifying empty fields % % To test an empty field compare variable with \missing=" ????? ". % \edef\test{\the\VARIABLE} enables variable for comparing % \ifx\test = \missing variable contains text: " ????? " ? % ! action if variable equal to \missing: nothing entered ! % \else ! text entered ! \fi % % %____________ MAIL (formerly SENDOFF) ______________ \tstmiss {\MAIL}% {}% {}% {{\def\textindent##1{\noindent\ignorespaces}% \vfootnote{}{{\it \mail\/}: \ignorespaces\the\MAIL}}}% {}% % %____________ HEADNOTE ______________________________ \tstmiss% {\HEADNOTE}% {}% {}% {\aSa\ignorespaces\the\HEADNOTE\eSa}% {}% %____________ MAINTITLE ______________________________ \let\RHEAD=N% % MAINTITLERUNNINGHEAD set? \tstmiss% {\MAINTITLE}% {\missmsg{MAINTITLE}}% {\global\MAINTITLE={MAINTITLE should be given}}% {}% {% write MAINTITLE: \aTa\ignorespaces\the\MAINTITLE\eTa% % make MAINTITLERUNNINGHEAD: % take away \newline and footnotes \def\newline{ }% \gdef\FOOTNOTE##1{}% % test if specific MAINTITLERUNNINGHEAD: \tstmiss% {\MAINTITLERUNNINGHEAD}% {}% {\global\let\RHEAD=N}% {\global\MAINTITLE={\the\MAINTITLERUNNINGHEAD}% \global\let\RHEAD=Y}% {}% % test if MAINTITLERUNNINGHEAD's too long: \setbox0=\hbox{\petit\kern1.5cm\ignorespaces \the\MAINTITLERUNNINGHEAD\unskip}% \ifdim\wd0>\hsize \if N\RHEAD% \ilgmsg{MAINTITLE}\message{please supply a short form % in MAINTITLERUNNINGHEAD|}% \xdef\rightheadline{\subtoks{MAINTITLE}}% \else \ilgmsg{MAINTITLERUNNINGHEAD}\iilgmsg \xdef\rightheadline{\subtoks{MAINTITLERUNNINGHEAD}}% \fi \else \edef\temp{\ignorespaces\the\MAINTITLE\unskip}% \xdef\rightheadline{\temp}% \fi}% % \def\newline{\hfil\break}% \def\FOOTNOTE##1{\checkstars \begfo{\the\stparam}\ignorespaces ##1\endfo}% % %____________ SUBTITLE ______________________________ \tstmiss% {\SUBTITLE}% {\optmsg{SUBTITLE}}% {}% {\aTb\ignorespaces\the\SUBTITLE\eTb}% {}% % %____________ THESAURUS ______________________________ \ifcase \thesob% 0 \tstmiss% {\THESAURUS}% {}% {\global\THESAURUS={not necessary}}% {}% {}% \or% 1 \tstmiss% {\THESAURUS}% {}% {\global\THESAURUS={missing; you have not inserted them}}% {}% {}% \or% 2 \gdef\mshead{\vbox to\theshd{\hbox to \hsize{\hfill}\vfill}}% \fi % %____________ AUTHOR ______________________________ \tstmiss% {\AUTHOR}% {\missmsg{Name(s) and initial(s) of author(s)}}% {\global\AUTHOR={Name(s) and initial(s) of author(s) should be given}}% {}% {% write AUTHOR: \gdef@##1{$^{##1}$}% \basesize\noindent{\rightskip=0ptplus3cm\ignorespaces \the\AUTHOR\vskip\afterauthor}% % \def\newline{ }% \gdef\FOOTNOTE##1{}% % make AUTHORRUNNINGHEAD: % remove adresses: \tstmiss% {\AUTHORRUNNINGHEAD}% {}% {\gdef@##1{}\gdef\PRESADD##1{}% \edef\temp{\ignorespaces\the\AUTHOR\unskip}% \xdef\leftheadline{\temp}% }% {\xdef\leftheadline{\ignorespaces\the\AUTHORRUNNINGHEAD% \unskip}% }% {}% }% % \def\newline{\hfil\break}% \def\FOOTNOTE##1{\checkstars \begfo{\the\stparam}\ignorespaces ##1\endfo}% % %____________ INSTITUTE ______________________________ \tstmiss% {\INSTITUTE} {\missmsg{Address(es) of author(s)}}% {\global\INSTITUTE={Address(es) of author(s) should be given.}}% {}% {\gdef@##1{\endgraf \noindent\hbox to0.5\defaultparindent{$^{##1}$\hfil}\ignorespaces}% \bgroup\petit\noindent\ignorespaces\the\INSTITUTE% \vskip\afterinst\egroup% }% % %____________ DATE OF RECEIPT AND ACCEPTANCE________ % \tstmiss% {\DATE}% {\message{The date of receipt and acceptance should be inserted later|}}% {\global\DATE={{\petit $[$the date of receipt and acceptance should be inserted later$]$}}}% {}% {\begpet\unskip\noindent\ignorespaces \the\DATE\endpet\unskip}% % %-------------------------------------------------------------------- % test if top matter is lower than the predefined value: %-------------------------------------------------------------------- \basesize\hsize=\colhsize % to get the correct reference height: \vskip2\defaultbase %%changed from: \phantom{Sg} \setbox0=\hbox{S} \noindent\hbox{\vrule height\ht0 width 0pt depth0pt}\par % \global\advance\realhead by \bumarkskip %THS added 4 17 90 fullheadstuff \ifnum\pageno=1 \fullhead = \pagetotal \advance\fullhead by-\defaultbase \ifdim\fullhead<\realhead \global\headlskip=\realhead \global\advance\headlskip by -\fullhead% \global\fullhead=\realhead \global\let\bigsav\bigskip \gdef\bigskip{}% to avoid TeX's standard bigskip % after topinsert \topinsert\vbox{\vskip\headlskip% "vfill" }\endinsert \global\let\bigskip\bigsav \else \global\headlskip=0pt \global\let\bigsav\bigskip \gdef\bigskip{}% to avoid TeX's standard bigskip % after topinsert \topinsert\vbox{\vskip\headlskip% "vfill" }\endinsert \global\let\bigskip\bigsav \fi \fi \global\advance\fullhead by 10pt%%changed from: \topskip; fixed value! \global\advance\fullhead by \lineskip \vskip-\defaultbase % %____________ SUMMARY ______________________________ \tstmiss% {\SUMMARY}% {\missmsg{Summary}}% {\global\SUMMARY={Not yet supplied.}}% {}% {\bgroup\noindent \if\summary\empty\else {\bf \summary. }% \fi \ignorespaces \the\SUMMARY\endgraf\egroup% }% % %____________ KEYWORDS ______________________________ \ifcase \keyob% 0 \tstmiss% {\KEYWORDS} {}% {}% {\vskip\beforekey\endgraf\noindent\hangindent=0cc\hangafter=0% {\bf\keyhdg: }\ignorespaces\the\KEYWORDS\endgraf }% {}% \or% 1 \tstmiss% {\KEYWORDS}% {\missmsg{Keywords}}% {}% {\vskip\beforekey\endgraf\noindent\hangindent=0cc\hangafter=0% {\bf\keyhdg: }\ignorespaces\the\KEYWORDS\endgraf }% {}% \or% 2 \tstmiss% {\KEYWORDS}% {\missmsg{Keywords}}% {}% {\vskip\beforekey\endgraf\noindent\hangindent=0cc\hangafter=0% {\bf\keyhdg: }\ignorespaces\the\KEYWORDS\endgraf }% {}% %____________ SUBCLASS ______________________________ \tstmiss% {\SUBCLASS}% {\missmsg{Subject Classifications}}% {}% {\vskip\beforekey\endgraf\noindent\hangindent=0cc\hangafter=0% {\bf CR Subject Classifications: }\ignorespaces\the\SUBCLASS\endgraf }% {}% \or% 3 %____________ PACS ______________________________ \tstmiss% {\PACS}% {\missmsg{PACS}}% {}% {\vskip\beforekey\endgraf\noindent\hangindent=0cc\hangafter=0% {\bf PACS: }\ignorespaces\the\PACS\endgraf }% {}% \or% 4 \tstmiss% {\PACS}% {}% {}% {\vskip\beforekey\endgraf\noindent\hangindent=0cc\hangafter=0% {\bf PACS: }\ignorespaces\the\PACS\endgraf }% {}% % \fi % \par \global\stars=0 %% \tstmiss% {\TRANSTITLE} {}% {}% {\vskip\defaultbase\endgraf\noindent\bgroup\leftskip=0cc% {\bf\ignorespaces\the\TRANSTITLE}% \endgraf\egroup% }% {}% % \tstmiss% {\TRANSSUM}% {}% {}% {\vskip\defaultbase\endgraf\noindent\bgroup\leftskip=0cc% \if\summary\empty\else {\bf \transsummary.\ }% \fi \ignorespaces \the\TRANSSUM\endgraf\egroup }% {} %%%%%%%%% TRANSLATED KEYWORDS \tstmiss% {\TRANSKEY}% {}% {}% {\vskip\beforekey\endgraf\noindent\hangindent=0cc\hangafter=0% {\bf\transkeyhdg: }\ignorespaces\the\TRANSKEY\endgraf }% {}% % \vskip 10dd plus 6pt minus 4pt \hrule width \colhsize \vskip 10dd plus 6pt minus 4pt %-------------------------------------------------------------------- % %------------------------------------------------------------------- %%%%%%% REFEREE %----------------------------------------------------------------- \if Y\REFEREE \message{A referee's copy will be produced|} \footline={\copy\refereebox}% \normalbaselineskip=2\normalbaselineskip \normallineskip=2\normallineskip\normalbaselines \fi %%%%%%%%%%%%%%%%%%% \catcode`\@=12% "@" set back to normal character. \global\curhd={y} \vskip2\defaultbase % \gdef\nignorepar{% \parindent=0pt% \gdef\par{\ifvmode\else\endgraf\let\par=\endgraf \parindent=\defaultparindent \global\curhd={z} \fi}} \nignorepar % \smallskipamount=3pt plus 1pt minus 1pt \medskipamount=6pt plus 2pt minus 2pt \bigskipamount=12pt plus 4pt minus 4pt \parskip=0pt plus 1pt % \let\FOOTNOTE=\undefined }% end of \maketitle and group of "@": % %----------------------------------------------------------------- \newbox\springerMacro \setbox\springerMacro=\vbox{\begpet\noindent This article was processed using Springer-Verlag \TeX\ \SprJLogoname\ macro package 1.0 and the AMS fonts, developed by the American Mathematical Society.\endpet}% %%%%% Definition of \bye: \outer\def\bye{% \typeset\bigskip % the list of user defined char-macros: \checkspec \if R\lr\null\fi \vfill\supereject\end} % \basesize %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Springer macro file: Part %M% Version %I% (%G%) EDS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % % AA.FIX (OUTPUTLR.TEX modified for Astronomy & Astrophysics) % %%% %%% ----------------------------------------------------------------- %%% %%% Author: Konrad Bernl”hr (C) 1990 %%% (with ideas from the TeX Book and from LATEX.TEX) %%% %%% This file gives plain TeX the ability of single and double %%% column output with floating insertions at the top which span %%% both columns in double column format. %%% The default format is double column format. Switching between %%% single and double column format is provided but inserts %%% an immediate page break and ejects all floating insertions. %%% Double column floating insertions defined in text in a %%% right column are held back until the beginning of the next page. %%% %%% ----------------------------------------------------------------- %%% %%% Macros which the user should know about: %%% %%% \setuplr#1#2#3 : Should be called before any output %%% #1 = O (one column) or T (two columns,default) %%% #2 = text width (both columns) %%% #3 = column width %%% %%% \newpage : Fill a whole page and start a new one %%% \newcolumn : Start a new column %%% \onecolumn : Break the current page and switch to one column %%% \twocolumns : Break the current page and switch to two columns %%% %%% \bothtopinsert : Beginning of a floating insertion over the %%% full text width %%% \endbothinsert : End of such an insertion (analog to \endinsert) %%% \specialpage : Insert a special page following the current page %%% %%% All macros with a '@' in their names are for internal usage only. %%% %%% Modified macros for A&A: %%% \output \typeset \refereelayout %%% \titlea \titleb \titlec \titled %%% \begref \ref \endref \ack \app \figure %%% \begfig \begfigwid \begtab \begtabfullwid \begtabemptywid %%% Original A&A macros using one of the modified macros: %%% \bye (\typeset) %%% New macros for A&A: %%% \begfigpage \begtabempty \begtabfull \begtabpage %%% \puthere \putattop \putatbottom %%% %%% ----------------------------------------------------------------- % \catcode`@=11 % use @ as a normal character % \newdimen\@txtwd \@txtwd=\hsize \newdimen\@txtht \@txtht=\vsize \newdimen\@colht \@colht=\vsize \newdimen\@colwd \@colwd=-1pt \newdimen\@colsavwd %%% %%% =========== Macros for initializing the whole thing ========== %%% \newcount\in@t \in@t=0 \def\initlr{\if N\lr \ifdim\@colwd<0pt \global\@colwd=\hsize \fi \else\global\let\lr=L\ifdim\@colwd<0pt \global\@colwd=\hsize \global\divide\@colwd\tw@ \global\advance\@colwd by -10pt \fi\fi\global\advance\in@t by 1} \def\setuplr#1#2#3{\let\lr=O \ifx#1\lr\global\let\lr=N \else\global\let\lr=L\fi \@txtht=\vsize \@colht=\vsize \@txtwd=#2 \@colwd=#3 \if N\lr \else\multiply\@colwd\tw@ \fi \ifdim\@colwd>\@txtwd\if N\lr \errmessage{The text width is less than the column width} \else \errmessage{The text width is less the two times the column width} \fi \global\@colwd=\@txtwd \if N\lr\divide\@colwd by 2\fi \else \global\@colwd=#3 \fi \initlr \@colsavwd=#3 \global\@insmx=\@txtht \global\hsize=\@colwd} %% ----------- switching between one and two column output ------ \def\twocolumns{\@fillpage\eject\global\let\lr=L \@makecolht \global\@colwd=\@colsavwd \global\hsize=\@colwd} \def\onecolumn{\@fillpage\eject\global\let\lr=N \@makecolht \global\@colwd=\@txtwd \global\hsize=\@colwd} \def\newpage{\@fillpage\eject} \def\@fillpage{\vfill\supereject\if R\lr \null\vfill\eject\fi} \def\newcolumn{\vfill\supereject} %% ---------------------------------------------------------------- %%% %%% =============== Macros used by the output routine =============== %%% \newbox\@leftcolumn \newbox\@rightcolumn \newbox\@outputbox \newbox\@tempboxa \newbox\@keepboxa \newbox\@keepboxb \newbox\@bothcolumns \newbox\@savetopins \newbox\@savetopright \newcount\verybad \verybad=1010 %% -------- \@makecolumn puts the current column in a box --------- \def\@makecolumn{\ifnum \in@t<1\initlr\fi \ifnum\outputpenalty=\the\verybad1 %%% i.e. 10101 if \verybad=1010 \if L\lr\else\advance\pageno by1\fi \message{Warning: There is a 'widow' line at the top of page \the\pageno\if R\lr (left)\fi. This is unacceptable.} \if L\lr\else\advance\pageno by-1\fi \fi \ifnum\outputpenalty=\the\verybad2 \message{Warning: There is a 'club' line at the bottom of page \the\pageno\if L\lr(left)\fi. This is unacceptable.} \fi \if L\lr \ifvoid\@savetopins\else\@colht=\@txtht\fi \fi \if R\lr \ifvoid\@bothcolumns \ifvoid\@savetopright \else\@colht=\@txtht\fi\fi\fi \global\setbox\@outputbox \vbox to\@colht{\boxmaxdepth\maxdepth % One-column top insertions are held back if there is already a % two-column floating insertion and the one-column top insertion % doesn't fit entirely in the column. \if L\lr \ifvoid\@savetopins\else\unvbox\@savetopins\fi \fi \if R\lr \ifvoid\@bothcolumns \ifvoid\@savetopright\else \unvbox\@savetopright\fi\fi\fi \ifvoid\topins\else\ifnum\count\topins>0 \ifdim\ht\topins>\@colht \message{|Error: Too many or too large single column box(es) on this page.}\fi \unvbox\topins \else \global\setbox\@savetopins=\vbox{\ifvoid\@savetopins\else \unvbox\@savetopins\penalty-500\fi \unvbox\topins} \fi\fi \dimen@=\dp\@cclv \unvbox\@cclv % open up \box255 \ifvoid\bottomins\else\unvbox\bottomins\fi \ifvoid\footins\else % footnote info is present \vskip\skip\footins \footnoterule \unvbox\footins\fi \ifr@ggedbottom \kern-\dimen@ \vfil \fi} } %% --------- \@outputpage puts the columns and the top insertions %% --------- together and puts them out \def\@outputpage{\@dooutput{\lr}} \def\@colbox#1{\hbox to\@colwd{\box#1\hss}} \def\@dooutput#1{\global\topskip=\defaulttopskip \ifdim\ht\@bothcolumns>\@txtht \if #1N \unvbox\@outputbox \else \unvbox\@leftcolumn\unvbox\@outputbox \fi \global\setbox\@tempboxa\vbox{\hsize=\@txtwd\makeheadline \vsplit\@bothcolumns to\@txtht \makefootline\hsize=\@colwd} \message{|Error: Too many double column boxes on this page.} \shipout\box\@tempboxa\advancepageno \unvbox255 \penalty\outputpenalty \else \global\setbox\@tempboxa\vbox{\hsize=\@txtwd\makeheadline \ifvoid\@bothcolumns\else\unvbox\@bothcolumns\fi \hsize=\@colwd \if #1N \hbox to\@txtwd{\@colbox{\@outputbox}\hfil} \else \hbox to\@txtwd{\@colbox{\@leftcolumn}\hfil \@colbox{\@outputbox}} \fi \hsize=\@txtwd\makefootline\hsize=\@colwd} \shipout\box\@tempboxa\advancepageno \fi \ifnum \special@pages>0 \s@count=100 \page@command \xdef\page@command{} \global\special@pages=0 \fi } %% -------- \balance@right@left balances the columns on the last %% -------- page of text. \def\balance@right@left{\dimen@=\ht\@leftcolumn \advance\dimen@ by\ht\@outputbox \advance\dimen@ by\ht\springerMacro \dimen2=\z@ \global\the@end=0 % put both columns together and compensate \vfill at the end \ifdim\dimen@>70pt\setbox\z@=\vbox{\unvbox\@leftcolumn \unvbox\@outputbox} \loop \dimen@=\ht\z@ \advance\dimen@ by0.5\topskip \advance\dimen@ by\baselineskip \advance\dimen@ by\ht\springerMacro \advance\dimen@ by\dimen2 \divide\dimen@ by2 \splittopskip=\topskip % Now split it to two parts of about the same height {\vbadness=10000 \global\setbox3=\copy\z@ \global\setbox1=\vsplit3 to \dimen@} \dimen1=\ht3 \advance\dimen1 by\ht\springerMacro \ifdim\dimen1>\ht1 \advance\dimen2 by\baselineskip\repeat \dimen@=\ht1 % Restore the column boxes and adjust \global\setbox\@leftcolumn \hbox to\@colwd{\vbox to\@colht{\vbox to\dimen@{\unvbox1}\vfil}} \global\setbox\@outputbox \hbox to\@colwd{\vbox to\@colht{\vbox to\dimen@{\unvbox3 \vfill\box\springerMacro}\vfil}} \else \setbox\@leftcolumn=\vbox{unvbox\@leftcolum\bigskip \box\springerMacro} \fi} % %% %% ================== Insertion routines ====================== %% %% This follows loosely the definition of \topins by Knuth but without %% the need to distinguish between 3 different kinds of insertions. %% See the TeXBook p.363. %% Insertions in right columns are first saved in a box (\rightins) %% and inserted to \bothins after this column has been shipped out. % \newinsert\bothins \newbox\rightins \skip\bothins=\z@skip \count\bothins=1000 \dimen\bothins=\@txtht \advance\dimen\bothins by -\bigskipamount \def\bothtopinsert{\par\begingroup\setbox\z@\vbox\bgroup \hsize=\@txtwd\parskip=0pt\par\noindent\bgroup} \def\endbothinsert{\egroup\egroup \if R\lr \right@nsert \else % L\lr or N\lr % If double column insertions don't fit into the current columm % keep them until the next page starts. \dimen@=\ht\z@ \advance\dimen@ by\dp\z@\advance\dimen@ by\pagetotal \advance\dimen@ by \bigskipamount \advance\dimen@ by \topskip \advance\dimen@ by\ht\topins \advance\dimen@ by\dp\topins \advance\dimen@ by\ht\bottomins \advance\dimen@ by\dp\bottomins \advance\dimen@ by\ht\@savetopins \advance\dimen@ by\dp\@savetopins \ifdim\dimen@>\@colht\right@nsert\else\left@nsert\fi \fi \endgroup} \def\right@nsert{\global\setbox\rightins\vbox{\ifvoid\rightins \else\unvbox\rightins\fi\penalty100 \splittopskip=\topskip \splitmaxdepth\maxdimen \floatingpenalty200 \dimen@\ht\z@ \advance\dimen@\dp\z@ \box\z@\nobreak\bigskip}} \def\left@nsert{\insert\bothins{\penalty100 \splittopskip=\topskip \splitmaxdepth\maxdimen \floatingpenalty200 \box\z@\nobreak\bigskip} \@makecolht} \newdimen\@insht \@insht=\z@ \newdimen\@insmx \@insmx=\vsize %% -- \@makecolht computes the available height of the current column. \def\@makecolht{\global\@colht=\@txtht \@compinsht \global\advance\@colht by -\@insht \global\vsize=\@colht \global\dimen\topins=\@colht} \def\@compinsht{\if R\lr \dimen@=\ht\@bothcolumns \advance\dimen@ by\dp\@bothcolumns \ifvoid\@bothcolumns \advance\dimen@ by\ht\@savetopright \advance\dimen@ by\dp\@savetopright \fi \else \dimen@=\ht\bothins \advance\dimen@ by\dp\bothins \advance\dimen@ by\ht\@savetopins \advance\dimen@ by\dp\@savetopins \fi \ifdim\dimen@>\@insmx \global\@insht=\dimen@ \else\global\@insht=\dimen@ \fi} \newinsert\bottomins \skip\bottomins=\z@skip \count\bottomins=1000 %%% %%% Special pages to be inserted %%% \xdef\page@command{} \newcount\s@count \newcount\special@pages \special@pages=0 \def\specialpage#1{\global\advance\special@pages by1 \global\s@count=\special@pages \global\advance\s@count by 100 \global\setbox\s@count \vbox to\@txtht{\hsize=\@txtwd\parskip=0pt \par\noindent\noexpand#1\vfil} \xdef\page@command{\page@command \noexpand\global\advance\s@count by1 \begingroup\setbox\z@\vbox{\noexpand\makeheadline \box\s@count\noexpand\makefootline} \noexpand{\shipout\box\z@}\endgroup\noexpand\advancepageno} } %%% %%% %%% This little macro adjusts the top of figure boxes with the %%% the top of the column. Previously they were adjusted with the %%% the baseline of the first row in a column. \def\@startins{\vskip \topskip\hrule height\z@ \nobreak\vskip -\topskip\vskip3.7pt} %%% %%% ============== The main output routine =============== %%% %%% The output routine was adapted to A&A %%% \let\retry=N \output={\@makecolht \global\topskip=\defaulttopskip \let\retry=N \ifnum\count\topins>0 \ifdim\ht\topins>\@colht \global\count\topins=0 \global\let\retry=Y \unvbox\@cclv \penalty\outputpenalty \fi\fi \if N\retry \if N\lr % this is for single column output \@makecolumn \ifnum\the@end>0 \setbox\z@=\vbox{\unvcopy\@outputbox} \dimen@=\ht\z@ \advance\dimen@ by\ht\springerMacro \ifdim\dimen@<\@colht \setbox\@outputbox=\vbox to\@colht{\box\z@ \unskip\vskip12pt plus0pt minus12pt \box\springerMacro\vfil} \else \box\springerMacro \fi \global\the@end=0 \fi \ifvoid\bothins\else\global\setbox\@bothcolumns\box\bothins\fi \@outputpage \ifvoid\rightins\else % Hold \rightins back if there is already a \@savetopins \ifvoid\@savetopins\insert\bothins{\unvbox\rightins}\fi \fi \else \if L\lr % this is the left of two columns \@makecolumn \global\setbox\@leftcolumn\box\@outputbox \global\let\lr=R \ifnum\pageno=1 \message{|[left\the\pageno]} \else \message{[left\the\pageno]} \fi \ifvoid\bothins\else \global\setbox\@bothcolumns\box\bothins\fi \global\dimen\bothins=\z@ \global\count\bothins=0 \ifnum\pageno=1 \global\topskip=\fullhead\fi \else % the right column \@makecolumn \ifnum\the@end>0\ifnum\pageno>1\balance@right@left\fi\fi \@outputpage \global\let\lr=L \global\dimen\bothins=\maxdimen \global\count\bothins=1000 \ifvoid\rightins\else % Hold \rightins back if there is already a \@savetopins \ifvoid\@savetopins \insert\bothins{\unvbox\rightins} \fi \fi \fi \fi \global\let\last@insert=N \put@default \ifnum\outputpenalty>-\@MM\else\dosupereject\fi \ifvoid\@savetopins\else \ifdim\ht\@savetopins>\@txtht \global\setbox\@tempboxa=\box\@savetopins \global\setbox\@savetopins=\vsplit\@tempboxa to\@txtht \global\setbox\@savetopins=\vbox{\unvbox\@savetopins} \global\setbox\@savetopright=\box\@tempboxa \fi \fi \@makecolht \global\count\topins=1000 \fi } % %%% ---------- Start one- or two-column output --------- % \if N\lr \setuplr{O}{\fullhsize}{\hsize} % O = one column \else \setuplr{T}{\fullhsize}{\hsize} % T = two columns \fi % %%% %%% =================================================================== %%% %%% The rest is specific for Astronomy & Astrophysics. %%% Here are macros which had to be redefined. %%% %%% ================================================================ % % Figures and tables: % % The macros cover the case of single column format as well % as double column format. In single column format all 'double % column' insertions are reduced to single column insertions. % While real double column insertions will always appear at % the top of page, the placement of single column insertions % can be influenced by the definition of \put@default. % Possible positions are at the current position (only if % \insert@here expands to Y, there is no top and no bottom insertion % so far, and there is enough space), at the bottom of the column % (only if \insert@at@the@bottom expands to Y and there is enough % space in this column) and at the top of the column but below % any double column insertion. % %%% ================================================================= % % The default placement of single column figures is usually at the top. % If the figure almost fills the page if inserted at the bottom, % it may go there. % changed by binding 3.12.90 Y statt N \def\put@default{\global\let\insert@here=N \global\let\insert@at@the@bottom=N} %binding changed from Y to N % Allow figures to be inserted a the current position (if possible): \def\puthere{\global\let\insert@here=Y \global\let\insert@at@the@bottom=N} % All figures are inserted at the top: \def\putattop{\global\let\insert@here=N \global\let\insert@at@the@bottom=N} % Figures are inserted at the bottom (if possible): \def\putatbottom{\global\let\insert@here=N \global\let\insert@at@the@bottom=X} %-------------------------------------------------------------------- \put@default \let\last@insert=N % Always reset to 'N' when a % column is finished \def\end@skip{\smallskip} % This space is added except % after bottom insertions \newdimen\min@top \newdimen\min@here \newdimen\min@bot \min@top=10cm \min@here=4cm % do not insert figures after a few lines of text only \min@bot=\topskip % figures may be at the bottom % but there is a \@startins \def\figfuzz{\vskip 0pt plus 6pt minus 3pt} % more flexible spacing %-------------------------------------------------------------------- % \def\check@here@and@bottom#1{\relax %%% Several conditions have to be true if a figure or table can be %%% inserted at the current position or at the bottom of the page. %%% These conditions should preserve the %%% order of single column figures and put floating figures %%% always to the top of a column. However, exceptions are %%% possible with a \puthere\begfig{...}\endfig appearing at %%% the current position and a later \begfig{...}\endfig %%% appearing at the top of the same column. % \ifvoid\topins\else \global\let\insert@here=N\fi \if B\last@insert \global\let\insert@here=N\fi \if T\last@insert \global\let\insert@here=N\fi \ifdim #1<\min@bot \global\let\insert@here=N\fi \ifdim\pagetotal>\@colht \global\let\insert@here=N\fi \ifdim\pagetotal<\min@here\global\let\insert@here=N\fi % \if X\insert@at@the@bottom\global\let\insert@at@the@bottom=Y \else\if T\last@insert \global\let\insert@at@the@bottom=N\fi \if H\last@insert \global\let\insert@at@the@bottom=N\fi \ifvoid\topins\else\global\let\insert@at@the@bottom=N\fi\fi \ifdim #1<\min@bot \global\let\insert@at@the@bottom=N\fi \ifdim\pagetotal>\@colht \global\let\insert@at@the@bottom=N\fi \ifdim\pagetotal<\min@top \global\let\insert@at@the@bottom=N\fi % \ifvoid\bottomins\else \global\let\insert@at@the@bottom=Y\fi \if Y\insert@at@the@bottom\global\let\insert@here=N\fi } % \def\single@column@insert#1{\relax \setbox\@tempboxa=\vbox{#1} \dimen@=\@colht \advance\dimen@ by -\pagetotal \advance\dimen@ by-\ht\@tempboxa \advance\dimen0 by-\dp\@tempboxa \advance\dimen@ by-\ht\topins \advance\dimen0 by-\dp\topins \check@here@and@bottom{\dimen@} \if Y\insert@here \par % The insertion forces a new paragraph in this case. \midinsert\figfuzz\bigskip\box\@tempboxa\end@skip \figfuzz\endinsert \global\let\last@insert=H \else \if Y\insert@at@the@bottom \begingroup\insert\bottomins\bgroup\if B\last@insert\end@skip\fi \floatingpenalty=20000\figfuzz\bigskip \box\@tempboxa\egroup\endgroup \global\let\last@insert=B \else \topinsert\box\@tempboxa\end@skip\figfuzz\endinsert \global\let\last@insert=T \fi\fi\put@default} % % ---------------- The insertion macros for the user ---------------- % \def\begfig#1cm#2\endfig{\single@column@insert{\@startins\frame{#1}#2}} \def\begfigwid#1cm#2\endfig{\relax \if N\lr % Here the only difference to \begfig is the larger \hsize {\hsize=\fullhsize \begfig#1cm#2\endfig} \else \bothtopinsert\line{\vbox{\hsize=\fullhsize \@startins\frame{#1}#2\smallskip}\hss}\figfuzz\endbothinsert \fi} \def\begfigpage#1cm#2\endfig{\specialpage{\@startins \vskip3.7pt\frame{#1}#2}} % \def\begfigside#1cm#2cm#3\endfig{\relax \if N\lr % Here the only difference to \begfig is the larger \hsize {\hsize=\fullhsize \begfig#1cm#3\endfig}% \else \dimen0=#2true cm\relax \ifdim\dimen0<\hsize \message{|Your figure fits in a single column; why don't|you use \string\begfig\space instead of \string\begfigside? }% \fi \dimen0=\fullhsize \advance\dimen0 by-#2true cm \advance\dimen0 by-1true cc\relax \bgroup \ifdim\dimen0<8true cc\relax \message{|No sufficient room for the legend; using \string\begfigwid. }% \begfigwid #1cm#3\endfig \else \ifdim\dimen0<10true cc\relax \message{|Room for legend to narrow; legend will be set raggedright. }% \rightskip=0pt plus 2cm\relax \fi \setbox0=\vbox{\def\figure##1##2{\vbox{\hsize=\dimen0\relax \@startins\noindent\petit{\bf\figg \ts##1\unskip.\ }\ignorespaces##2\par}}% #3\unskip}% \ifdim#1true cm<\ht0\relax \message{|Text of legend higher than figure; using \string\begfig. }% \begfigwid #1cm#3\endfig \else \def\figure##1##2{\vbox{\hsize=\dimen0\relax \@startins\noindent\petit{\bf \figg\ts##1\unskip.\ }\ignorespaces##2\par}}% \bothtopinsert\line{\vbox{\hsize=#2true cm\relax \@startins\rahmen{#1}}\hss#3\unskip}\figfuzz \endbothinsert \fi \fi \egroup \fi\ignorespaces} % \def\begtabempty#1cm#2\endtab{\single@column@insert{\medskip #2\frame{#1}}} % \def\begtabfull#1\endtab{\single@column@insert{\medskip{\petit #1}}} \def\begtabemptywid#1cm#2\endtab{\relax \if N\lr {\hsize=\fullhsize \begtabempty#1cm#2\endtab} \else \bothtopinsert\line{\vbox{\hsize=\fullhsize #2\frame{#1}}\hss}\medskip\endbothinsert \fi} % \def\begtabfullwid#1\endtab{\relax \if N\lr {\hsize=\fullhsize \begtabfull#1\endtab} \else \bothtopinsert\line{\vbox{{\petit\hsize=\fullhsize \noindent#1}\hss}}\medskip\endbothinsert \fi} \def\begtabpage#1\endtab{\specialpage{#1}} %-------------------------------------------------------------------- % Figure captions modified: \smallskip at the end % is environment dependent \def\figure#1#2{\bigskip\noindent{\petit{\bf\figg\ts#1.\ }% \ignorespaces #2\smallskip}} %-------------------------------------------------------------------- %%% %%% This is what the new \refereelayout looks like. %%% \def\refereelayout{\let\REFEREE=M\footline={\copy\refereebox} \message{|A referee's copy will be produced}\par \if N\lr\else\if R\lr \onecolumn \fi \let\lr=N \topskip=\defaulttopskip\fi} % %==================================================================== %%% %%% Here are a few modifications to style parameters. They discourage %%% page (or rather column) breaks before displayed equations (but not %%% as much as it was in PLAIN.TEX). %%% \predisplaypenalty=600 % Make a page break before a display harder \displaywidowpenalty=2000 % and even harder for a widow display. %%% %%% Clubs and widows are discouraged. They should never appear in %%% a the journal. However, TeX cannot distinguish between a bad %%% page break and a disastrous page break. The very large penalties %%% for club and widow lines can be reduced temporarily with %%% \widowsandclubs{nnnn} with nnnn below 1000 (the default is 1010). %%% If a club or widow line appears (which is possible then), %%% the user is notified (see the \@makecolumn macro). %%% \def\widowsandclubs#1{\global\verybad=#1 \global\widowpenalty=\the\verybad1 % default: 10101 \global\clubpenalty=\the\verybad2 } % default: 10102 \widowsandclubs{1010} % %-------------------------------------------------------------------- %%% %%% In addition to printing the modification note the following %%% modification of \typeset is important to get balanced columns %%% on the last page of ordinary text. However, single column figures %%% or tables printed later might be unbalanced. %%% \newcount\the@end \global\the@end=0 %\newbox\springerMacro \setbox\springerMacro=\vbox{} %\def\typeset{\setbox\springerMacro=\vbox{\petit\noindent % This article was processed by the author using % Sprin\-ger-Ver\-lag \TeX\ \SprJLogoname\ macro package 1990.} % \global\the@end=1} \def\typeset{%\springerMacro \global\the@end=1} %-------------------------------------------------------------------- \catcode`@=12 \catcode`\@=\active % This is reset by the \maketitle macro