%FORMAT plaine   % use PLAINE format
%***  this is file PHYSE as of 11.02.86  ***
% \input physorg  % macros for physics papers
%***  this is file PHYSORG as of 14.03.86  ***
%***  PHYSORG  Version 1.00  ***

\message{Preloading the phys format:}

% I make @ signs act like letters, temporarily, to avoid conflict
% with user-defined control sequences in certain cases.

\catcode`\@=11

\chardef\f@ur=4
\chardef\l@tter=11
\chardef\@ther=12
\toksdef\toks@i=1 % global only
\toksdef\toks@ii=2
\newtoks\emptyt@ks % permanently empty token list register

\def\glet{\global\let}
\def\gz@#1{\global#1\z@}
\def\gm@ne#1{\global#1\m@ne}
\def\g@ne#1{\global\advance#1\@ne}

\def\@height{height}       % save token space
\def\@depth{depth}         %   (5 or 6 tokens at the cost
\def\@width{width}         %    of one macro expansion)

\def\@plus{plus}           % save
\def\@minus{minus}         %   token space

\message{macros for text,}

% \input physmain

%***  this is file PHYSMAIN as of 07.03.86  ***
%***  macros for text  ***

% allow the construction `\loop ... \if... ... \else ... \repeat'
\def\loop#1\repeat{\def\iter@te{#1\expandafter\iter@te \fi}\iter@te
  \let\iter@te\undefined}
\let\iterate=\undefined

\def\par{\ifhmode \unpenalty\unskip \fi \endgraf}
\def\lb{\hfil\break}
\def\endpage{\par \vfil \eject}
\def\superendpage{\par \vfil \supereject}

%***  allow change of \catcodes's inside \leftline, ...

\let\plainleftline=\leftline       % rename \leftline from PLAIN
\let\plainrightline=\rightline     % rename \rightline from PLAIN
\let\plaincenterline=\centerline   % rename \centerline from PLAIN

\def\leftline{\@line\hsize\empty\hss}
\def\rightline{\@line\hsize\hss\empty}
\def\centerline{\@line\hsize\hss\hss}

\let\plainrlap=\rlap   % rename \rlap from PLAIN
\let\plainllap=\llap   % rename \llap from PLAIN

\def\rlap{\@line\z@\empty\hss}
\def\llap{\@line\z@\hss\empty}

\def\lftline{\@line\hsize\empty\hfil}
\def\rtline{\@line\hsize\hfil\empty}
\def\ctrline{\@line\hsize\hfil\hfil}

\def\@line#1#2#3{\hbox to#1\bgroup#2\let\n@xt#3%
  \afterassignment\@@line \setbox\z@\hbox}
\def\@@line{\aftergroup\@@@line}
\def\@@@line{\unhbox\z@ \n@xt\egroup}

\def\after@arg#1{\bgroup\aftergroup#1\afterassignment\after@@arg\@eat}
\def\after@@arg{\ifcat\bgroup\noexpand\n@xt\else \n@xt\egroup \fi}
\def\@eat{\let\n@xt= } % eat one token
\def\eat#1{}           % eat one argument
\def\@eat@#1{\@eat}    % eat one argument and one token

%***  phantom and smash  ***

\def\begin@{\ifmmode \expandafter\mathpalette\expandafter\math@ \else
  \expandafter\make@ \fi}
\def\make@#1{\setbox\z@\hbox{#1}\fin@}
\def\math@#1#2{\setbox\z@\hbox{$\m@th#1{#2}$}\fin@}

\def\ph@nt{\let\fin@\finph@nt \begin@}
\let\makeph@nt=\undefined
\let\mathph@nt=\undefined

\newif\ift@ \newif\ifb@
\def\topsmash{\t@true\b@false\sm@sh}
\def\botsmash{\t@false\b@true\sm@sh}
\def\smash{\t@true\b@true\sm@sh}
\def\sm@sh{\let\fin@\finsm@sh \begin@}
\let\makesm@sh=\undefined
\let\mathsm@sh=\undefined
\def\finsm@sh{\ift@\ht\z@\z@\fi \ifb@\dp\z@\z@\fi \box\z@}

%***  boxit  ***

\newdimen\boxitsep   \boxitsep=5pt

\def\boxit{\fboxit{.4}}
\def\fboxit#1#2{\hbox{\vrule \@width#1\p@
    \vtop{\vbox{\hrule \@height#1\p@ \vskip\boxitsep
        \hbox{\hskip\boxitsep #2\hskip\boxitsep}}%
      \vskip\boxitsep \hrule \@height#1\p@}\vrule \@width#1\p@}}

%***  active characters `:,`; and `^^M  ***

\begingroup
  \catcode`\:=\active
  \lccode`\*=`\\ \lowercase{\gdef:{*}}   %   `: -> `\
  \catcode`\;=\active
  \lccode`\* `\% \lowercase{\gdef;{*}}   %   `; -> `%
  \catcode`\^^M=\active \glet^^M=\space  %   `^^M -> \space
\endgroup

%***  comment  ***

\begingroup
  \catcode`\:=\active
  \outer\gdef\comment{\begingroup
    \catcode`\\\@ther \catcode`\%\@ther \catcode`\^^M\@ther
    \catcode`\{\@ther \catcode`\}\@ther \catcode`\#\@ther
    \wlog{* input between `:comment' and `:endcomment' ignored *}
    \c@mment}
\endgroup
{\lccode`\:=`\\ \lccode`\;=`\^^M
  \lowercase{\gdef\c@mment#1;{\c@@mment:endcomment*}}}
\def\c@@mment#1#2*#3{\if #1#3\ifx @#2@ \let\n@xt\endgroup \else
  \def\n@xt{\c@@mment#2*}\fi \else \def\n@xt{\c@mment#3}\fi \n@xt}
\let\endcomment=\relax   % avoid errmessage for unmatched \endcomment

\message{date and time,}

%***  language  ***

\newcount\langu@ge

\outer\def\english{\gm@ne\langu@ge}
\outer\def\german{\gz@\langu@ge}

\def\case@language#1{\ifcase\expandafter\langu@ge #1\fi}
\def\case@abbr#1{{\let\nodot\n@dot\case@language{#1}.~}}
\def\n@dot{\expandafter\eat}
\let\nodot=\empty

%***  date and time  ***

\def\themonth{\xdef\themonth{\noexpand\case@language
  {\ifcase\month \or Jannuar\or Februar\or M\noexpand\"arz\or April\or
  Mai\or Juni\or Juli\or August\or September\or Oktober\or November\or
  Dezember\fi
  \noexpand\else
  \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}}\themonth}

\def\thedate{\case@language{\else\themonth\ }\number\day
  \case@language{.\ \themonth \else ,} \number\year}

\def\date{\number\day.\,\number\month.\,\number\year}

%***  \thetime is defined twice, once if this file is read

\count@\time \divide\count@60 \edef\thetime{\the\count@ :}
\multiply\count@-60\advance\count@\time
\edef\thetime{\thetime \ifnum10>\count@ 0\fi \the\count@}

%     and once if a dump file is loaded  ***

\everyjob={%
  \count@\time \divide\count@60 \edef\thetime{\the\count@ :}%
  \multiply\count@-60\advance\count@\time
  \edef\thetime{\thetime \ifnum10>\count@ 0\fi \the\count@}%
  \everyjob{}}
%***  end of file PHYSMAIN  ***

\message{spacing, fonts and sizes,}

% \input physfont
%***  this is file PHYSFONT as of 14.03.86  ***
%***  spacing parameters  ***

\newskip\refbetweenskip   \newskip\chskiptamount
\newskip\chskiplamount   \newskip\secskipamount
\newskip\footnotebaselineskip   \newskip\interfootnoteskip

\newdimen\chapstretch   \chapstretch=2.5cm
\newcount\chappenalty   \chappenalty=-800
\newdimen\sectstretch   \sectstretch=2cm
\newcount\sectpenalty   \sectpenalty=-400

\def\chskipt{\chapbreak \vskip\chskiptamount}
\def\chskipl{\nobreak \vskip\chskiplamount}
\def\unchskip{\vskip-\chskiplamount}
\def\secskipt{\sectbreak \vskip\secskipamount}
\def\chapbreak{\vskip\z@\@plus\chapstretch \penalty\chappenalty
  \vskip\z@\@plus-\chapstretch}
\def\sectbreak{\vskip\z@\@plus\sectstretch \penalty\sectpenalty
  \vskip\z@\@plus-\sectstretch}

%***  fonts  ***

%***  load am... or cm... fonts according to PLAIN's selection  ***

\begingroup \lccode`\*=`\r
  \lowercase{\def\n@xt#1*#2@{#1}
    \xdef\font@sel{\expandafter\n@xt\fontname\tenrm*@}}\endgroup

\message{loading \font@sel\space fonts,}

\font\twelverm=\font@sel r10 scaled \magstep1 % roman text
%\font\tenrm=\font@sel r10 % already defined in PLAIN
\font\ninerm=\font@sel r9
\font\eightrm=\font@sel r8
%\font\sevenrm=\font@sel r7 % already defined in PLAIN
\font\sixrm=\font@sel r6
%\font\fiverm=\font@sel r5 % already defined in PLAIN

\font\twelvei=\font@sel mi10 scaled\magstep1
  \skewchar\twelvei='177 % math italic
%\font\teni=\font@sel mi10 % already defined in PLAIN
\font\ninei=\font@sel mi9    \skewchar\ninei='177
\font\eighti=\font@sel mi8   \skewchar\eighti='177
%\font\seveni=\font@sel mi7 % already defined in PLAIN
\font\sixi=\font@sel mi6   \skewchar\sixi='177
%\font\fivei=\font@sel mi5 % already defined in PLAIN

\font\twelvesy=\font@sel sy10 scaled \magstep1
  \skewchar\twelvesy='60 % math symbols
%\font\tensy=\font@sel sy10 % already defined in PLAIN
\font\ninesy=\font@sel sy9    \skewchar\ninesy='60
\font\eightsy=\font@sel sy8   \skewchar\eightsy='60
%\font\sevensy=\font@sel sy7 % already defined in PLAIN
\font\sixsy=\font@sel sy6   \skewchar\sixsy='60
%\font\fivesy=\font@sel sy5 % already defined in PLAIN

%\font\tenex=\font@sel ex10 % math extension already defined in PLAIN

%\font\preloaded=\font@sel ss10 % sans serif
%\font\preloaded=\font@sel ssq8

%\font\preloaded=\font@sel ssi10 % sans serif italic
%\font\preloaded=\font@sel ssqi8

\font\twelvebf=\font@sel bx10 scaled \magstep1 % boldface extended
%\font\tenbf=\font@sel bx10 % already defined in PLAIN
\font\ninebf=\font@sel bx9
\font\eightbf=\font@sel bx8
%\font\sevenbf=\font@sel bx7 % already defined in PLAIN
\font\sixbf=\font@sel bx6
%\font\fivebf=\font@sel bx5 % already defined in PLAIN

\font\twelvett=\font@sel tt10 scaled \magstep1 % typewriter
%\font\tentt=\font@sel tt10 % typewriter already defined in PLAIN
%\font\preloaded=\font@sel tt9
\font\eighttt=\font@sel tt8

%\font\preloaded=\font@sel sltt10 % slanted typewriter

\font\twelvesl=\font@sel sl10 scaled \magstep1 % slanted roman
%\font\tensl=\font@sel sl10 % already defined in PLAIN
\font\ninesl=\font@sel sl9
\font\eightsl=\font@sel sl8
\let\sixsl=\eightsl % there is no sl6 font
\let\fivesl=\sixsl % there is no sl5 font

\font\twelveit=\font@sel ti10 scaled \magstep1 % text italic
%\font\tenit=\font@sel ti10 % already defined in PLAIN
\font\nineit=\font@sel ti9
\font\eightit=\font@sel ti8
\font\sevenit=\font@sel ti7
\let\sixit=\sevenit % there is no ti6 font
\let\fiveit=\sixit % there is no ti5 font

%\font\preloaded=\font@sel u10 % unslanted text italic

%\font\preloaded=\font@sel bi10 % bold math italic
%\font\preloaded=\font@sel bsy10 % bold math symbols

\font\twelvecsc=\font@sel csc10 scaled \magstep1 % caps and small caps
\font\tencsc=\font@sel csc10
\let\eightcsc=\tencsc % there is no csc8 font

%\font\preloaded=\font@sel ssbx10 % sans serif bold extended

%\font\preloaded=\font@sel dunh10 % Dunhill style

%\font\preloaded=\font@sel r7 scaled \magstep4 % for titles
%\font\preloaded=\font@sel tt10 scaled \magstep2
%\font\preloaded=\font@sel ssbx10 scaled \magstep2

%\font\preloaded=manfnt % METAFONT logo and dragon curve
                        % and special symbols

%***  sizes  ***

\def\twelvepoint{\twelve@point
  \let\normal@spacing\twelve@spacing \set@spacing}
\def\tenpoint{\ten@point
  \let\normal@spacing\ten@spacing \set@spacing}
\def\eightpoint{\eight@point
  \let\normal@spacing\eight@spacing \set@spacing}

\def\rm{\fam\z@ \@fam}
\def\mit{\fam\@ne}
\def\oldstyle{\mit \@fam}
\def\cal{\fam\tw@}
\def\it{\fam\itfam \@fam}
\def\sl{\fam\slfam \@fam}
\def\bf{\fam\bffam \@fam}
\def\tt{\fam\ttfam \@fam}
\def\caps{\@caps}
\def\@fam{\the\textfont\fam}

%***  fonts for sizes  ***

\def\twelve@point{\set@fonts twelve ten eight }
\def\ten@point{\set@fonts ten eight six }
\def\eight@point{\set@fonts eight six five }

\def\set@fonts#1 #2 #3 {\textfont\ttfam\csname#1tt\endcsname
  \edef\n@xt{\csname#1csc\endcsname}%
    \expandafter\let\expandafter\@caps\n@xt
  \def\n@xt##1##2{\textfont##1\csname#1##2\endcsname
    \scriptfont##1\csname#2##2\endcsname
    \scriptscriptfont##1\csname#3##2\endcsname}%
  \set@@fonts}
\def\set@@fonts{\n@xt0{rm}\n@xt1i\n@xt2{sy}%
  \textfont3\tenex \scriptfont3\tenex \scriptscriptfont3\tenex
  \n@xt\itfam{it}\n@xt\slfam{sl}\n@xt\bffam{bf}\rm}

%***  spacing for sizes  ***

\def\singlespace{\chardef\@spacing\z@ \set@spacing}
\def\doublespace{\chardef\@spacing\@ne \set@spacing}
\def\triplespace{\chardef\@spacing\tw@ \set@spacing}
\chardef\@spacing=1   %  \doublespace

\def\set@spacing{\toks@\expandafter{\spacing@names @}%
  \expandafter\set@@spacing\normal@spacing \normalbaselines}
\def\set@@spacing{\expandafter\set@@@spacing\the\toks@\@@}
\def\set@@@spacing#1#2\@@{\ifx #1@\else\toks@{#2}%
  \expandafter\set@@@@spacing\expandafter#1\fi}
\def\set@@@@spacing#1#2+#3*{#1#3\multiply#1\@spacing
  \advance#1#2\set@@spacing}

\def\normalbaselines{\lineskip\normallineskip
  \setbaselineskip\normalbaselineskip
  \lineskiplimit\normallineskiplimit}

\def\setbaselineskip{\afterassignment\set@strut \baselineskip}
\def\set@strut{\setbox\strutbox\spacer\z@\baselineskip}

\def\spacer{\hbox\bgroup \afterassignment\x@spacer \dimen@}
\def\x@spacer{\ifdim\dimen@=\z@\else \hskip\dimen@ \fi
  \afterassignment\y@spacer \dimen@}
\def\y@spacer{\setbox\z@\hbox{$\vcenter{\vskip\dimen@}$}%
  \vrule \@height\ht\z@ \@depth\dp\z@ \@width\z@ \egroup}

\def\spacing@names{%  list of all variable spacing parameters
  \normalbaselineskip
  \normallineskip
  \normallineskiplimit
  \footnotebaselineskip
  \interfootnoteskip
  \parskip
  \refbetweenskip
  \abovedisplayskip
  \belowdisplayskip
  \abovedisplayshortskip
  \belowdisplayshortskip
  \chskiptamount
  \chskiplamount
  \secskipamount
  }

\def\twelve@spacing{%  parameters and increments for twelvepoint
  14\p@              +5\p@        *%\normalbaselineskip
  \p@                +\z@         *%\normallineskip
  \z@                +\z@         *%\normallineskiplimit
  14\p@              +\p@         *%\footnotebaselineskip
  20\p@              +\z@         *%\interfootnoteskip
  5\p@\@plus\p@      +-2\p@       *%\parskip
  \z@                +6\p@        *%\refbetweenskip
  8\p@\@plus2\p@\@minus3\p@  +%
    4\p@\@plus3\p@\@minus5\p@     *%\abovedisplayskip
  8\p@\@plus2\p@\@minus3\p@  +%
    4\p@\@plus3\p@\@minus5\p@     *%\belowdisplayskip
  \p@\@plus2\p@\@minus\p@    +%
    4\p@\@plus3\p@\@minus2\p@     *%\abovedisplayshortskip
  8\p@\@plus2\p@\@minus3\p@  +%
    \p@\@plus2\p@\@minus2\p@      *%\belowdisplayshortskip
  20\p@\@plus5\p@    +\z@         *%\chskiptamount
  5.5\p@             +\z@         *%\chskiplamount
  6\p@\@plus2\p@     +\z@         *%\secskipamount
  }

\def\ten@spacing{%  parameters and increments for tenpoint
  11\p@              +4.5\p@      *%\normalbaselineskip
  \p@                +\z@         *%\normallineskip
  \z@                +\z@         *%\normallineskiplimit
  12\p@              +\p@         *%\footnotebaselineskip
  16\p@              +\z@         *%\interfootnoteskip
  5\p@\@plus\p@      +-2\p@       *%\parskip
  \z@                +5\p@        *%\refbetweenskip
  8\p@\@plus2\p@\@minus3\p@  +%
    4\p@\@plus3\p@\@minus5\p@     *%\abovedisplayskip
  8\p@\@plus2\p@\@minus3\p@  +%
    4\p@\@plus3\p@\@minus5\p@     *%\belowdisplayskip
  \p@\@plus2\p@\@minus\p@    +%
    4\p@\@plus3\p@\@minus2\p@     *%\abovedisplayshortskip
  8\p@\@plus2\p@\@minus3\p@  +%
    \p@\@plus2\p@\@minus2\p@      *%\belowdisplayshortskip
  20\p@\@plus5\p@    +\z@         *%\chskiptamount
  5.5\p@             +\z@         *%\chskiplamount
  6\p@\@plus2\p@     +\z@         *%\secskipamount
  }

\def\eight@spacing{%  parameters and increments for eightpoint
  9\p@               +3.5\p@      *%\normalbaselineskip
  \p@                +\z@         *%\normallineskip
  \z@                +\z@         *%\normallineskiplimit
  10\p@              +\p@         *%\footnotebaselineskip
  14\p@              +\z@         *%\interfootnoteskip
  5\p@\@plus\p@      +-2\p@       *%\parskip
  \z@                +5\p@        *%\refbetweenskip
  8\p@\@plus2\p@\@minus3\p@  +%
    4\p@\@plus3\p@\@minus5\p@     *%\abovedisplayskip
  8\p@\@plus2\p@\@minus3\p@  +%
    4\p@\@plus3\p@\@minus5\p@     *%\belowdisplayskip
  \p@\@plus2\p@\@minus\p@    +%
    4\p@\@plus3\p@\@minus2\p@     *%\abovedisplayshortskip
  8\p@\@plus2\p@\@minus3\p@  +%
    \p@\@plus2\p@\@minus2\p@      *%\belowdisplayshortskip
  20\p@\@plus5\p@    +\z@         *%\chskiptamount
  5.5\p@             +\z@         *%\chskiplamount
  6\p@\@plus2\p@     +\z@         *%\secskipamount
  }

\twelvepoint

%***  macros for sizes  ***

\def\large{\par \bgroup \twelvepoint \after@arg\@size}
\def\medium{\par \bgroup \tenpoint \after@arg\@size}
\def\small{\par \bgroup \eightpoint \after@arg\@size}
\def\@size{\par \egroup}

\def\LARGE#1{{\twelve@point #1}}
\def\MEDIUM#1{{\ten@point #1}}
\def\SMALL#1{{\eight@point #1}}
%***  end of file PHYSFONT  ***

\message{texts, headings and styles,}

% \input phystext
%***  this is file PHYSTEXT as of 06.03.86  ***
%***  texts and headings  ***

\def\submittextone{Zur Ver\"offentlichung in\else Submitted to}
\def\submittexttwo{ eingereicht\else}
\def\abstracthead{Zusammenfassung\else Abstract}
\def\ackhead{Danksagung\else Acknowledgements}
\def\appendixhead{Anhang\else Appendix}
\def\eqabbr{Gl\else eq}
\def\eqsabbr{Gln\else eqs}
\def\figpref{Abb\else Fig}
\def\fighead{Abbildungen\else Figure captions}
\def\figabbr{Bild\nodot\else Fig}
\def\tabpref{Tab\else Tab}
\def\tabhead{Tabellen\else Table captions}
\let\tababbr=\tabpref
\def\refpref{Lit\else Ref}
\def\refhead{Literaturverzeichnis\else References}
\def\refabbr{???\else Ref}
\def\refsabbr{????\else Refs}
\def\tocpref{Inh\else Toc}
\def\tochead{Inhaltsverzeichnis\else Table of contents}
\def\footpref{Anm\else Foot}
\def\foothead{Anmerkungen\else Footnotes}
\def\prfhead{Beweis\else Proof}

%***  styles  ***

\def\UPPERCASE#1{\edef\n@xt{#1}\uppercase\expandafter{\n@xt}}

\let\headlinestyle=\twelverm
\let\footlinestyle=\twelverm
\let\pagestyle=\twelverm       % page numbers
\let\titlestyle=\bf            % title of paper, chapters, appendices
\let\authorstyle=\caps
\let\addressstyle=\sl
\let\sectstyle=\caps           % section titles
\def\secsstyle{\sectstyle}
\def\secssstyle{\secsstyle}
\def\secsssstyle{\secssstyle}
\def\subsecstyle#1{\hbox{$\underline{\hbox{#1}}$\enskip}\ignorespaces}
\let\headstyle=\UPPERCASE      % headlines for list of figure capts. etc
\let\captionstyle=\it          % figure and table captions
\let\journalstyle=\sl
\let\volumestyle=\bf
\let\figstyle=\empty           % list of figure captions
\def\figindent{to4em}
\def\figbreak{\goodbreak \vskip\refbetweenskip}
\let\tabstyle=\empty           % list of table captions
\let\tabindent=\figindent
\let\tabbreak=\figbreak
\let\refstyle=\empty           % list of references
\let\refindent=\figindent
\def\namrefindent{2em}
\def\refbreak{\filbreak \vskip\refbetweenskip}
\let\tocstyle=\empty           % table of contents
\let\tocindent=\empty
\let\tocbreak=\refbreak
\let\footstyle=\empty          % (list of) footnotes
\let\footindent=\figindent
\let\footbreak=\figbreak
\let\stmttitlestyle=\bf        % mathematical statements
\let\stmtstyle=\sl
\let\prftitlestyle=\caps
\let\prfstyle=\sl

%***  user exits  ***                    % called before

\def\skipuserexit{\setbox\z@\box\@cclv}  % page is not printed
\def\shipuserexit{\unvbox\@cclv}         % page is printed

\def\chapuserexit{\sectuserexit}         % chapter title
\def\appuserexit{\chapuserexit}          % appendix title
\def\sectuserexit{\secsuserexit}         % section title
\def\secsuserexit{\secssuserexit}        % subsection title
\def\secssuserexit{\secsssuserexit}      % subsubsection title
\let\secsssuserexit=\relax               % subsubsubsection title
%***  end of file PHYSTEXT  ***

\message{page numbers and output,}

% \input physpage
%***  this is file PHYSPAGE as of 13.03.86  ***
%***  page numbers and pagesel  ***

\newcount\firstp@ge   \firstp@ge=-10000
\newcount\lastp@ge   \lastp@ge=10000
\outer\def\pagesel#1#2{\global\firstp@ge#1 \global\lastp@ge#2
  \wlog{(* pages #1-#2 selected for printing,
  others will be skipped *)}}

\newbox\pageb@x

\outer\def\toppagenum{\glet\page@tbn T%
  \glet\headb@x\pageb@x \glet\footb@x\voidb@x}
\outer\def\botpagenum{\glet\page@tbn B%
  \glet\headb@x\voidb@x \glet\footb@x\pageb@x}
\outer\def\nopagenum{\glet\page@tbn N%
  \glet\headb@x\voidb@x \glet\footb@x\voidb@x}

\outer\def\lefthead{\glet\head@lrac L}
\outer\def\righthead{\glet\head@lrac R}
\outer\def\althead{\glet\head@lrac A}
\outer\def\centhead{\glet\head@lrac C}
\outer\def\leftfoot{\glet\foot@lrac L}
\outer\def\rightfoot{\glet\foot@lrac R}
\outer\def\altfoot{\glet\foot@lrac A}
\outer\def\centfoot{\glet\foot@lrac C}

\newtoks\lheadtext   \newtoks\cheadtext   \newtoks\rheadtext
\newtoks\lfoottext   \newtoks\cfoottext   \newtoks\rfoottext

\headline={\headlinestyle \head@foot\skip@head\head@lrac
  \lheadtext\cheadtext\rheadtext\headb@x}
\footline={\footlinestyle \head@foot\skip@foot\foot@lrac
  \lfoottext\cfoottext\rfoottext\footb@x}
\lheadtext={}   \cheadtext={}   \rheadtext={}
\lfoottext={}   \cfoottext={}   \rfoottext={}

\newbox\page@strut
\setbox\page@strut\hbox{\vrule \@height 15mm\@depth 10mm\@width \z@}

\def\head@foot#1#2#3#4#5#6{\unhcopy\page@strut
  \if#1T\hfil \else
    \if#2C\head@@foot{\the#3}{\copy#6}{\the#5}\else
      \if#2A\ifodd\pageno \let#2R\else \let#2L\fi \fi
      \if#2R\head@@foot{\the#4}{\the#5}{\copy#6}\else
        \head@@foot{\copy#6}{\the#3}{\the#4}\fi \fi \fi}
\def\head@@foot#1#2#3{\plainrlap{#1}\hfil#2\hfil\plainllap{#3}}

\let\startpage=\relax  % allow input to be read twice

\outer\def\pageall{\glet\page@ac A%
  \global\countdef\pageno\z@ \global\pageno\@ne
  \global\countdef\pageno@pref\@ne \gz@\pageno@pref
  \glet\page@pref\empty \glet\page@reset\count@
  \glet\chap@break\chskipt \outer\gdef\startpage{\global\pageno}}
\outer\def\pagechap{\glet\page@ac C%
  \global\countdef\pageno\@ne \gz@\pageno
  \global\countdef\pageno@pref\z@ \gz@\pageno@pref
  \gdef\page@pref{\dash@pref}%
  \gdef\page@reset{\global\pageno\@ne \global\pageno@pref}%
  \glet\chap@break\superendpage
  \outer\gdef\startpage##1.{\global\pageno@pref##1\global\pageno}}

%***  output  ***

\hsize=15 cm   \hoffset=0 mm
\vsize=22 cm   \voffset=0 mm

\newdimen\hoffset@corr@p   \newdimen\voffset@corr@p
\newdimen\hoffset@corrm@p   \newdimen\voffset@corrm@p
\newdimen\hoffset@corr@l   \newdimen\voffset@corr@l
\newdimen\hoffset@corrm@l   \newdimen\voffset@corrm@l

\outer\def\portrait{\switch@pl P%
  \glet\hoffset@corr\hoffset@corr@p
  \glet\voffset@corr\voffset@corr@p
  \glet\hoffset@corrm\hoffset@corrm@p
  \glet\voffset@corrm\voffset@corrm@p}
\outer\def\landscape{\switch@pl L%
  \glet\hoffset@corr\hoffset@corr@l
  \glet\voffset@corr\voffset@corr@l
  \glet\hoffset@corrm\hoffset@corrm@l
  \glet\voffset@corrm\voffset@corrm@l}
\def\switch@pl#1{\if #1\ori@pl \else \superendpage \glet\ori@pl#1%
  \dimen@\ht\page@strut \advance\dimen@\dp\page@strut
  \advance\vsize\dimen@ \dimen@ii\hsize \global\hsize\vsize
  \advance\dimen@ii-\dimen@ \global\vsize\dimen@ii \fi}
\let\ori@pl=P

\def\m@g{\dimen@\ht\page@strut \advance\dimen@\dp\page@strut
  \advance\vsize\dimen@ \divide\vsize\count@
  \multiply\vsize\mag \advance\vsize-\dimen@
  \divide\hsize\count@ \multiply\hsize\mag
  \divide\dimen\footins\count@ \multiply\dimen\footins\mag
  \mag\count@}

\output={\physoutput}

\def\physoutput{\ifvbox\toc@ins \make@toc \fi
  \ifnum \pageno<\firstp@ge \skipp@ge \else
  \ifnum \pageno>\lastp@ge \skipp@ge \else \shipp@ge \fi \fi
  \advancepageno \skippagenum F\skipheadline F\skipfootline F%
  \ifnum\outputpenalty>-\@MM \else \dosupereject \fi}

\def\skippagenum{\glet\skip@page}
\def\skipheadline{\glet\skip@head}
\def\skipfootline{\glet\skip@foot}

\def\skipp@ge{{\skipuserexit \setbox\z@\box\topins
  \setbox\z@\box\footins}\deadcycles\z@}
\def\shipp@ge{\setbox\pageb@x\hbox{%
    \if F\skip@page \pagestyle{\page@pref \folio}\fi}%
  \dimen@-.5\hsize \advance\dimen@\hoffset@corrm
  \divide\dimen@\@m \multiply\dimen@\mag
  \advance\hoffset\dimen@ \advance\hoffset\hoffset@corr
  \dimen@\ht\page@strut \advance\dimen@\dp\page@strut
  \advance\dimen@\vsize \dimen@-.5\dimen@
  \advance\dimen@\voffset@corrm
  \divide\dimen@\@m \multiply\dimen@\mag
  \advance\voffset\dimen@ \advance\voffset\voffset@corr
  \shipout\vbox{\makeheadline \vbadness\@M \setbox\z@\pagebody
    \dimen@\dp\z@ \box\z@ \kern-\dimen@ \makefootline}}

\def\pagecontents{\ifvbox\topins\unvbox\topins\fi
  \dimen@=\dp\@cclv \shipuserexit % open up \box255
  \ifvbox\footins % footnote info is present
    \vskip\skip\footins \footnoterule \unvbox\footins\fi
  \ifr@ggedbottom \kern-\dimen@ \vfil \fi}

\def\folio{\ifnum\pageno<\z@ \ifcase\langu@ge \MEDIUM{\uppercase
  \expandafter{\romannumeral-\pageno}}\else \romannumeral-\pageno \fi
  \else \number\pageno \fi}

\def\makeheadline{\line{\the\headline}\nointerlineskip}
\def\makefootline{\nointerlineskip \line{\the\footline}}

\skippagenum=F   \skipheadline=F   \skipfootline=F
%***  end of file PHYSPAGE  ***

\message{title page macros,}

% \input physchap
%***  this is file PHYSCHAP as of 07.03.86  ***
%***  title page macros  ***

\outer\def\titlepage{\glet\titl@fill\vfil}
\outer\def\notitlepage{\gdef\titl@fill{\vskip20\p@}}

\newbox\t@pleft   \newbox\t@pright
\def\t@pinit{%
  \global\setbox\t@pleft\vbox{\hrule \@height\z@ \@width.26\hsize}%
  \global\setbox\t@pright\copy\t@pleft}
\t@pinit

\def\topleft{\t@p\t@pleft}
\def\topright{\t@p\t@pright}
\def\t@p#1#2{\global\setbox#1\vtop{\unvbox#1\hbox{\strut #2}}}

\outer\def\submit#1{\topleft{\case@language\submittextone}%
  \topleft{{#1}\case@language\submittexttwo}}

\let\pubdate=\topright

\outer\def\title{\vbox{\line{\box\t@pleft \hss \box\t@pright}}%
  \skippagenum T\skipheadline T\skipfootline T%
  \t@pinit \titl@fill \vskip\chskiptamount \titl@}
\outer\def\titcon{\unchskip \titl@}
\def\titl@#1{\ctrline{\titlestyle{#1}}\chskipl}

\def\author#1{\titl@fill{\let\\\cr \tabskip\centering
  \halign to\hsize{&\hfil\authorstyle{##}\hfil\crcr#1\crcr}}}
\def\autcon{\and@con \author}

\def\address#1{\titl@fill{\let\\\cr \tabskip\centering
  \halign to\hsize{&\hfil\addressstyle{##}\hfil\crcr#1\crcr}}}
\def\addcon{\and@con \address}

\def\and@con{\titl@fill \ctrline{\case@language{und\else and}}}

\def\abstract{\titl@fill \he@d{\case@language\abstracthead}%
  \after@arg\titl@fill}

\def\ack{\chskipt \he@d{\case@language\ackhead}}

\def\he@d#1{\ctrline{\headstyle{#1}}\chskipl}

\message{chapters, sections and appendices,}

%***  label  ***

\newtoks\l@names   \l@names={\\\the@label}
\let\the@label=\empty

\def\label{\num@lett\@label}
\def\@label#1{\def@name\l@names#1{\the@label}}
\def\pagelabel{\num@lett\@pagelabel}
\def\@pagelabel#1{\def@name\l@names#1{??}\wlog{* \noexpand\pagelabel
    is not yet implemented, \noexpand#1will be defined as #1 *}}
\def\quote{\num@lett\empty}

\outer\def\lblrestore{\all@restore\l@names}

%***  initialization  ***

\let\sect=\relax  \let\s@ct=\relax  % allow input to be read twice

\def\chapinit{\chap@init{\chap@pref}\glet\sect@@eq\@chap@sect@eq
  \sectinit}
\def\appinit{\chap@init{\char\the\appn@m}\glet\sect@@eq\@chap@eq
  \glet\sect@dot@pref\empty \glet\ddot@pref\dot@pref
  \glet\sect\undefined}
\def\sectinit{\xdef\sect@dot@pref{\the\sectn@m.}%
  \xdef\ddot@pref{\dot@pref\sect@dot@pref}\glet\sect\s@ct}
\def\chap@init#1{\xdef\the@label{#1}\xdef\dot@pref{\the@label.}%
  \xdef\dash@pref{\the@label--}\glet\chap@@eq\@chap@eq}

%***  chap  ***

\newcount\chapn@m   \chapn@m=0

\outer\def\chappage{\glet\chap@page T}
\outer\def\nochappage{\glet\chap@page F}

\outer\def\arabicchapnum{\glet\chap@ar A\gdef\chap@pref{\the\chapn@m}}
\outer\def\romanchapnum{\glet\chap@ar R%
  \gdef\chap@pref{\uppercase{\romannumeral\chapn@m}}}

\let\chap=\relax  \let\ch@p=\relax  % allow input to be read twice

\outer\def\chapters{\glet\chap@yn Y\glet\chap\ch@p
  \chap@init{0}\glet\sect@@eq\@chap@sect@eq \sectinit}
\outer\def\nochapters{\glet\chap@yn N\glet\chap\undefined
  \glet\dot@pref\empty \glet\dash@pref\empty
  \glet\chap@@eq\@eq \glet\sect@@eq\@sect@eq \sectinit}

\outer\def\ch@p#1{\if T\chap@page \superendpage \else \chap@break \fi
  \g@ne\chapn@m \sect@reset \chapinit \page@reset\chapn@m
  \eq@reset \fig@reset \tab@reset
  \toks@{\dot@pref}\toks@ii{#1}\chapuserexit
  \titl@{\the\toks@\ \the\toks@ii}%
  \ifnum\auto@toc>\m@ne \toks@store{#1}\@toc\dot@pref \fi}

%***  sect  ***

%  use \read@store to read (sub-)section titles in case they are used
%  in table of contents

\def\sec@title#1#2#3#4#5#6#7#{\ifx @#7@\g@ne#1\else\global#1#7\fi
  #2\secskipt \xdef\the@label{#4\the#1}\xdef#5{\the@label.}%
  \bpargroup #3\read@store{\sec@@title#5#6}}
\def\sec@@title#1#2#3{\toks@{\the@label.}\toks@ii\toks@store
  #3\varitem{\the\toks@}\the\toks@store
  \ifnum\auto@toc>#2\@toc{#1}\fi \par \nobreak}

\newcount\sectn@m   \sectn@m=0
\def\sect@reset{\gz@\sectn@m}
\outer\def\s@ct{\sec@title\sectn@m
  {\secs@reset \sectinit \eq@@reset \fig@@reset \tab@@reset}%
  \sectstyle\dot@pref\ddot@pref{\z@\sectuserexit}}

\newcount\secsn@m   \secsn@m=0
\def\secs@reset{\gz@\secsn@m}
\outer\def\secs{\sec@title\secsn@m\secss@reset
  \secsstyle\ddot@pref\secs@pref{\@ne\secsuserexit}}

\newcount\secssn@m   \secssn@m=0
\def\secss@reset{\gz@\secssn@m}
\outer\def\secss{\sec@title\secssn@m\secsss@reset
  \secssstyle\secs@pref\secss@pref{\tw@\secssuserexit}}

\newcount\secsssn@m   \secsssn@m=0
\def\secsss@reset{\gz@\secsssn@m}
\outer\def\secsss{\sec@title\secsssn@m\secssss@reset
  \secsssstyle\secss@pref\secsss@pref{\thr@@\secsssuserexit}}

\let\secssss@reset=\empty

\outer\def\subsec#1{\par \noindent \subsecstyle{#1}}

%***  appendix  ***

\newcount\appn@m   \appn@m=64

\outer\def\appendix{\if T\chap@page \superendpage \else\chap@break \fi
  \g@ne\appn@m \secs@reset \appinit \page@reset\appn@m
  \eq@reset \fig@reset \tab@reset \futurelet\n@xt \app@ndix}

\def\app@ndix{\ifcat\bgroup\noexpand\n@xt \expandafter\@ppendix \else
  \expandafter\@ppendix\expandafter\unskip \fi}

\def\@ppendix#1{\toks@{\case@language\appendixhead~\dot@pref}
  \toks@ii{#1}\appuserexit
  \titl@{\the\toks@\ \the\toks@ii}%
  \ifnum\auto@toc>\m@ne \toks@store{#1}%
  \@toc{\case@language\appendixhead\ \dot@pref}\fi}

\def\app#1{\chskipt \he@d{\case@language\appendixhead\ #1}}
%***  end of file PHYSCHAP  ***

\message{equations,}

% \input physequ
%***  this is file PHYSEQU as of 20.02.86  ***
%***  quotation of equations, figures, tables and references ***

\def\num@lett{\cat@lett \num@@lett}
\def\num@@lett#1#2{\egroup #1{#2}}

\def\num@l@tt{\cat@lett \num@@l@tt}
\def\num@@l@tt#1#{\egroup #1}

\def\cat@lett{\bgroup
  \catcode`\0\l@tter \catcode`\1\l@tter \catcode`\2\l@tter
  \catcode`\3\l@tter \catcode`\4\l@tter \catcode`\5\l@tter
  \catcode`\6\l@tter \catcode`\7\l@tter \catcode`\8\l@tter
  \catcode`\9\l@tter \catcode`\'\l@tter}

\def\quote@all#1{\hbox{\mathcode`\-"707B$#1$}}
\def\use{\num@lett\@use}
\def\@use{\setbox\z@\hbox}

%***  equations  ***

\newtoks\e@names   \e@names={}
\newcount\eqn@m   \eqn@m=0

\outer\def\equall{\glet\eq@acs A\glet\eq@pref\empty
  \glet\def@eq\@eq \glet\eq@reset\relax \glet\eq@@reset\relax}
\outer\def\equchap{\glet\eq@acs C\gdef\eq@pref{\dot@pref}%
  \gdef\def@eq{\chap@@eq}\glet\eq@reset\eqz@ \glet\eq@@reset\relax}
\outer\def\equsect{\glet\eq@acs S\gdef\eq@pref{\ddot@pref}%
  \gdef\def@eq{\sect@@eq}\glet\eq@reset\eqz@ \glet\eq@@reset\eqz@}
\def\eqz@{\gz@\eqn@m}

\outer\def\equfull{\glet\eq@fs F\gdef\eq@@fs{\let\test@eq\full@eq}}
\outer\def\equshort{\glet\eq@fs S\glet\eq@@fs\relax}

\def\@eq(#1){#1}
\def\@chap@eq{\noexpand\chap@eq\@eq}
\def\@sect@eq{\noexpand\sect@eq\@eq}
\def\@chap@sect@eq{\noexpand\chap@sect@eq\@eq}

\def\chap@eq{\test@eq\empty\dot@pref}
\def\sect@eq{\test@eq\empty\sect@dot@pref}
\def\chap@sect@eq{\test@eq\sect@eq\dot@pref}
\def\test@eq#1#2#3.{\def\n@xt{#3.}\ifx#2\n@xt \let\n@xt#1\fi \n@xt}
\def\full@eq#1#2{}
\def\short@eq#1#2#3.{#1}

\outer\def\equleft{\glet\eq@lrn L\glet\eqtag\leqno
  \glet\eq@tag\leq@no}
\outer\def\equright{\glet\eq@lrn R\glet\eqtag\eqno
  \glet\eq@tag\eq@no}
\outer\def\equnone{\glet\eq@lrn N\glet\eqtag\n@eqno
  \glet\eq@tag\neq@no}

\begingroup
  \catcode`\$=\active \catcode`\*=3 \lccode`\*=`\$
  \lowercase{\gdef\n@eqno{\catcode`\$\active
                \def$${\egroup **}\setbox\z@\hbox\bgroup}}
\endgroup
\def\eq@no{\llap{$##$}\tabskip\z@skip}
\def\leq@no{\kern-\displaywidth \rlap{$##$}\tabskip\displaywidth}
\def\neq@no{\@use{$##$}\tabskip\z@skip}

\def\eqalignno{\let\eq@@tag\eq@no \eqalign@tag}
\def\leqalignno{\let\eq@@tag\leq@no \eqalign@tag}
\def\eqaligntag{\let\eq@@tag\eq@tag \eqalign@tag}
\def\eqalign@tag{\afterassignment\eqalign@@tag \@eat}
\def\eqalign@@tag{\displ@y
  \tabskip\centering \halign to\displaywidth\n@xt
    \hfil$\displaystyle{##}$\tabskip\z@skip
    &$\displaystyle{{}##}$\hfil\tabskip\centering
    &\span\eq@@tag\crcr}

\def\fulltag#1{{\let\test@eq\full@eq#1}}
\def\shorttag#1{{\let\test@eq\short@eq#1}}

\def\eq{\g@ne\eqn@m \make@eq\empty}
\def\make@eq#1{(\eq@pref\the\eqn@m #1)}
\def\EQ{\eq \num@lett\eq@save}
\def\eq@save#1{\def@name\e@names#1{\expandafter\def@eq\make@eq\empty}}

\def\eqn{\eqtag\eq}
\def\EQN{\eqtag\EQ}

\def\eqadv{\g@ne\eqn@m}
\def\EQADV{\eqadv \num@lett\eq@save}

\newcount\seqn@m   \seqn@m=96

\def\subeqbegin{\global\seqn@m96 \subeq}
\def\SUBEQBEGIN{\global\seqn@m96 \SUBEQ}
\def\subeq{\g@ne\seqn@m \make@eq{\char\seqn@m}}
\def\SUBEQ{\num@lett\@SUBEQ}
\def\@SUBEQ#1{\subeq \def@name\e@names#1{\char\the\seqn@m}}

\def\subeqnbegin{\eqtag\subeqbegin}
\def\SUBEQNBEGIN{\eqtag\SUBEQBEGIN}
\def\subeqn{\eqtag\subeq}
\def\SUBEQN{\eqtag\SUBEQ}

\def\eqapp{\num@lett\@eqapp}
\def\@eqapp#1#2{(\fulltag#1#2)}
\def\eqnapp{\eqtag\eqapp}

\def\queq{\num@lett\@queq}
\def\@queq#1{\quote@all{\eq@@fs(#1)}}
\def\qeq{\case@abbr\eqabbr\queq}
\def\qeqs{\case@abbr\eqsabbr\queq}

\outer\def\eqrestore{\all@restore\e@names}
%***  end of file PHYSEQU  ***

\message{storage management,}

% \input physstor
%***  this is file PHYSSTOR as of 28.02.86  ***
%***  storage management for figures, tables, references,  ***
%***  table of contents and (possibly) footnotes  ***

% Note: The text for figure captions, table captions, references,
%       table of contents and (if applicable) footnotes must be read
%       from the input file, i.e. tokenized, via \read@store

\newtoks\toks@store
\newtoks\file@list \file@list={1234567}

\begingroup
  \let\storebox=\relax \let\refnam=\relax  % allow input to be
  \let\RFfile=\relax \let\RFext=\relax     %   read twice
  \newhelp\opt@help{The options \string\refnam, \string\RFfile\space
    and \string\RFext\space are incompatible with \string\storebox.
    Your request will be ignored.}
  \global\opt@help=\opt@help % make this definition global
  \gdef\opt@err{{\errhelp\opt@help \errmessage{Incompatible options}}}
\endgroup

% Freeze option \storebox, \storelist or \storefile and eliminate
%   code not needed for that option
\begingroup
  \let\storebox=\relax \let\storelist=\relax  % allow input to be
  \let\storefile=\relax \let\RFfile=\relax    %   read twice
  \gdef\case@store{%
    \glet\storebox\undefined
    \if B\store@blf \glet\storebox\empty \glet\case@store\case@box
      \else \glet\box@store\undefined
      \glet\box@out\undefined \glet\box@print\undefined
      \glet\box@save\undefined \glet\box@kill\undefined \fi
    \glet\storelist\undefined
    \if L\store@blf \glet\storelist\empty \glet\case@store\case@list
      \else \glet\list@store\undefined
      \glet\list@out\undefined \glet\list@print\undefined
      \glet\list@save\undefined \glet\list@kill\undefined \fi
    \glet\storefile\undefined
    \if F\store@blf \glet\storefile\empty \glet\case@store\case@file
      \else \store@setup
      \glet\file@out\undefined \glet\file@print\undefined
      \glet\file@save\undefined \glet\file@kill\undefined \fi
    \glet\case@box\undefined \glet\case@list\undefined
    \glet\case@file\undefined \glet\store@setup\undefined
    \case@store}
  \gdef\store@setup{\ifx \RFfile\undefined \glet\file@store\undefined
    \glet\file@open\undefined \glet\file@close\undefined
    \glet\file@wlog\undefined \glet\file@free\undefined
    \glet\file@copy\undefined \glet\file@read\undefined \fi}
\endgroup

\outer\def\storebox{\if L\RF@lfe \if N\ref@sbn \opt@err
    \else \glet\store@blf B\fi \else \opt@err \fi}
\outer\def\storelist{\glet\store@blf L}
\outer\def\storefile{\glet\store@blf F}

\def\read@store{\bgroup \@read@store}
\def\read@@store{\bgroup \catcode`\@\l@tter \@read@store}
\def\@read@store#1{\def\n@xt{\egroup \toks@store\toks@i
    #1\ignorespaces}%
  \catcode`\^^M\active \afterassignment\n@xt \global\toks@i}
\begingroup
  \catcode`\:=\active
  \gdef\write@save#1{\s@ve{:restore\@type{#1}{\the\toks@store}}}
\endgroup
\def\f@rm@t#1#2{\bgroup \leftskip\z@skip \rightskip\z@skip \f@rmat
  \ifx @#1@\noindent \strut \indent
  \else \varitem\@indent{#1}\strut \fi #2\form@t \egroup}
\let\f@rmat=\nointerlineskip
\def\form@t{\unskip \strut \par \@break}

\def\@store{\case@store\box@store\list@store\file@store}
\def\@sstore#1#2#3{\par \noindent \bgroup \captionstyle
  \case@abbr#2#3:\enskip \the\toks@store \egroup \par \@store#1{#3.}}
\def\@add#1{\read@store{\@store#1\empty}}
\def\@out#1#2#3#4#5{\case@store\box@out\list@out\file@out#1\begingroup
  \if T#2\let\chap@break\superendpage \fi \chap@break
  \chap@init{\case@language#3}%
  \if C\page@ac \skippagenum T\fi
  \page@reset6#1%
  \@style \he@d{\strut\case@language#4}\@break \@print#1%
  \ifx\chap@break\superendpage \superendpage \fi
  \def\\##1{\glet##1\undefined}\the#5\global#5\emptyt@ks
  \endgroup \fi}
\def\@print{\case@store\box@print\list@print\file@print}
\def\@save{\case@store\box@save\list@save\file@save}
\def\@kill{\case@store\box@kill\list@kill\file@kill}

\def\case@box#1#2#3{\case@@store#1%
  \fig@box\tab@box\ref@box\toc@box\foot@box}
\def\case@list#1#2#3{\case@@store#2%
  \fig@list\tab@list\ref@list\toc@list\foot@list}
\def\case@file#1#2#3{\case@@store{\expandafter#3}%
  \fig@file\tab@file\ref@file\toc@file\foot@file}

\def\case@@store#1#2#3#4#5#6#7{\ifcase#7%
  \toks@{\fig@type#1#2}\or
  \toks@{\tab@type#1#3}\or
  \toks@{\ref@type#1#4}\or
  \toks@{\toc@type#1#5}\or
  \toks@{\foot@type#1#6}\fi
  \expandafter\let\expandafter\@type\the\toks@}
\def\@style{\csname\@type style\endcsname}
\def\@indent{\csname\@type indent\endcsname}
\def\@break{\csname\@type break\endcsname}

\def\box@store#1#2{\global\setbox#1\vbox
  {\ifvbox#1\unvbox#1\fi \@style \f@rm@t{#2}{\the\toks@store}}}
\def\box@out{\ifvbox}
\def\box@print{\vskip\baselineskip \unvbox}
\begingroup
  \catcode`\:=\active \catcode`\;=\active
  \gdef\box@save#1{\wlog{; Unable to save text for
    \@type's with option :storebox}}
\endgroup
\def\box@kill#1{{\setbox\z@\box#1}}

\def\list@store#1#2{\toks@\expandafter{#1\\}%
  \xdef#1{\the\toks@ {#2}{\the\toks@store}}}
\def\list@out#1{\ifx #1\empty \else}
\def\list@print#1{\let \\\f@rm@t #1\glet#1\empty}
\def\list@save{\def\\##1##2{\toks@store{##2}\write@save{##1}}%
  \newlinechar`\^^M}
\def\list@kill#1{\glet#1\empty}

\begingroup
  \catcode`\:=\active
  \gdef\file@store#1#2#3#4{\if0#3\expandafter\file@open\the\file@list
    \@@#1#2\fi
    {\newlinechar`\^^M\immediate\write#2{::{#4}{\the\toks@store}}}}
\endgroup
\def\file@open#1#2\@@#3#4{\immediate\openout#4\jobname.sysut#1%
  \gdef#3{#3#4#1}\global\file@list{#2}\file@wlog{open}#1}
\def\file@wlog#1#2{\wlog{#1 \jobname.sysut#2 for \@type's}}
\def\file@out#1#2#3{\if0#3\else}
\def\file@print#1#2#3{\file@close#2#3\let\\\f@rm@t \file@copy#1#2#3}
\def\file@save#1#2#3{\if0#3\else \file@close#2#3%
  \def\\##1{\read@store{\expandafter\file@store#1{##1}%
    \write@save{##1}}}%
  \newlinechar`\^^M\file@copy#1#2#3\fi}
\def\file@kill#1#2#3{\if0#3\else \file@close#2#3\file@free#1#2#3\fi}
\def\file@close#1#2{\immediate\closeout#1\file@wlog{close}#2}
\def\file@copy#1#2#3{\file@free#1#2#3\file@read#3}
\def\file@read#1{\input \jobname.sysut#1 }
\def\file@free#1#2#3{\gdef#1{#1#20}%
  \global\file@list\expandafter{\the\file@list#3}}
%***  end of file PHYSSTOR  ***

\message{figures,}

% \input physfig
%***  this is file PHYSFIG as of 28.02.86  ***
%***  figures and tables  ***

\def\bf@t#1{\bgroup \let\f@t#1\num@l@tt}
\def\ef@t#1#2#3#4#{\ifx @#4@\g@ne#1\xdef\thef@tn@m{#2\the#1}\else
  \gdef\thef@tn@m{#4}\fi #3\read@store{\f@t\egroup}}

%***  figures  ***

\newtoks\f@names   \f@names={}
\newcount\fign@m   \fign@m=0
\def\fig@type{fig}
\newbox\fig@box
\let\fig@list=\empty
\newwrite\fig@write  \def\fig@file{\fig@file\fig@write0}

\outer\def\figall{\glet\fig@acs A\glet\fig@pref\empty
  \glet\fig@reset\relax \glet\fig@@reset\relax}
\outer\def\figchap{\glet\fig@acs C\gdef\fig@pref{\dot@pref}%
  \glet\fig@reset\figz@ \glet\fig@@reset\relax}
\outer\def\figsect{\glet\fig@acs S\gdef\fig@pref{\ddot@pref}%
  \glet\fig@reset\figz@ \glet\fig@@reset\figz@}
\def\figz@{\gz@\fign@m}

\outer\def\figpage{\glet\fig@page T}
\outer\def\nofigpage{\glet\fig@page F}

\def\fig{\bf@t\fig@\@fig}
\def\FIG{\bf@t\fig@\@FIG}
\def\ffig{\bf@t\ffig@\@fig}
\def\FFIG{\bf@t\ffig@\@FIG}

\def\@fig{\ef@t\fign@m\fig@pref\relax}
\def\@FIG#1{\ef@t\fign@m\fig@pref{\def@name\f@names#1{\thef@tn@m}}}

\def\fig@{\@store0{\thef@tn@m .}}
\def\ffig@{\@sstore0\figpref{\thef@tn@m}}
\def\figadd{\@add0}

\def\qufig{\case@abbr\figabbr\num@lett\quote@all}

\outer\def\figout{\@out0\fig@page\figpref\fighead\f@names}
\outer\def\figkill{\@kill0}
\outer\def\restorefig#1{\read@store{\@store0{#1}}}
\outer\def\figrestore{\all@restore\f@names}
%***  end of file PHYSFIG  ***

% \input physpict
%***  this is file PHYSPICT as of 19.03.86  ***
%***  picture macros  ***

\newdimen\spictskip  \spictskip=2.5pt

\def\pict{\bf@t\pict@\@fig}
\def\PICT{\bf@t\pict@\@FIG}

\def\pict@#1{\vskip\the\toks@store \egroup \bpargroup
  \raggedright \captionstyle \varitem{\qufig{\thef@tn@m\,}:}%
  \let\@spict\spict@ \spacefactor998\ignorespaces}

\def\spict#1{\ifnum\spacefactor=998\else \parvskip\spictskip \fi
  \@spict{#1\enskip}\ignorespaces}
\def\spict@#1{\setbox\z@\hbox{#1}\advance\hangindent\wd\z@
  \box\z@ \let\@spict\llap}

%***  graphic macros  ***

\outer\def\graphics{\glet\graphic\gr@phic}
\outer\def\nographics{\glet\graphic\nogr@phic}

\def\gr@phic#1#2#3#4{\hbox\bgroup \setbox\z@\hbox{\special{^X#1^A}}%
  \lower#4\copy\z@ \hskip#2\raise#3\box\z@ \egroup}
\def\nogr@phic#1#2#3#4{\hbox\bgroup \write\m@ne{Insert graphic #1}%
  \frame{#2}{#3}{#4}\egroup}

\def\frame#1#2#3{\hbox to#1\bgroup \dimen@#2\dimen@ii#3\vrule\fr@@me
  \bgroup \dimen@ii-\dimen@ \fr@me\dimen@ii \hfilneg
  \bgroup \dimen@-\dimen@ii \fr@me\dimen@ \vrule\fr@@me \egroup}
\def\fr@me#1{\advance#1.4\p@ \leaders \hrule\fr@@me \hfil \egroup}
\def\fr@@me{\@height\dimen@ \@depth\dimen@ii}
%***  end of file PHYSPICT  ***

\message{tables,}

% \input phystab
%***  this is file PHYSTAB as of 28.02.86  ***
%***  tables  ***

\newtoks\t@names   \t@names={}
\newcount\tabn@m   \tabn@m=0
\def\tab@type{tab}
\newbox\tab@box
\let\tab@list=\empty
\newwrite\tab@write  \def\tab@file{\tab@file\tab@write0}


\outer\def\taball{\glet\tab@acs A\glet\tab@pref\empty
  \glet\tab@reset\relax \glet\tab@@reset\relax}
\outer\def\tabchap{\glet\tab@acs C\gdef\tab@pref{\dot@pref}%
  \glet\tab@reset\tabz@ \glet\tab@@reset\relax}
\outer\def\tabsect{\glet\tab@acs S\gdef\tab@pref{\ddot@pref}%
  \glet\tab@reset\tabz@ \glet\tab@@reset\tabz@}
\def\tabz@{\gz@\tabn@m}

\outer\def\tabpage{\glet\tab@page T}
\outer\def\notabpage{\glet\tab@page F}

\def\tab{\bf@t\tab@\@tab}
\def\TAB{\bf@t\tab@\@TAB}
\def\ttab{\bf@t\ttab@\@tab}
\def\TTAB{\bf@t\ttab@\@TAB}

\def\@tab{\ef@t\tabn@m\tab@pref\relax}
\def\@TAB#1{\ef@t\tabn@m\tab@pref{\def@name\t@names#1{\thef@tn@m}}}

\def\tab@{\@store1{\thef@tn@m .}}
\def\ttab@{\@sstore1\tabpref{\thef@tn@m}}
\def\tabadd{\@add1}

\def\qutab{\case@abbr\tababbr\num@lett\quote@all}

\outer\def\tabout{\@out1\tab@page\tabpref\tabhead\t@names}
\outer\def\tabkill{\@kill1}
\outer\def\restoretab#1{\read@store{\@store1{#1}}}
\outer\def\tabrestore{\all@restore\t@names}
%***  end of file PHYSTAB  ***

% \input phystabl
%***  this is file PHYSTABL as of 07.03.86  ***
%***  table macro  ***

\newskip\htabskip   \htabskip=1em plus 2em minus .5em
\newdimen\vtabskip  \vtabskip=2.5pt
\newbox\tab@top   \newbox\tab@bot

\let\@hrule=\hrule
\let\@halign=\halign
\let\@valign=\valign
\let\@span=\span
\let\@omit=\omit

\def\@@span{\@span\@omit\@span}
\def\@@@span{\@span\@omit\@@span}

\def\sp@n{\span\@omit\advance\mscount\m@ne} % for multispan

\def\table#1#{\vbox\bgroup\offinterlineskip
  \toks@ii{#1\bgroup \unhcopy\tab@top \unhcopy\tab@bot
    ##}\afterassignment\tab@preamble \@eat}

%***  scan preamble of table

\def\tab@preamble#1\cr{\let\tab@@vrule\tab@repeat
  \let\tab@amp@\empty \let\tab@amp\empty \let\span@\@@span
  \toks@{\tab@space#1&\cr}\the\toks@}
\def\tab@space{\tab@test{ }{}\tab@vrule}                 % blank
\def\tab@vrule{\tab@test\vrule{\tab@add\vrule}%          % \vrule
  \tab@@vrule}
\def\tab@repeat{\tab@test&{\tab@add&%                    % & (repeat)
    \let\tab@@vrule\tab@template \let\tab@amp@\tab@@amp
    \let\tab@amp&\let\span@\@@@span}\tab@template}
\def\tab@template#1&{\tab@add{\@span\tab@amp@
    \tabskip\htabskip&\tab@setup#1&\tabskip\z@skip##}%   % <template>
  \tab@test\cr{\let\tab@@vrule\tab@exec}\tab@space}      % \cr
\def\tab@@amp{&##}

\def\tab@test#1#2#3{\let\tab@comp= #1\toks@{#2}\let\tab@go#3%
  \futurelet\n@xt \tab@@test}
\def\tab@@test{\ifx \tab@comp\n@xt \the\toks@
    \afterassignment\tab@go \expandafter\@eat \else
  \expandafter\tab@go \fi}

\def\tab@add#1{\toks@ii\expandafter{\the\toks@ii#1}}

%*** execute preamble of table

\def\tab@exec{\tab@reset\everycr{\tab@body}%
  \def\halign{\tab@reset \halign}\def\valign{\tab@reset \valign}%
  \def\omit{\@omit \tab@setup}%
  \def\n@xt##1{\hbox{\dimen@\ht\strutbox\dimen@ii\dp\strutbox
    \advance##1\vtabskip \vrule \@height\dimen@ \@depth\dimen@ii
    \@width\z@}}%
  \setbox\tab@top\n@xt\dimen@ \setbox\tab@bot\n@xt\dimen@ii
  \def\ml##1{\relax                                      % multi
    \ifmmode \let\@ml\empty \else \let\@ml$\fi           %   line
    \@ml\vcenter{\hbox\bgroup\unhcopy\tab@top            %   mode
    ##1\unhcopy\tab@bot\egroup}\@ml}%
  \def\nl{\egroup\hbox\bgroup\strut}%                    % new line
  \tabskip\z@skip\@halign\the\toks@ii\cr}

\def\tab@reset{\let\cr\endline \everycr\emptyt@ks
  \let\halign\@halign \let\valign\@valign
  \let\span\@span \let\omit\@omit}
\def\tab@setup{\relax \iffalse {\fi \let\span\span@ \iffalse }\fi}

%***  scan and execute body of table

\def\tab@body{\noalign\bgroup \tab@@body}           % scan inside
\def\tab@@body{\futurelet\n@xt \tab@end}            %   noalign
\def\tab@end{\ifcat\egroup\noexpand\n@xt
    \expandafter\egroup \expandafter\egroup \else        % }
  \expandafter\tab@blank \fi}
\def\tab@blank{\ifcat\space\noexpand\n@xt
    \afterassignment\tab@@body \expandafter\@eat \else   % blank
  \expandafter\tab@hrule \fi}
\def\tab@hrule{\ifx\hrule\n@xt
    \def\hrule{\@hrule\egroup \tab@body}\else            % \hrule
  \expandafter\tab@noalign \fi}
\def\tab@noalign{\ifx\noalign\n@xt
    \aftergroup\tab@body \expandafter\@eat@ \else        % \noalign
  \expandafter\tab@row \fi}
\def\tab@row#1\cr{\toks@ii{\toks@ii{\egroup}%            % one row
    \tab@item#1&\cr}\the\toks@ii}
\def\tab@item#1&{\tab@add{\tab@amp&#1&}%                 % one item
  \futurelet\n@xt \tab@cr}
\def\tab@cr{\ifx\cr\n@xt
    \expandafter\the\expandafter\toks@ii \else           % cr
  \expandafter\tab@item \fi}
%***  end of file PHYSTABL  ***

\message{references,}

% \input physref
%***  this is file PHYSREF as of 18.02.86  ***
%***   references  ***

\newtoks\r@names   \r@names={}
\newcount\refn@m   \refn@m=0
\newcount\ref@temp
\def\ref@type{ref}
\newbox\ref@box
\let\ref@list=\empty
\newwrite\ref@write  \def\ref@file{\ref@file\ref@write0}

\begingroup \let\refnam=\relax  % allow input to be read twice
  \newhelp\ref@help{The option \string\refnam\space allows predefined
    references only and is incompatible with \string\qref(s).
    Your request will be ignored.}
  \global\ref@help=\ref@help % make this definition global
  \gdef\ref@err{{\errhelp\ref@help \errmessage{Invalid request}}}
\endgroup

% Freeze option \refsup, \refsqb or \refnam and eliminate
%   code not needed for that option
\begingroup
  \let\refsup=\relax \let\refsqb=\relax  % allow input to be
  \let\refnam=\relax                     %   read twice
  \gdef\ref@setup{%
    \glet\refsup\undefined
    \if S\ref@sbn \glet\refsup\empty \glet\therefn@m\suprefn@m \fi
    \glet\refsqb\undefined
    \if B\ref@sbn \glet\refsqb\empty \glet\therefn@m\sqbrefn@m \fi
    \glet\refnam\undefined
    \if N\ref@sbn \glet\refnam\empty \glet\the@quref\nam@quref
      \glet\@@ref\ref@err \gdef\qref{\ref@err \quref}\glet\qrefs\qref
      \glet\RF@def@\RF@def@nam
      \glet\RF@find\undefined \glet\RF@search\undefined
      \glet\RF@locate\undefined \glet\@RFread\undefined
      \glet\qurefsup\ref@err \glet\sup@quref\undefined
      \glet\qurefsqb\ref@err \glet\sqb@quref\undefined
      \glet\qurefnum\ref@err \glet\num@quref\undefined
      \glet\ref@restore\ref@err
      \else \gdef\@@ref{\@store2\therefn@m}%
      \gdef\qref{\case@abbr\refabbr\num@lett\quote@all}%
      \gdef\qrefs{\case@abbr\refsabbr\num@lett\quote@all}%
      \glet\RF@def@\RF@def@num \glet\RF@print\undefined
      \gdef\ref@restore{\all@restore\r@names}\fi
    \glet\nam@quref\undefined
    \gdef\quref{\ref@unskip \num@lett\the@quref}%
    \glet\RF@def@num\undefined \glet\RF@def@nam\undefined
    \gdef\RF@restore{\all@restore\R@names}%
    \glet\ref@setup\undefined}
\endgroup

\outer\def\refsup{\glet\ref@sbn S\global\qurefsup}
\outer\def\refsqb{\glet\ref@sbn B\global\qurefsqb}
\outer\def\refnam{\if B\store@blf \opt@err \else \glet\ref@sbn N\fi}

\def\qurefsup{\let\the@quref\sup@quref}
\def\qurefsqb{\let\the@quref\sqb@quref}
\def\qurefnum{\let\the@quref\num@quref}

\outer\def\refpage{\glet\ref@page T}
\outer\def\norefpage{\glet\ref@page F}

\def\ref{\ref@advance \refend \@ref}
\def\REF{\num@lett\@REF}
\def\@REF#1{\ref@name#1\@ref}
\def\refend{\quref{\the\refn@m}}

\def\refs{\ref@advance \ref@temp\refn@m \@ref}
\def\REFS{\num@lett\@REFS}
\def\@REFS#1{\ref@name#1\ref@temp\refn@m \@ref}
\def\refscon{\ref@advance \@ref}
\let\REFSCON=\REF
\def\refsend{\quref{\the\ref@temp -\the\refn@m}}

\def\ref@advance{\ref@unskip \g@ne\refn@m}
\def\ref@name{\ref@@name\r@names}
\def\ref@@name#1#2{\ref@advance \def@name#1#2{\the\refn@m}}
\def\ref@unskip{\ifhmode \unskip \fi}

\def\suprefn@m{\the\refn@m .}
\def\sqbrefn@m{$\lbrack \the\refn@m \rbrack$}
\def\@ref{\read@store\@@ref}
\def\@@ref{\ref@setup \@@ref}
\def\refadd{\@add2}

\def\sup@quref#1{\leavevmode \nobreak \quote@all{^{#1}}}
\def\sqb@quref#1{\ \quote@all{\lbrack #1\rbrack}}
\def\num@quref{\ \quote@all}
\def\nam@quref{\@use}
\def\quref{\ref@setup \quref}
\def\qref{\ref@setup \qref}
\def\qrefs{\ref@setup \qrefs}

\outer\def\refout{{\@out2\ref@page\refpref\refhead\r@names
  \let\\\@RFdef \the\R@names \global\R@names\emptyt@ks
  \if L\RF@lfe \else \glet\RF@list\empty \gz@\RF@high \fi
  \gz@\refn@m}}
\outer\def\refkill{\@kill2}
\outer\def\restoreref#1{\read@@store{\@store2{#1}}}
\outer\def\refrestore{\ref@restore}
\outer\def\RFrestore{\RF@restore}
\def\ref@restore{\ref@setup \ref@restore}
\def\RF@restore{\ref@setup \RF@restore}

%***  predefined references  ***

\newtoks\R@names   \R@names={}
\newcount\RFn@m   \newcount\RF@high
\newcount\RFmax   \RFmax=50  % maximum number of RF's held in storage
\def\RF@type{RF}
\let\RF@list=\empty
\newwrite\RF@write  \def\RF@file{\RF@file\RF@write0}
\let\RF@noc=N

% Freeze option \RFlist, \RFfile or \RFext and eliminate
%   code not needed for that option
\begingroup \let\storefile=\relax        % allow input
  \let\RFlist=\relax \let\RFfile=\relax  %   to be read
  \let\RFext=\relax \let\RF=\relax       %   twice
  \gdef\@RF{%
    \glet\RFlist\undefined
    \if L\RF@lfe \glet\RFlist\empty \glet\@RF\@RFlist
      \gdef\RF@input{\RF@list}%
      \else \glet\@RFlist\undefined \fi
    \glet\RFfile\undefined
    \if F\RF@lfe \glet\RFfile\empty \glet\@RF\@RFfile
      \else \RF@setup
      \glet\@RFfile\undefined \glet\@RFcopy\undefined
      \glet\RF@store\undefined \glet\RF@copy\undefined
      \glet\RF@@input\undefined \fi
    \glet\RFext\undefined
    \if E\RF@lfe \gdef\RFext##1 {}\glet\@RF\@RFext
      \else \glet\@RFext\undefined \fi
    \glet\RF@setup\undefined \@RF}
  \gdef\RF@setup{\ifx \storefile\undefined \glet\file@store\undefined
    \glet\file@open\undefined \glet\file@close\undefined
    \glet\file@wlog\undefined \glet\file@free\undefined
    \glet\file@copy\undefined \glet\file@read\undefined \fi}
\endgroup

\outer\def\RFlist{\glet\RF@lfe L}
\outer\def\RFfile{\if B\store@blf \opt@err \else \glet\RF@lfe F\fi}
\outer\def\RFext#1 {\if B\store@blf \opt@err \else
  \glet\RF@lfe E\gdef\RF@input{\input#1 }\RF@input \fi}

\def\@RFdef#1{\gdef#1{\RF@def#1}}
\def\@RF@list#1{\toks@\expandafter{\RF@list\RF@#1}%
  \xdef\RF@list{\the\toks@ {\the\toks@store}}}
\def\@RFcopy#1{\RF@store{\noexpand#1}}
\def\RF@store{\let\@type\RF@type \if C\RF@noc \glet\RF@noc N%
  \RF@copy \fi \glet\RF@noc O\expandafter\file@store\RF@file}
\def\RF@input{\expandafter\RF@@input\RF@file}
\begingroup \let\RF=\relax  % allow input to be read twice
  \gdef\RF@copy{{\let\\\RF \let\@RF\@RFcopy
    \expandafter\file@copy\RF@file}}
  \gdef\RF@@input#1#2#3{\if O\RF@noc \let\@type\RF@type
    \file@close#2#3\glet\RF@noc C\fi \let\\\RF \file@read#3}
\endgroup

\def\RF@def#1{\ref@@name\R@names#1\RF@def@ #1}
\def\RF@def@{\ref@setup \RF@def@}
\def\RF@def@num{\toks@store\expandafter{\expandafter\RF@find
  \expandafter{\the\refn@m}}\@@ref}
\def\RF@def@nam{\ifnum\refn@m=\@ne \refadd{\RF@print}\fi}
\def\RF@test#1{\z@}

\def\RF@print{\let\@RF\@RF@print \let\RF@def\RF@test
  \let\RF@first T\RF@input}
\def\@RF@print#1{\ifnum#1>\z@
  \if\RF@first T\let\RF@first F\setbox\z@\lastbox
  \else \form@t\f@rmat \noindent \strut \fi
  \hangindent\namrefindent \the\toks@store \fi}

\def\RF@find#1{\RFn@m#1\bgroup \let\RF@def\RF@test
  \if L\RF@lfe \else \ifnum\RFn@m<\RF@high \else \RF@search \fi \fi
  \let\RF@\RF@locate \RF@list \egroup}

\def\RF@search{\global\RF@high\RFn@m \global\advance\RF@high\RFmax
  \glet\RF@list\empty \let\@RF\@RFread  \RF@input}
\def\@RFread#1{\ifnum#1<\RFn@m \else \ifnum#1<\RF@high
  \@RF@list#1\fi \fi}
\def\RF@locate#1#2{\ifnum#1=\RFn@m #2\fi}

\def\@RFlist#1{\@RFdef#1\@RF@list#1}
\def\@RFfile#1{\@RFdef#1\@RFcopy#1}
\let\@RFext=\@RFdef

\outer\def\RF{\num@lett\RF@}
\def\RF@#1{\ref@unskip \read@store{\@RF#1}}
%***  end of file PHYSREF  ***

% \input physjrnl
%***  this is file PHYSJRNL as of 11.02.86  ***
%***  physics journals  ***

\outer\def\yearpage{\glet\yearpage@yp Y}
\outer\def\pageyear{\glet\yearpage@yp P}

\def\journal#1{{\journalstyle{#1}}\j@urnal{}}
\def\journalp#1{{\journalstyle{#1}}\j@urnal}
\def\journalf#1#2#3({{\journalstyle{#1}}\j@urnal{#3}#2(}

\def\j@urnal#1#2(#3)#4*{\unskip
  \ {\volumestyle{#1\ifx @#1@\else\ifx @#2@\else
  \kern.2em\fi \fi#2}}\unskip
  \ifx @#3@\else\ifx @#4@ (#3)\else\if Y\yearpage@yp\ (#3) #4\else
  , #4 (#3)\fi \fi \fi}

\def\Lett{Lett.\ }
\def\Math{Math.\ }
\def\Nucl{Nucl.\ }
\def\Phys{Phys.\ }
\def\Rev{Rev.\ }

\def\NPA{\journalp{\Nucl\Phys}A}
\def\NPB{\journalp{\Nucl\Phys}B}
\def\PLA{\journalf{\Phys\Lett}A}
\def\PLB{\journalf{\Phys\Lett}B}
\def\PR{\journal{\Phys\Rev}}
\def\PRA{\journalp{\Phys\Rev}A}
\def\PRB{\journalp{\Phys\Rev}B}
\def\PRC{\journalp{\Phys\Rev}C}
\def\PRD{\journalp{\Phys\Rev}D}
\def\PRL{\journal{\Phys\Rev\Lett}}
%***  end of file PHYSJRNL  ***

\message{table of contents,}

% \input phystoc
%***  this is file PHYSTOC as of 03.03.86  ***
%***  table of contents  ***

\newinsert\toc@ins
\count\toc@ins=0   \dimen\toc@ins=\maxdimen   \skip\toc@ins=0pt
\newcount\auto@toc   \auto@toc=-1
\let\toc@saved\empty

\def\toc@type{toc}
\newbox\toc@box
\let\toc@list=\empty
\newwrite\toc@write  \def\toc@file{\toc@file\toc@write0}

\outer\def\tocpage{\glet\toc@page T}
\outer\def\notocpage{\glet\toc@page F}

\outer\def\tocnone{\gm@ne\auto@toc}
\outer\def\tocchap{\gz@\auto@toc}
\outer\def\tocsect{\global\auto@toc\@ne}
\outer\def\tocsecs{\global\auto@toc\tw@}
\outer\def\tocsecss{\global\auto@toc\thr@@}
\outer\def\tocsecsss{\global\auto@toc\f@ur}

\def\toc#1{\read@store{\@toc{#1}}}
\def\tocadd{\toc\empty}
\def\@toc#1{\insert\toc@ins{\vbox{}}%
  \toks@\expandafter{\toc@saved}%
  \xdef\toc@saved{\the\toks@{#1}{\the\toks@store}}}

\def\make@toc{\setbox\z@\vbox{\unvbox\toc@ins
  \loop \setbox\z@\lastbox \ifvbox\z@
    \expandafter\make@@toc\toc@saved\@@ \repeat}}
\def\make@@toc#1#2{\toks@store{#2}\def\n@xt{#1}\ifx\n@xt\empty \else
  \edef\n@xt{\the\toks@store\noexpand\toc@fill\page@pref\folio}%
  \toks@store\expandafter{\n@xt}\fi \@store3{#1}\make@@@toc}
\def\make@@@toc#1\@@{\gdef\toc@saved{#1}}
\def\toc@fill{\rightskip4em\parfillskip-\rightskip
  \leaders\hbox to1em{\hss.\hss}\hfil}

\outer\def\tocout{\@out3\toc@page\tocpref\tochead\emptyt@ks}
\outer\def\tockill{\@kill3}
\outer\def\restoretoc#1{\read@@store{\@store3{#1}}}
%***  end of file PHYSTOC  ***

\message{footnotes,}

% \input physfoot
%***  this is file PHYSFOOT as of 17.03.86  ***
%***  footnotes  ***

\newcount\footn@m   \footn@m=0
\def\foot@type{foot}
\newbox\foot@box
\let\foot@list=\empty
\newwrite\foot@write  \def\foot@file{\foot@file\foot@write0}

\outer\def\footsqb{\glet\foot@bp B\glet\thefootn@m\sqbfootn@m}
\outer\def\footpar{\glet\foot@bp P\glet\thefootn@m\parfootn@m}

\outer\def\footbot{\glet\foot@be B\glet\vfootnote\vfootn@te}
\outer\def\footend{\glet\foot@be E\glet\vfootnote\foot@store}

\outer\def\footpage{\glet\foot@page T}
\outer\def\nofootpage{\glet\foot@page F}

\def\sqbfootn@m{\lbrack \the\footn@m \rbrack}
\def\parfootn@m{\the\footn@m )}

\def\foot{\hfoot \vfootnote\footid}
\def\hfoot{\g@ne\footn@m \edef\n@xt{{$^{\thefootn@m}$}}%
  \expandafter\hfootnote\n@xt}
\def\footnote#1{\hfootnote{#1}\vfootnote\footid}
\def\hfootnote#1{\let\@sf\empty
  \ifhmode\unskip\edef\@sf{\spacefactor\the\spacefactor}\/\fi
  #1\@sf \gdef\footid{#1}}
\def\vfootn@te#1{\insert\footins\bgroup \footstyle
  \interlinepenalty\interfootnotelinepenalty
  \baselineskip\footnotebaselineskip
  \splittopskip\interfootnoteskip % top baseline for broken footnotes
  \splitmaxdepth\dp\strutbox \floatingpenalty\@MM
  \leftskip.05\hsize \rightskip\z@skip
  \spaceskip\z@skip \xspaceskip\z@skip
  \noindent \llap{#1}\footstrut \after@arg\@foot}
\let\fo@t=\undefined
\let\f@@t=\undefined
\let\f@t=\undefined

\def\foot@store#1{\read@store{\@store4{#1}}}
\def\footadd{\@add4}

\outer\def\footout{\@out4\foot@page\footpref\foothead\emptyt@ks}
\outer\def\footkill{\@kill4}
\outer\def\restorefoot#1{\read@store{\@store4{#1}}}
%***  end of file PHYSFOOT  ***

\message{items and points,}

% \input physitem
%***  this is file PHYSITEM as of 21.02.86  ***
%***  item  ***

\let\plainitem=\item     % rename \item from PLAIN

\def\varitem{\afterassignment\v@ritem \setbox\z@\hbox}
\def\v@ritem{\hss \bgroup \aftergroup\v@@ritem}
\def\v@@ritem{\enskip \egroup \endgraf \noindent
  \hangindent\wd\z@ \box\z@ \ignorespaces}

\def\bpargroup{\bgroup \def\par{\endgraf
    \edef\n@xt{\egroup \prevdepth\the\prevdepth}\n@xt}}

\def\hvskip{\afterassignment\h@vskip \skip@}
\def\h@vskip{\unskip\nobreak \vadjust{\vskip\skip@}\lb \ignorespaces}

\def\parvskip{\bgroup \afterassignment\par@vskip \parskip}
\def\par@vskip{\parindent\hangindent \endgraf \indent \egroup
  \ignorespaces}

\def\item{\varitem to2.5em}
\def\sitem{\varitem to4.5em}
\def\ssitem{\varitem to6.5em}

\def\itemcon{\item{}}
\def\sitemcon{\sitem{}}
\def\ssitemcon{\ssitem{}}

%***  point  ***

\newcount\pointn@m   \pointn@m=0
\def\pointbegin{\gz@\pointn@m \point}
\def\point{\g@ne\pointn@m
  \xdef\the@label{\the\pointn@m}\item{\the@label.}}

\newcount\spointn@m   \spointn@m=96
\def\spointbegin{\global\spointn@m96 \spoint}
\def\spoint{\g@ne\spointn@m
  \xdef\the@label{\char\the\spointn@m}\sitem{(\the@label)}}

\newcount\sspointn@m   \sspointn@m=0
\def\sspointbegin{\gz@\sspointn@m \sspoint}
\def\sspoint{\g@ne\sspointn@m
  \xdef\the@label{\romannumeral\sspointn@m}\ssitem{\the@label)}}

\let\pointcon=\itemcon
\let\spointcon=\sitemcon
\let\sspointcon=\ssitemcon

%***  bull-, star- and dashitem  ***

\def\bullitem{\item{$\bullet $}}
\def\staritem{\item{$\ast $}}
\def\dashitem{\item{---}}
\def\sbullitem{\sitem{$\bullet $}}
\def\sstaritem{\sitem{$\ast $ }}
\def\sdashitem{\sitem{---}}
\def\ssbullitem{\ssitem{$\bullet $}}
\def\ssstaritem{\ssitem{$\ast $ }}
\def\ssdashitem{\ssitem{---}}
%***  end of file PHYSITEM  ***

\message{matrices and additional math symbols,}

% \input physmath
%***  this is file PHYSMATH as of 21.02.86  ***
%***  matrices  ***

\def\matc{\let\mat@lfil\hfil \let\mat@rfil\hfil}
\def\matl{\let\mat@lfil\relax \let\mat@rfil\hfil}
\def\matr{\let\mat@lfil\hfil \let\mat@rfil\relax}

\def\matrix#1{\,\vcenter{\normalbaselines\m@th
    \ialign{$\mat@lfil##\mat@rfil$&&\quad$\mat@lfil##\mat@rfil$\crcr
      \mathstrut\crcr\noalign{\kern-\baselineskip}%
      #1\crcr\mathstrut\crcr\noalign{\kern-\baselineskip}}}\,}

\def\bordermatrix#1{\begingroup \m@th
  \setbox\z@\vbox{%
    \def\cr{\crcr\noalign{\kern2\p@\glet\cr\endline}}%
    \ialign{$##\hfil$\kern2\p@\kern\p@renwd&\thinspace$\mat@lfil##%
      \mat@rfil$&&\quad$\mat@lfil##\mat@rfil$\crcr
      \omit\strut\hfil\crcr\noalign{\kern-\baselineskip}%
      #1\crcr\omit\strut\cr}}%
  \setbox\tw@\vbox{\unvcopy\z@\global\setbox\@ne\lastbox}%
  \setbox\tw@\hbox{\unhbox\@ne\unskip\global\setbox\@ne\lastbox}%
  \setbox\tw@\hbox{$\kern\wd\@ne\kern-\p@renwd\left(\kern-\wd\@ne
    \global\setbox\@ne\vbox{\box\@ne\kern2\p@}%
    \vcenter{\kern-\ht\@ne\unvbox\z@\kern-\baselineskip}\,\right)$}%
  \;\vbox{\kern\ht\@ne\box\tw@}\endgroup}

\let\mat=\pmatrix

%***  additional math symbols  ***

\mathchardef\smallsum="1006
\mathchardef\smallprod="1005

\def\b@mmode{\relax\ifmmode\else
  \hbox\bgroup$\def\e@mmode{$\egroup}\fi}
\let\e@mmode=\empty

\def\{{\b@mmode \lbrace \e@mmode}
\def\}{\b@mmode \rbrace \e@mmode}

\def\,{\b@mmode \mskip\thinmuskip  \e@mmode}
\def\>{\b@mmode \mskip\medmuskip  \e@mmode}
\def\;{\b@mmode \mskip\thickmuskip \e@mmode}

\def\Mit#1{\b@mmode \mit#1\e@mmode}
\def\Cal#1{\b@mmode \cal\uppercase\expandafter{#1}\e@mmode}

\def\dotii#1{{\mathop{#1}\limits^{\vbox to -1.4\p@{\kern-2\p@
   \hbox{\tenrm..}\vss}}}}
\def\dotiii#1{{\mathop{#1}\limits^{\vbox to -1.4\p@{\kern-2\p@
   \hbox{\tenrm...}\vss}}}}
\def\dotiv#1{{\mathop{#1}\limits^{\vbox to -1.4\p@{\kern-2\p@
   \hbox{\tenrm....}\vss}}}}

\let\vecsymbol\rightarrow
\let\barsymbol -
\mathchardef\tildesymbol="0218
\def\hatsymbol{{\mathchoice{\null}{\null}{\,\,\hbox{\lower 10\p@\hbox
    {$\widehat{\null}$}}}{\,\hbox{\lower 20\p@\hbox
       {$\hat{\null}$}}}}}
\def\dotiisymbol{{\nonscript\,\hbox{\tenrm..}}}
\def\dotiiisymbol{{\nonscript\,\hbox{\tenrm...}}}
\def\dotivsymbol{{\nonscript\,\hbox{\tenrm....}}}
\def\dotsymbol{{\nonscript\,\hbox{\tenrm.}}}

%***  mathematical statements  ***

\def\adv@stmt#1#2#3#4{\par\noindent\bpargroup\stmttitlestyle
  \count@\ifx#2#3#1 \else\z@ \glet#2#3\fi \advance\count@\@ne
  \xdef#1{\the\count@}\edef\the@label{#4#1}}

\def\make@stmt{\ \the@label \make@@stmt}
{\catcode`\:\active
  \gdef\make@@stmt{\ \catcode`\:\active \let:\end@stmt}
}
\def\end@stmt{\catcode`\:\@ther \unskip :\stmtstyle
  \enskip \ignorespaces}

\def\defstmt#1#2#3{\toks@{#2}{\edef\n@xt{\csname#1@stmt@adv\endcsname
    \the\toks@ \noexpand\make@stmt}%
  \expandafter\glet\csname#1\endcsname\n@xt \def@stmt{#1@stmt@}#3@}}
\def\def@stmt#1#2#3@{\if#2=\edef\n@xt{\expandafter\noexpand
    \csname#3@stmt@adv\endcsname}\else
    \toks@{\empty}\toks@ii\toks@ \if#2c\toks@{\dot@pref}\fi
    \if#2s\toks@{\ddot@pref}\if#3c\toks@ii{\sect@dot@pref}\fi \fi
    \if#3a\toks@ii\toks@ \fi
    \edef\n@xt{\noexpand\adv@stmt \csname#1num\endcsname
      \csname#1save\endcsname \the\toks@ \the\toks@ii}\fi
  \expandafter\glet\csname#1adv\endcsname\n@xt}

\def\Prf{\par\noindent\bpargroup\prftitlestyle \case@language\prfhead
  \let\stmtstyle\prfstyle \make@@stmt}
%***  end of file PHYSMATH  ***

\message{save, restore and start macros,}

% \input physsave
%***  this is file PHYSSAVE as of 05.03.86  ***
%***  save and restore  ***

\def\save@type{.texsave }  % file type for save and restore
\newread\test@read
\newwrite\save@write

\def\s@ve{\immediate\write\save@write}
\begingroup \catcode`\:=\active \catcode`\;=\active
  \outer\gdef\save#1 {{\let\,\space
    \immediate\openout\save@write#1\save@type
    \s@ve{;* definitions for :restore #1 \date\space- \thetime\space*}%
    \s@ve{:comment}%
    \s@ve{:\case@language{german\else english}}\save@page \save@chap
    \save@equ \save@fig \save@tab \save@ref \save@toc \save@foot
    \bgroup \def\n@xt##1.##2{\advance##2\@ne \s@ve{:start##1\the##2}}%
      \n@xt chap.\chapn@m \n@xt sect.\sectn@m
      \n@xt appendix.\appn@m \n@xt equ.\eqn@m
      \n@xt fig.\fign@m \n@xt tab.\tabn@m
      \n@xt ref.\refn@m \n@xt foot.\footn@m \egroup
    \s@ve{:\ifx\chap@@eq\sect@@eq app\else
      \ifnum\chapn@m=\z@ sect\else chap\fi \fi init}%
    \@save0\@save1\@save2\@save3\@save4%
    \save@restore ref \r@names  \save@restore RF \R@names
    \s@ve{:endcomment}%
    \save@restore lbl \l@names  \save@restore eq \e@names
    \save@restore fig \f@names  \save@restore tab \t@names
    \s@ve{;*  end of definitions  *}\immediate\closeout\save@write
    }\wlog{* file #1\save@type saved *}}
  \gdef\save@restore#1 {\def\\{\s@ve{:#1restore}%
      \let\\\save@@restore \\}\the}
  \gdef\save@@restore#1{\toks@\expandafter{#1}%
    \s@ve{:dorestore\string#1{\the\toks@}}}
  \gdef\save@page{\s@ve{:\@opt\page@tbn Ttop Bbot Nno *pagenum%
      :\@opt\head@lrac Llef Rrigh Aal Ccen *thead%
      :\@opt\foot@lrac Llef Rrigh Aal Ccen *tfoot%
      :page\@opt\page@ac Aall Cchap *%
      :\@opt\ori@pl Pportrait Llandscape *}%
    \s@ve{:startpage\@opt\page@ac C\the\pageno@pref. *\the\pageno}}
  \gdef\save@chap{\s@ve{:\@opt\chap@page Fno *chappage%
      :\@opt\chap@yn Nno *chapters%
      :\@opt\chap@ar Aarabic Rroman *chapnum}}
  \gdef\save@equ{\s@ve{:equ\@opt\eq@acs Aall Cchap Ssect *%
      :equ\@opt\eq@lrn Lleft Rright Nnone *%
      :equ\@opt\eq@fs Ffull Sshort *}}
  \gdef\save@fig{\s@ve{:\@opt\fig@page Fno *figpage%
      :fig\@opt\fig@acs Aall Cchap Ssect *}}
  \gdef\save@tab{\s@ve{:\@opt\tab@page Fno *tabpage%
      :tab\@opt\tab@acs Aall Cchap Ssect *}}
  \gdef\save@ref{\s@ve{:\@opt\ref@page Fno *refpage%
      :ref\@opt\ref@sbn Ssup Bsqb Nnam *%
      :\@opt\yearpage@yp Yyearpage Ppageyear *}}
  \gdef\save@toc{\s@ve{:\@opt\toc@page Fno *tocpage%
      :toc\ifcase\auto@toc chap\or
      sect\or secs\or secss\or secsss\else none\fi}}
  \gdef\save@foot{\s@ve{:\@opt\foot@page Fno *footpage%
      :foot\@opt\foot@be Bbot Eend *%
      :foot\@opt\foot@bp Bsqb Ppar *}}
\endgroup
\def\@opt#1#2#3 #4{\if #1#2#3\fi \if #4*\else
  \expandafter\@opt\expandafter#1\expandafter#4\fi}

\begingroup \let\comment=\relax
  \outer\gdef\restore{\@kill0\@kill1\@kill2\@kill3\@kill4%
    {\def\\##1{\glet##1\undefined}%
      \def\n@xt##1{\the##1\global##1\emptyt@ks}%
      \n@xt\l@names \n@xt\e@names \n@xt\f@names \n@xt\t@names
      \n@xt\r@names \let\\\@RFdef \n@xt\R@names}
    \bgroup \let\comment\relax \@restore}
\endgroup
\def\crossrestore#1 {\bgroup \openin\test@read#1\save@type
  \ifeof\test@read \let\n@xt\egroup
    \message{* file #1\save@type missing *}\else
  \def\n@xt{\@restore#1 }\closein\test@read \fi \n@xt}
\def\@restore#1 {\input #1\save@type \egroup}
\def\all@restore{\glet\name@list}
\outer\def\dorestore{\bgroup \catcode`\@\l@tter \num@lett\d@restore}
\def\d@restore#1#2{\egroup \toks@{#2}\def@name\name@list#1{\the\toks@}}

\def\def@name#1#2{\let\name@list#1\add@name#2\xdef#2}
\def\del@name#1{\bgroup
  \def\n@xt##1\\#1##2\\#1##3\@@##4{\global##4{##1##2}}%
  \def\del@@name##1{\expandafter\n@xt\the##1\\#1\\#1\@@##1}%
  \del@@name\l@names \del@@name\e@names \del@@name\f@names
  \del@@name\t@names \del@@name\r@names \del@@name\R@names \egroup}
\def\add@name#1{\del@name#1%
  {\global\name@list\expandafter{\the\name@list\\#1}}}

\def\kill{\num@lett\@k@ll}
\def\@k@ll#1{\def\k@ll##1{\ifx##1\k@ll \let\k@ll\relax \else
    \del@name##1\glet##1\undefined \fi \k@ll}\k@ll#1\k@ll}

%***  start macros  ***

\outer\def\startchap{\st@rt\chapn@m}
\outer\def\startsect{\st@rt\sectn@m}
\outer\def\startappendix{\st@rt\appn@m}
\outer\def\startequ{\st@rt\eqn@m}
\outer\def\startfig{\st@rt\fign@m}
\outer\def\starttab{\st@rt\tabn@m}
\outer\def\startref{\st@rt\refn@m}
\outer\def\startfoot{\st@rt\footn@m}

\def\st@rt#1{\gm@ne#1 \global\advance#1}
%***  end of file PHYSSAVE  ***

\message{installation dependent parameters,}

% \input physinst
%***  this is file PHYSINST as of 13.03.86  ***
%***  installation dependent parameters  ***

%***  \hoffset@corr, \hoffset@corrm, \voffset@corr and \voffset@corrm
%     are corrections to \hoffset  and  \voffset  chosen such that
%     the output pages are centered correctly on the paper.

%***  the values used are:
%       \hoffset@corr@p etc. for the portrait format are
%       \hoffset@corr@l etc. for the landscape format are

\hoffset@corr@p=86mm   \voffset@corr@p=98mm      % absolute
\hoffset@corrm@p=-5mm   \voffset@corrm@p=4mm      % magnified
\hoffset@corr@l=134mm   \voffset@corr@l=70mm     % absolute
\hoffset@corrm@l=-5mm   \voffset@corrm@l=-4mm     % magnified
%***  end of file PHYSINST  ***

\catcode`\@=12 % @ signs are no longer letters

\message{and default options.}

%***  default options  ***

%\twelvepoint   % 12pt, 10pt and 8pt fonts
%\doublespace   % medium spacing between lines

\hbadness=2000  % to avoid too many underfull hbox messages

\english   % headings in english language (default for PHYSE)

\botpagenum     % page numbers at bottom of page
\centhead       % headlines not alternating,
                % page numbers (if any) centered
\centfoot       % footlines not alternating,
                % page numbers (if any) centered
\pageall        % pages numbered thoughout the paper
\portrait       % portrait orientation ( vsize > hsize )
\titlepage      % title etc. on a separate page (e.g. preprint)
\nochappage     % chapters and appendices not on separate pages
\arabicchapnum  % arabic chapter numbers
\chapters       % paper has chapters
\equchap        % equations numbered per chapter and appendix
\equshort       % equation numbers quoted in abbreviated form
\equright       % equation numbers on right side
\storelist      % figure captions etc. stored in lists (macros)
\figall         % figures numbered throughout the paper
\figpage        % figure captions on a separate page
\nographics     % graphic yields an empty frame
\taball         % tables numbered throughout the paper
\tabpage        % table captions on a separate page
\refsup         % quotations of references as superscripts
\refpage        % references on a separate page
\RFlist         % predefined ref's stored in list (macros)
\yearpage       % journals quoted in the form `vol (year) page'
\tocpage        % table of contents on a separate page
\tocnone        % no automatic entries in toc
\footsqb        % footnote numbers in square brackets
\footbot        % footnotes at bottom of page (as footnotes)
\footpage       % footnotes on a separate page (for \footend only)
\matc           % matrix elements are centered

\wlog{summary of allocations:}
\wlog{last count=\number\count10 }
\wlog{last dimen=\number\count11 }
\wlog{last skip=\number\count12 }
\wlog{last muskip=\number\count13 }
\wlog{last box=\number\count14 }
\wlog{last toks=\number\count15 }
\wlog{last read=\number\count16 }
\wlog{last write=\number\count17 }
\wlog{last fam=\number\count18 }
\wlog{last insert=\number\count19 }

%***  make sure the file physupdt with corrections and updates
%     is read by the user

\let\physpar=\par
\def\resetpar{\glet\par\physpar \glet\physpar\undefined
  \glet\resetpar\undefined}
\def\par{\begingroup
  \errhelp{You should have used the command `\input physupdt' to read
    the corrections and updates to the current version of PHYS(E)}%
  \errmessage{file physupdt missing}\endgroup \resetpar \par}%
%
%***  no more blank lines until physupdt is read !!
%
\def\fmtname{phys}
\def\fmtversion{1.0}  % identifies the current format
%***  end of file PHYSORG  ***
\english        % default language for headings etc. is english
%\dump
%***  end of file PHYSE  ***
