%% SLAC-PUB version of PUB7222 file
\input phyzzx
 
%\PHYSREV
 
%\input imavect.tex
\input tables
 
\def\Footnote#1{\attach{${#1}$}\Vfootnote{#1}}
\def\vfootnote#1{\Vfootnote{$^{#1}$}}
\def\footnote#1{\attach{#1}\vfootnote{#1}}
\def\footattach{\attach\footsymbol}
\def\foot{\attach\footsymbolgen\vfootnote{\footsymbol}}
\let\footsymbol=\star
 
\def\Pade{Pad$\acute{\rm e}$\chkspace}
%
%  chkspace.tex -- A TeX file defining a macro \chkspace, which typesets
%                  a space (via $\;$) if the following conditions are met:
%                  (1) It is executed in horizontal mode, and
%                  (2) The next character is not one of . , ; ! ? : }
%
%  Ray F. Cowan
%  22 Feb 1994.
%
%
 
\catcode`@=11
\def\chkspace{%
  \relax   % Calm down any expanding \if's.
  \begingroup\ifhmode\aftergroup\dochksp@ce\fi\endgroup}
\def\dochksp@ce{%
  \unskip              % Remove any preceding horizontal glue
  \futurelet\chkspct@k\d@chkspc  % Grab the next token and look ahead
}
\def\d@chkspc{%
  %\immediate\message{[chkspct@k=\meaning\chkspct@k]}% For debugging.
  \let\nxtsp@ce=\relax
  \ifx\chkspct@k.\else     % Don't put spaces before punctuation ...
    \ifx\chkspct@k,\else
      \ifx\chkspct@k;\else
        \ifx\chkspct@k!\else
          \ifx\chkspct@k?\else
            \ifx\chkspct@k:\else
              \ifx\chkspct@k)\else
              \ifx\chkspct@k(\else
                \ifx\chkspct@k]\else
                  \ifx\chkspct@k-\else
                    \ifx\chkspct@k\egroup\else  % or close groups.
                      \let\nxtsp@ce=\put@space  % Put a space everywhere else.
                    \fi
                  \fi
                \fi
              \fi
              \fi
            \fi
          \fi
        \fi
      \fi
    \fi
  \fi
  \nxtsp@ce
}
\def\put@space{$\;$}
\catcode`@=12
 
\def\ra{{$\rightarrow$}\chkspace}
\def\etal{{\it et al.}\chkspace}
\def\viz{{\it viz}\chkspace}
\def\adhoc{{\it ad hoc}\chkspace}
\def\ie{{\it i.e.}\chkspace}
\def\ap{{\it a priori}\chkspace}
\def\eg{{\it eg.}\chkspace}
\def\etc{{\it etc.}\chkspace}
\def\ala{{$\grave{a}\; la$}\chkspace}
\def\ibid{{\it ibid}\chkspace}
\def\defacto{{\it de facto}\chkspace}
\def\perse{{\it per se}\chkspace}
\def\apriori{{\it a priori}\chkspace}
\def\apost{{\it a posteriori}\chkspace}
 
\def\ep{{e$^+$e$^-$}\chkspace}
\def\epa{{e$^+$e$^-$ annihilation}\chkspace}
\def\mup{{$\mu^+\mu^-$}\chkspace}
\def\taup{{$\tau^+\tau^-$}\chkspace}
\def\qu{\quad}
\def\quu{\quad\quad}
\def\quuuu{\quad\quad\quad\quad}
 
\def\gluino{\relax\ifmmode \tilde{g} \else $\tilde{g}$ \fi\chkspace}
 
\def\qq{q$\overline{\rm q}$\chkspace}
\def\gg{$\tilde{\rm g}\tilde{\rm g}$\chkspace}
\def\qbar{$\overline{\rm q}$\chkspace}
\def\QQ{Q$\overline{\rm Q}$\chkspace}
\def\pp{p$\overline{\rm p}$\chkspace}
\def\pbar{$\overline{\rm p}$\chkspace}
 
\def\bb{\relax\ifmmode {\rm b}\bar{\rm b}
       \else ${\rm b}\bar{\rm b}$ \fi\chkspace}
\def\cc{\relax\ifmmode {\rm c}\bar{\rm c}
       \else ${\rm c}\bar{\rm c}$ \fi\chkspace}
\def\tt{\relax\ifmmode {\rm t}\bar{\rm t}
       \else ${\rm t}\bar{\rm t}$ \fi\chkspace}
\def\dd{{$d\bar{d}$}\chkspace}
\def\ss{{$s\bar{s}$}\chkspace}
\def\sbar{{$\bar{s}$}\chkspace}
\def\uds{{$u\bar{u},\;d\bar{d},\;s\bar{s}$}\chkspace}
\def\udsc{{$u\bar{u},\;d\bar{d},\;s\bar{s},\;c\bar{c}$}\chkspace}
\def\qqg{\relax\ifmmode {\rm q}\overline{\rm q}{\rm g}
\else q$\overline{\rm q}$g \fi\chkspace}
\def\bbg{{b$\overline{\rm b}$g}\chkspace}
\def\ttg{{t$\overline{\rm t}$g}\chkspace}
\def\QQg{{Q$\overline{\rm Q}$g}\chkspace}
\def\qqgg{{q$\overline{\rm q}$gg}\chkspace}
\def\qqqq{{q$\overline{\rm q}${q$\overline{\rm q}$}}\chkspace}
\def\QQQQ{{Q$\overline{\rm Q}${Q$\overline{\rm Q}$}}\chkspace}
\def\bbbb{{b$\overline{\rm b}${b$\overline{\rm b}$}}\chkspace}
\def\cccc{{c$\overline{\rm c}${c$\overline{\rm c}$}}\chkspace}
 
\def\afb{\relax\ifmmode A_{FB} \else
{{$A_{FB}$}}\fi\chkspace}
\def\afbb{\relax\ifmmode A_{FB}^b \else
{{$A_{FB}^b$}}\fi\chkspace}
\def\pafb{\relax\ifmmode \tilde{A}_{FB} \else
{{$\tilde{A}_{FB}$}}\fi\chkspace}
\def\pafbb{\relax\ifmmode \tilde{A}_{FB}^b \else
{{$\tilde{A}_{FB}^b$}}\fi\chkspace}
 
\def\pafbzo{\relax\ifmmode \tilde{A}_{FB}|_{O(0)} \else
{{$\tilde{A}_{FB}|_{O(0)}$}}\fi\chkspace}
\def\pafbfo{\relax\ifmmode \tilde{A}_{FB}|_{\oalp} \else
{{$\tilde{A}_{FB}|_{\oalp}$}}\fi\chkspace}
\def\pafbso{\relax\ifmmode \tilde{A}_{FB}|_{\oalpsq} \else
{{$\tilde{A}_{FB}|_{\oalpsq}$}}\fi\chkspace}
\def\pafbto{\relax\ifmmode \tilde{A}_{FB}|_{\oalpc} \else
{{$\tilde{A}_{FB}|_{\oalpc}$}}\fi\chkspace}
 
\def\pafbbzo{\relax\ifmmode \tilde{A}_{FB}^b|_{O(0)} \else
{{$\tilde{A}_{FB}^b|_{O(0)}$}}\fi\chkspace}
\def\pafbbfo{\relax\ifmmode \tilde{A}_{FB}^b|_{\oalp} \else
{{$\tilde{A}_{FB}^b|_{\oalp}$}}\fi\chkspace}
\def\pafbbso{\relax\ifmmode \tilde{A}_{FB}^b|_{\oalpsq} \else
{{$\tilde{A}_{FB}^b|_{\oalpsq}$}}\fi\chkspace}
\def\pafbbto{\relax\ifmmode \tilde{A}_{FB}^b|_{\oalpc} \else
{{$\tilde{A}_{FB}^b|_{\oalpc}$}}\fi\chkspace}
 
\def\afbo0{\tilde{A}_{FB}|_{O(0)}}
\def\afbo1{\tilde{A}_{FB}|_{\oalp}}
\def\afbo2{\tilde{A}_{FB}|_{\oalpsq}}
\def\afbo3{\tilde{A}_{FB}|_{\oalpc}}
 
\def\lam{\relax\ifmmode \Lambda_{\overline{MS}}
       \else {{$\Lambda_{\overline{MS}}$}}\fi\chkspace}
\def\lamuds{\relax\ifmmode \Lambda^{(3)}_{\overline{MS}}
       \else {{$\Lambda^{(3)}_{\overline{MS}}$}}\fi\chkspace}
\def\lamudsc{\relax\ifmmode \Lambda^{(4)}_{\overline{MS}}
       \else $\Lambda^{(4)}_{\overline{MS}}$\fi\chkspace}
\def\lamudscb{\relax\ifmmode \Lambda^{(5)}_{\overline{MS}}
       \else $\Lambda^{(5)}_{\overline{MS}}$\fi\chkspace}
\def\alpb{$\alpha_s(b)$\chkspace}
\def\alpc{$\alpha_s(c)$\chkspace}
\def\alpbc{$\alpha_s(bc)$\chkspace}
\def\alpuds{$\alpha_s(uds)$\chkspace}
\def\alpudsc{$\alpha_s(udsc)$\chkspace}
\def\alp{\relax\ifmmode \alpha_s\else $\alpha_s$\fi\chkspace}
\def\alpbar{\relax\ifmmode \overline{\alpha_s}
       \else $\overline{\alpha_s}$\fi\chkspace}
\def\alpmz{\relax\ifmmode \alpha_s(M_Z)\else $\alpha_s(M_Z)$\fi\chkspace}
\def\alpmzsq{\relax\ifmmode \alpha_s(M_Z^2)
       \else $\alpha_s(M_Z^2)$\fi\chkspace}
 
\def\oalp{\relax\ifmmode O(\alpha_s)\else{{O($\alpha_s$)}}\fi\chkspace}
\def\oalpsq{\relax\ifmmode O(\alpha_s^2)
           \else{{O($\alpha_s^2$)}}\fi\chkspace}
\def\oalpc{\relax\ifmmode O(\alpha_s^3)
           \else{{O($\alpha_s^3$)}}\fi\chkspace}
\def\oalpf{\relax\ifmmode O(\alpha_s^4)
           \else{{O($\alpha_s^4$)}}\fi\chkspace}
%\def\oalp{O($\alpha_s$)\chkspace}
%\def\oalpsq{O($\alpha_s^2$)\chkspace}
%\def\oalpc{O($\alpha_s^3$)\chkspace}
 
\def\plb{Phys. Lett.\chkspace}
\def\npb{Nucl. Phys.\chkspace}
\def\rmp{Rev. Mod. Phys.\chkspace}
\def\prl{Phys. Rev. Lett.\chkspace}
\def\prd{Phys. Rev.\chkspace}
\def\zpc{Z. Phys.\chkspace}
 
 
\def\z0{{$Z^0$}\chkspace}
\def\Dst{\relax\ifmmode {\rm D}^* \else {D$^*$}\fi\chkspace}
\def\Dpl{\relax\ifmmode {\rm D}^+ \else {D$^+$}\fi\chkspace}
\def\D0{\relax\ifmmode {\rm D}^0 \else {D$^0$}\fi\chkspace}
\def\Kst{\relax\ifmmode {\rm K}^* \else {K$^*$}\fi\chkspace}
\def\K0{\relax\ifmmode {\rm K}^0_s \else {K$^0_s$}\fi\chkspace}
\def\Kpl{\relax\ifmmode {\rm K}^+ \else {K$^+$}\fi\chkspace}
\def\Kstz{\relax\ifmmode {\rm K}^{*0} \else {K$^{*0}$}\fi\chkspace}
 
\overfullrule=0pt
 \hsize=6in
   \vsize=8.5in
 \voffset 0.5truecm
\baselineskip = 15pt
 
\overfullrule=0pt%%Use to remove black boxes
 \linepenalty=100%%Increase to try harder to keep para to min# of lines
\uchyph=200%%Controls hyphenation%%%%%%%%%%%%
\brokenpenalty=200%%Specifies penalty for pagebreak after discretionary item
\hbadness=10000%%Larger # means glue can stretch & shrink more
\clubpenalty=10000%%Penalty for breaking page after first line of a par
\widowpenalty=10000%%Penalty for breaking page before last line of a par
\displaywidowpenalty=10000%%Penalty for breaking page before line bfore math disp
\pretolerance=10000%%Specifies tolerable badness for line breaks w/o hyphens
\tolerance=2000%%Specifies tolerable badness for line breaks w hyphenation
\nobreak%%forces line not to break
\penalty 5000%%Neg encourages line break 10,000+ prevents break
\hyphenpenalty=5000%%Penalty for hyphens increase to discourage break
\exhyphenpenalty=5000%Penalty for explicit hyphen Increase to discourage break
\sequentialequations%%?????????????????????????
 
\font\elevenrm=cmr9 scaled\magstep1      \let\elrm=\elevenrm
  \font\elevensl=cmsl9 scaled\magstephalf  \let\elsl=\elevensl
    \font\elevenbf=cmbx9 scaled\magstep1     \let\elbf=\elevenbf
\let\elrm=\elevenrm
\let\elbf=\elevenbf
 
  \def\str{\penalty-10000\hfilneg\ } %%  line break with right adjust
   \def\nostr{\hfill\penalty-10000\ } %%  line break with ragged right
 
\def\doeack{\footnote{\star}{\leftskip=12pt\hsize 14.4truecm\elrm
            Work supported by Department of Energy contracts
DE--AC02--76ER03069 (MIT),
DE--FG05--84ER40215 (OSU) and   DE--AC03--76SF00515 (SLAC).}}
 
%%%% references
 
\REF\kane{G.L. Kane \etal, \plb {\bf B354} (1995) 350.}
 
\REF\ext{
M. Bastero-Gil, B. Brahmachari, \prd {\bf D54} (1996) 1063.\nextline
B. Brahmachari, R. Mohapatra, Int. J. Mod. Phys. {\bf A11} (1996) 1699.
\nextline
J. Ellis, J.L. Lopez, D.V. Nanopoulos, \plb {\bf B371} (1996) 65.
\nextline
J. K. Kim \etal, \prd {\bf D53} (1996) 1712.\nextline
P.H. Frampton \etal, preprint  (1995).}
 
\REF\shif{See \eg: M. Shifman, Mod. Phys. Lett. {\bf A10} No. 7 (1995)
605.}
 
\REF\pnb{P.N. Burrows, SLAC-PUB-7293; to appear in Proc. Int.
Symposium on Radiative Corrections, Cracow, 1996.}
 
%\REF\bryan{B.R. Webber, Proc. XXVII International Conference on High
%Energy Physics, July 20-27 1994, Glasgow, Scotland, IoP Publishing,
%Eds. P.J. Bussey, I.G. Knowles, p. 213.}
 
\REF\bm{P.N. Burrows, H. Masuda, \zpc {\bf C63} (1994) 235.}
 
\REF\bmmo{P.N. Burrows \etal, \plb {\bf B382} (1996) 157.}
 
\REF\ert{R.K. Ellis, D.A. Ross, A.E. Terrano, Phys. Rev. Lett. {\bf 45}
(1980) 1226; Nucl. Phys. {\bf B178} (1981) 421.\nextline
G. Kramer, B. Lampe, Z. Phys. {\bf C39} (1988) 101; Fortschr.
Phys. {\bf 37} (1989) 161.}
 
\REF\kn{Z.~Kunszt \etal, CERN 89--08 Vol I, (1989) p. 373.}
 
\REF\opalalp{OPAL Collab., P.D. Acton \etal, \zpc {\bf C55} (1992) 1.}
 
\REF\sldalp{SLD Collab., K. Abe \etal, \prd {\bf D51} (1995) 962.}
 
\REF\pms{P.M. Stevenson, \prd {\bf D23} (1981) 2916.}
 
\REF\fac{G. Grunberg, \prd {\bf D29} (1984) 2315.}
 
\REF\blm{S.J. Brodsky, G.P. Lepage, P.B. Mackenzie, \prd {\bf D28}
(1983) 228.}
 
\REF\sam{M.A. Samuel, G. Li, E. Steinfelds, \prd {\bf D48} (1993) 869.}
 
\REF\detail{M.A. Samuel, G. Li, E. Steinfelds, \prd {\bf E51} (1995)
3911.}
 
\REF\pade{See \eg G.A. Baker Jr., `Essentials of \Pade Approximants',
Academic Press, 1975.}
 
\REF\RRtauBj{M.A. Samuel, J. Ellis, M. Karliner,
\prl {\bf 73} (1994) 1207.}
%M.A. Samuel, Int. J. Theor. Phys. {\bf 34} (1995) 1113.}
 
\REF\Bj{J. Ellis \etal, \plb {\bf B366} (1996) 268.}
 
\REF\hiro{H. Masuda, Y. Ohnishi, SLAC-PUB-6560 (1994); subm. to \prd D.}
 
\REF\event{EVENT program supplied by P. Nason.}
 
\REF\had{See \eg, Yu.L. Dokshitzer, G. Marchesini, B.R. Webber,
CERN-TH/95-281 (1995).}
 
\REF\pnbnlc{P.N. Burrows, SLAC-PUB-7093 (1996); To appear in Proc.
Workshop on Physics and Experiments with Linear Colliders,
September 8-12 1995, Morioka-Appi, Iwate, Japan.}
 
 
%\REF\rge{L. Montanet \etal, \prd {\bf D50} (1994) 1297.}
 
%\REF\two{M.A. Samuel, J. Ellis, M. Karliner, \prl {\bf 74} (1995) 4380.}
 
%\REF\four{M.A. Samuel, S.D. Druger, Int. J. Theor. Phys. {\bf 34} (1995)
%903.}
 
%\REF\five{M.A. Samuel, G. Li, Int. J. Theor. Phys. {\bf 33} (1995)
%1461.}
 
%\REF\seven{M.A. Samuel, G. Li, plb {\bf B331} (1994) 114.}
 
%\nopagenumbers
 
%\input eleven.point
\frontpagetrue
 
%\phantom{}
 
{\hfill SLAC--PUB--7222}
 
{\hfill MIT-LNS-96-212}
 
{\hfill September 1996}
 
\vskip 1truecm
 
\title{\bf APPLICATION OF PADE APPROXIMANTS TO
DETERMINATION OF \alpmzsq FROM
HADRONIC EVENT SHAPE OBSERVABLES IN e$^+$e$^-$
ANNIHILATION\doeack}
 
\vskip 1truecm
 
\centerline{P.N. Burrows}
%\centerline{Laboratory for Nuclear Science}
\centerline{Massachusetts Institute of Technology}
\centerline{Cambridge, MA 02139, USA}
 
\vskip .5truecm
 
\centerline{T. Abraha, M. Samuel, E. Steinfelds}
\centerline{Department of Physics}
\centerline{Oklahoma State University}
\centerline{Stillwater, OK 74078, USA}
 
\vskip .5truecm
 
\centerline{H. Masuda}
\centerline{Stanford Linear Accelerator Center}
\centerline{Stanford University, Stanford, CA 94309, USA}
 
\vskip 1truecm
 
\centerline{\bf ABSTRACT}
\noindent
{\elrm
We have applied \Pade approximants to perturbative QCD
calculations of event shape observables in \ep \ra hadrons.
We used the exact \oalpsq prediction and the [0/1] \Pade
approximant to estimate the \oalpc term for 15 observables,
and in each case determined \alpmzsq from comparison with
hadronic \z0 decay data from the SLD experiment.
We found the scatter among the \alpmzsq values to be significantly
reduced compared with the standard \oalpsq determination, implying that
the \Pade method provides at least a partial approximation of
higher-order perturbative contributions to event shape observables.
}
 
\vskip .7truecm
 
\centerline{\it Submitted to Physics Letters B}
 
\vfill
\eject
 
\doublespace
\parskip = 0pt
 
One of the most important tasks in high energy physics is
the precise determination of the strong coupling \alp, conventionally
expressed at the scale of the mass of the \z0 boson,
$M_Z$ $\simeq$ 91.2 GeV. Not only does measurement of \alpmzsq in
different hard processes and at different hard scales $Q$ provide a
fundamental test of the theory of strong interactions, Quantum
Chromodynamics (QCD), but it also allows constraints on
extensions to the Standard Model of elementary particles. For example,
it has been claimed [\kane] that measurements of electroweak observables
can be better described by the Standard Model with \alpmzsq = 0.112 and
the addition of light superpartners, than by the Standard Model alone
with \alpmzsq = 0.123. The latter study, as well as studies of other
possible extensions to the Standard Model [\ext],
have been prompted by claims [\shif] that
recent measurements of \alpmzsq may be grouped into two classes:
those made at
`low-$Q^2$', which tend to cluster at values around 0.112, and
those made at
`high-$Q^2$', which tend to cluster at values around 0.123; for a review
of these measurements see Ref.~[\pnb].
 
Examination of the large set of \alpmzsq measurements reveals that in
fact all are consistent with a `world average'
central value of about 0.117 with an uncertainty of $\pm0.005$
[\pnb], and that their grouping into two supposedly discrepant classes
is arbitrary and not significant. Furthermore, nearly all measurements
are limited by theoretical systematic uncertainties that derive from
lack of knowledge of higher-order perturbative QCD contributions, or of
non-perturbative effects, or both. The effects on \alpmzsq determinations
of such uncalculated contributions have been estimated using
\adhoc procedures, sometimes in different ways by different
experimental collaborations working in similar areas; see \eg
[\bm,\bmmo].
It appears to us premature to speculate on beyond-Standard Model
explanations of \alpmzsq measurements that, within large, dominant and
arbitrarily-estimated theoretical uncertainties,
are consistent with one another. We suggest that a more
rational approach is to reduce the size of the limiting
theoretical uncertainties which may, or may not,
be concealing new physics.
 
Here we consider hadronic event shape observables in \epa, for which
perturbative QCD calculations
have been performed exactly only up to second order in \alp
[\ert,\kn] and have been used extensively by
collaborations at the PETRA, PEP, TRISTAN, SLC, and LEP colliders for
measurement of \alpmzsq~[\pnb]. A large scatter among the
\alpmzsq values derived from different observables has been found
[\opalalp,\sldalp], which can in principle be accounted for
as an effect of the \apriori unknown
higher order contributions in perturbation theory.
A consensus has arisen among experimentalists to estimate the size of
this effect
for each observable from the renormalisation-scale ($\mu$) dependence
of the \alpmzsq values derived from fits of the \oalpsq
calculation to the data,
see \eg [\sldalp], and to quote a corresponding renormalisation
scale uncertainty on \alpmzsq.
Within such uncertainties the
\alpmzsq values from the different observables are found to be
consistent, but this (arbitrary) procedure naturally leads to a large
uncertainty on the final \alpmzsq averaged over all observables;
for example, using 15 observables the SLD Collaboration determined
[\sldalp]:
$$
\alpmzsq \quad = \quad 0.1226 \pm0.0025\;{\rm (exp.)} \pm 0.0109\;
{\rm (theor.)}
\eqno\eq
$$
where the theoretical uncertainty is dominated by the contribution
of $\pm 0.0106$ from the renormalisation scale variation.
 
The best resolution of this situation would be to calculate the
observables to higher order in perturbation theory, a difficult and
unattractive task that has not yet been achieved. In the absence of
\oalpc QCD calculations it has been suggested [\pms,\fac,\blm]
that the \oalpsq calculation for each observable
can be `optimised' by choosing a specific value of the
renormalisation scale. It has recently been shown [\bmmo] that such
optimised scale
choices do not serve to reduce the scatter among the \alpmzsq values
determined from different observables, which implies that they do not
reduce the size of the contributions from the uncalculated higher orders.
 
Here we employ an approach for estimating the \oalpc
contributions to, as well as the sum of, the perturbative QCD series for
event shape observables in \epa.
The method makes use of \Pade Approximants (PA). The PA method
has been applied to estimate coefficients in perturbative quantum field
theory and statistical physics [\sam] and
is outlined in detail in Ref.~[\detail]. We give a brief review here.
 
The PA $[N/M]$ to the series:
$$
S\quad=\quad S_0\;+\;S_1 x \;+\;S_2 x^2 \;+\; \ldots \; +\;
S_{N+M} x^{N+M}
\eqno\eq
$$
is defined [\pade]:
$$
[N/M]\quad\equiv\quad {a_0 + a_1 x + a_2 x^2 + \ldots + a_N x^N \over
{1 + b_1 x + b_2 x^2 + \ldots + b_M x^M}},
\eqno\eq
$$
where $N$ and $M$ are integers such that $N\geq 0$ and $M>0$, and
$$
[N/M]\quad=\quad S + O(x^{N+M+1}).
\eqno\eq
$$
The coefficients $a_i$ ($0\leq i\leq N$) and $b_j$ ($1\leq j\leq M$)
are obtained by multiplying Eq.~4 by the denominator of
Eq.~3 and equating coefficients of like powers of $x$.
By consideration of the terms of O$(x^{N+M+1})$ one can obtain an
estimate of the coefficient $S_{N+M+1}$. Furthermore,
for an asymptotic series $[N/M]$ can be taken to be an estimate of the
sum of the series to all orders; we refer to this as the \Pade sum (PS).
 
Recently this method has been applied to estimate the \oalpc term in
the perturbative QCD prediction for the inclusive
quantities $R$ = $\sigma (e^+e^-\rightarrow
$ hadrons)/$\sigma(e^+e^-\rightarrow\mu^+\mu^-)$, $R_{\tau}$ =
$\Gamma(\tau$\ra$\nu$ hadrons)/
$\Gamma(\tau$\ra$e\overline{\nu}_e\nu_{\tau})$ and the
Bjorken sum rule in deep inelastic scattering [\RRtauBj]. In each case
the PA estimate is in good agreement with the exact calculation of
the \oalpc term, which is remarkable since the method does not
involve knowledge of strong interaction dynamics. Based upon this
success PA estimates have also been made of \oalpf terms for the
same quantities [\RRtauBj,\Bj].
 
In the case of \epa into hadronic final states the perturbative
QCD prediction for an infra-red- and collinear-safe observable
$X$ can be written:
$$
{1\over \sigma} {d\sigma\over dX}(X,\mu)
=
\overline{\alpha_s}(\mu)A(X)+
\overline{\alpha_s}^2(\mu)\;B(X,\mu)+
\overline{\alpha_s}^3(\mu)\;C(X,\mu)+
O(\overline{\alpha_s}^4(\mu))
\eqno\eq
$$
where $\alpbar\equiv\alpha_s/2\pi$. To date only the leading and
next-to-leading coefficients $A(X)$ and $B(X,\mu)$ have been
calculated [\ert,\kn].
Throughout this paper we set the renormalisation scale $\mu$ to
the so-called physical value $\mu=Q=\sqrt{s}$;
in this case the $\mu$-dependence
of the beyond-leading coefficients $B$, $C$, $\ldots$ vanishes.
 
We have employed the 15 hadronic event shape
observables used in the recent \alpmzsq
determination by the SLD Collaboration [\sldalp], namely
1$-$thrust ($\tau$), oblateness ($O$), the $C$-parameter ($C$),
normalised heavy jet mass ($\rho$),
total jet broadening ($B_T$), wide jet broadening ($B_W$),
the differential 2-jet rate defined using the E, E0, P, P0, D and G
algorithms ($D_2^E$, $D_2^{E0}$, $D_2^P$, $D_2^{P0}$, $D_2^D$ and
$D_2^G$ respectively), energy-energy correlations ($EEC$) and their
asymmetry ($AEEC$), and the Jet Cone Energy Fraction ($JCEF$) [\hiro].
Distributions of these 15 event shape observables were
measured [\sldalp] using a sample of approximately 50,000
hadronic \z0 decay events.
The data were corrected for detector
bias effects such as acceptance, resolution, and inefficiency, as well
as for the effects of initial-state radiation and
hadronisation, to arrive at `parton-level'
distributions, which can be compared directly with the QCD calculations.
 
For each observable $X$ we employed the EVENT program [\event] to
calculate the coefficients $A(X)$ and $B(X)$
in Eq.~5. These coefficients are listed in Table 1
for a representative value of each observable. In each case
it can be seen that the next-to-leading
coefficient $B$ is typically an order of magnitude larger than the
leading coefficient $A$. At first sight this appears to make the
perturbative approach invalid; it should be noted, however, that
the ratio of next-to-leading to leading terms in Eq.~5 contains
an additional factor of \alpbar, which is about 1/52 for
\alpmzsq = 0.12,
so that in all cases the next-to-leading term is smaller than
the leading term.
 
By explicitly separating an overall factor of \alpbar on the r.h.s.
of Eq.~5 and comparing with the form of Eq.~2
the PA [0/1] can be defined for the series.
For each bin of each observable, by consideration of the PA $[0/1]$
we derived an estimate of the
%$$
%[0/1](X)\quad=\quad {A(X)^2 \alpbar \over A(X) - \alpbar B(X)}.
%\eqno\eq
%$$
%For each observable we
%fitted this calculation simultaneously to all bins in the
%selected range [\sldalp] by minimising $\chi^2$ w.r.t. variation
%of \alpmzsq. The resulting \alpmzsq and $\chi^2_{dof}$ values are
%listed in Table~2.
coefficient $C(X)$ of the next-to-next-to-leading term
in the series:
$$
C(X)\quad=\quad{B(X)^2 \over{A(X)}}.
\eqno\eq
$$
Examples of the predictions for $C(X)$ are given in Table 1.
It follows from Eq.~6 that $C(X)\;\geq\;0$ and that the ratios
$C(X)/B(X)$ and $B(X)/A(X)$ are equal.
For each bin of each observable we added the PA prediction for
the \oalpc term to the exact \oalpsq calculation to obtain an estimate
of the series to \oalpc. For each observable we then
fitted these calculations simultaneously to all bins in the
selected range of the data [\sldalp]
by minimising $\chi^2$ w.r.t. variation
of \alpmzsq. The resulting \alpmzsq and $\chi^2_{dof}$ values
are shown in Table 2.
 
It should be noted that the \oalpc estimate does not provide a good fit
to the $B_T$ data, as indicated by the large $\chi^2_{dof}$ value
(Table~2). It is perhaps significant that this observable
shows a large renormalisation scale uncertainty on \alpmzsq
determined at \oalpsq [\sldalp], and has a very
large ratio of next-to-leading to leading order coefficients (Table 1),
both implying that beyond-next-to-leading order contributions may be
large. Furthermore, the latter suggests that
the PA [0/1] estimate of the next-to-next-to-leading order
coefficient may be neither reliable, nor sufficient to describe the data
as is observed. In the following discussion
we therefore exclude $B_T$ and restrict the analysis to the remaining
14 observables; however, we indicate in footnotes to the text
any relevant changes in results if $B_T$ is included.
 
The \alpmzsq values are shown in Fig.~1, together with the
corresponding values from the \oalpsq analysis of the SLD data with
$\mu=\sqrt{s}$ [\bmmo]. For each observable
it can be seen that the \alpmzsq value derived using the \oalpc
estimate is lower than that derived using the \oalpsq calculation,
which is expected since $C(X)$ is positive.
Also shown for each observable is the total uncertainty
on \alpmzsq from the SLD \oalpsq study [\sldalp], which is
dominated by the renormalisation scale variation. In each case
the \oalpc \alpmzsq value lies near the lower bound given by the scale
uncertainty on the \oalpsq result.
To the extent that the PA \oalpc estimate is accurate, this
implies that the uncertainty assigned to the \oalpsq \alpmzsq value
from each observable due to variation of the renormalisation scale is a
reasonable estimate of the effect of the missing \oalpc contribution.
 
Furthermore, it can be seen from Fig.~1 that
the scatter among the \alpmzsq values is noticeably smaller in
the \oalpc case.
Taking an unweighted average\footnote{1}{Weighted averages
using experimental errors [\sldalp]
yield mean \alpmzsq values consistent with the respective
unweighted averages within the statistical error on a single \alpmzsq
value.} and r.m.s. deviation over
each set of 14 \alpmzsq values yields
\footnote{2}{Including $B_T$ and averaging over 15 observables yields
$\alpmzsq = 0.1265\;\pm\;0.0076$ (\oalpsq) and
$\alpmzsq = 0.1139\;\pm\;0.0045$ (\oalpc).}:
$$
\alpmzsq \quad=\quad 0.1255\;\pm\;0.0070\qu \qu (\oalpsq)
\eqno\eq
$$
$$
\alpmzsq \quad=\quad 0.1147\;\pm\;0.0035\qu \qu (\oalpc),
\eqno\eq
$$
implying that the inclusion of \oalpc terms causes a reduction
in the central value of \alpmzsq at $\mu$ = $\sqrt{s}$
by approximately 0.011, and that the residual scatter among the \oalpc
\alpmzsq values,
presumably due to missing \oalpf terms, is approximately $\pm0.0035$,
which is comparable with the combined experimental error
and hadronisation uncertainty
on a single observable measured at $Q$ = $M_Z$ [\sldalp].
Since the accuracy of the \Pade Approximant method can only be verified
\apost, exact calculation of the \oalpc terms in order
to confirm these results would be extremely desirable.
 
We also used the PS [0/1] as an estimate of the sum of the
asymptotic series and extracted \alpmzsq by comparison with the data in
a similar manner. The \alpmzsq values are shown in
Fig.~1. Typically, for each observable, the PS \alpmzsq value is close
to the \oalpc value.
Again the fit to $B_T$ is very poor, and we omit it from the
following main discussion. Taking an unweighted average and r.m.s.
deviation over the set of 14 \alpmzsq values
yields\footnote{3}{Including $B_T$ and averaging over 15 observables
yields $\alpmzsq = 0.1136\;\pm\;0.0068$.}:
$$
\alpmzsq \quad=\quad 0.1148\;\pm\;0.0052\qu \qu ({\rm PS}).
\eqno\eq
$$
Though the average value is close to that obtained using the PA \oalpc
estimate, the r.m.s. deviation is somewhat larger,
implying that the PS [0/1] provides
a poorer estimate of the sum of the series than the PA [0/1] estimate
to \oalpc.
 
Other interesting features are apparent from Fig.~1. Several
observables yield noticeably larger scale uncertainty at \oalpsq,
namely $\tau$, $B_T$, $O$, $C$, $D_2^{E}$ and EEC, which is an
indication of potentially large contributions at \oalpc that is
supported by the PA and PS [0/1] estimates.
If these are omitted from consideration the remaining set of
observables
%that have the smallest scale uncertainty,
%$D_2^P$, $D_2^{P0}$, $D_2^D$, $D_2^{G}$, AEEC and JCEF,
yields average and r.m.s. \alpmzsq values of
$0.1212\pm0.0044$ (\oalpsq analysis),
$0.1131\pm0.0028$ (\oalpc analysis) and
$0.1155\pm0.0025$ (PS analysis).
Though the selection of this subset is arbitrary, it is perhaps
noteworthy that both \Pade-derived \alpmzsq values are close to the
corresponding values [\bmmo] obtained with \oalpsq calculations and
`PMS' [\pms] and `FAC' [\fac] optimised scales,
$0.1146\pm0.0025$ and $0.1148\pm0.0025$ respectively,
and that the scatter is similarly small
\footnote{4}{Significantly larger scatter is obtained with
the `BLM' scale choice: \alpmzsq = $0.1082\pm0.0091$.}.
 
In summary, we have applied \Pade approximants to the determination of
\alpmzsq from hadronic event shape observables in \epa. We applied the
PA [0/1] to the \oalpsq perturbative QCD series for 15 observables
to obtain estimates of the \oalpc coefficients, and then fitted the
extended series to SLD data to determine \alpmzsq.
With the renormalisation scale fixed to the c.m. energy
the scatter (neglecting $B_T$) among the \alpmzsq values was
reduced from $\pm0.0070$ (\oalpsq) to $\pm0.0035$ (\oalpc),
and the central value of \alpmzsq was lowered by 0.011.
If the scatter is interpreted
as arising from missing higher-order contributions, the
reduction in scatter implies that the \Pade method provides at least a
partial approximation of higher-order perturbative QCD contributions to
event shape observables. Furthermore,
if the \Pade-estimated \oalpc terms are accurate, this result implies
that residual \oalpf terms
contribute to \alpmzsq at the level of $\pm0.0035$, which is
comparable with
current experimental and hadronisation uncertainties.
 
These results based on \Pade approximants are tantalising,
but they can only be verified upon completion of a full perturbative
QCD calculation at \oalpc, which we strongly encourage.
One could then apply the [0/2] or [1/1] \Pade
approximants to the \oalpc series in order to estimate the size of
\oalpf contributions.
Since the accuracy of the \Pade method in predicting
unknown perturbation series coefficients is expected to improve with
increasing order of the known terms, it can be argued that the
estimated \oalpf coefficients would be expected to be more accurate
than the estimates of \oalpc coefficients presented
here\footnote{5}{See Refs.~[\RRtauBj,\Bj] for \oalpf estimates
for $R$, $R_{\tau}$ and the Bjorken sum rule.}. Combined with recent
theoretical progress in understanding hadronisation effects in terms of
`power corrections' [\had], it may
then be plausible to expect that \alpmzsq measurements at the 1\%-level
of precision could be achieved at future high-energy
\ep colliders [\pnbnlc].
 
We thank D. Muller and Y. Ohnishi for helpful contributions, and also
S.~Brodsky, L.~Dixon and T.~Rizzo for comments on the manuscript.
P.N.B. thanks Lawrence Morland for useful discussions concerning \Pade
approximants.
 
\refout
 
 
\vfill\eject
 
\phantom{}
 
\vskip 1truecm
 
\begintable
Observable         | value $X$ | $A(X)$ | $B(X)$ | $B(X)/A(X)$ |
$C(X)$ \cr
$\tau$             |  0.18     | 23.93  | 711.1  | 29.7 | 21130
 \nr
$\rho$             |  0.15     | 36.55  | 624.5  | 17.1 | 10670
 \nr
$B_T$              |  0.23     | 21.69  | 1042   | 48.0 | 50020
 \nr
$B_W$              |  0.14     | 82.16  | 1402   | 17.1 | 23940
 \nr
$O$                |  0.21     | 71.27  | $-$363.0 | $-$5.09 | 1848
\nr
$C$                |  0.46     | 18.89  | 518.9  | 27.8 | 14260
 \nr
$y_c$ ($D_2^E$)    |  0.17     | 38.84  | 1217   | 31.3 | 38140
 \nr
$y_c$ ($D_2^{E0}$) |  0.17     | 38.84  | 822.1  | 21.2 | 17400
 \nr
$y_c$ ($D_2^P$)    |  0.12     | 78.10  | 1029   | 13.2 | 13550
 \nr
$y_c$ ($D_2^{P0}$) |  0.17     | 38.84  | 601.6  | 15.5 | 9318
\nr
$y_c$ ($D_2^D$)    |  0.12     | 33.10  | 490.6  | 14.8 | 7271
\nr
$y_c$ ($D_2^G$)    |  0.22     | 37.93  | 412.7  | 10.9 | 4489
\nr
$\chi$ ($EEC$)     |  91.8$^\circ$ | 2.460  | 44.23  | 18.0 | 795
\nr
$\chi$ ($AEEC$)    |  41.4$^\circ$ | 2.682  | 22.74  | 8.48 | 193
\nr
$\chi$ ($JCEF$)    | 131.4$^\circ$ | 5.196  | 50.97  | 9.81 | 500
\endtable
 
\vskip .5truecm
 
\noindent
Table 1.~
Perturbative QCD calculation of  $1/\sigma d\sigma/dX$ for each
observable (first column) at a representative value $X$ (second column).
The third and fourth columns show the leading and
next-to-leading order coefficients, respectively.
The ratio of coefficients is shown in the fifth column, and
the PA [0/1] prediction for the next-to-next-to-leading order
coefficient $C(X)$ is listed in the sixth column.
 
\vfill\eject
 
\phantom{}
 
\vskip 1truecm
 
\begintable
%                  | \multispan{4}{$\quad\quad\quad$ Method} \nr
%                  | \multispan{2}{$\quad\quad$ [0/1] PA \oalpc}    |
%                    \multispan{2}{$\quad\quad$ [0/1] PS}    \cr
Observable | \alpmzsq | $\chi^2_{dof}$
%| \alpmzsq | $\chi^2_{dof}$
\cr
$\tau$     | $0.1172\pm$0.0009 | 0.6
%| $0.1064\pm0.0008$ | 11.6
\nr
$\rho$     | $0.1183\pm$0.0007 | 0.9
%| $0.1194\pm0.0008$ | 0.6
\nr
$B_T$      | $0.1031\pm$0.0009 | 112
%| $0.0964\pm0.0008$ | 115
\nr
$B_W$      | $0.1143\pm$0.0008 | 1.6
%| $0.1164\pm0.0008$ | 1.0
\nr
$O$        | $0.1230\pm$0.0011 | 0.6
%| $0.1282\pm0.0013$ | 0.6
\nr
$C$        | $0.1158\pm$0.0008 | 2.7
%| $0.1103\pm0.0009$ | 6.3
\nr
$D_2^E$    | $0.1164\pm$0.0006 | 6.4
\nr
$D_2^{E0}$ | $0.1105\pm$0.0007 | 3.5
%| $0.1113\pm0.0007$ | 2.7
\nr
$D_2^P$    | $0.1144\pm$0.0008 | 0.8
%| $0.1173\pm0.0008$ | 0.9
\nr
$D_2^{P0}$ | $0.1122\pm$0.0009 | 3.4
%| $0.1145\pm0.0009$ | 4.1
\nr
$D_2^D$    | $0.1156\pm$0.0011 | 4.0
%| $0.1177\pm0.0011$ | 4.0
\nr
$D_2^G$    | $0.1122\pm$0.0008 | 3.9
%| $0.1155\pm0.0008$ | 3.7
\nr
$EEC$      | $0.1154\pm$0.0008 | 0.4
%| $0.1150\pm0.0008$ | 0.7
\nr
$AEEC$     | $0.1082\pm$0.0012 | 0.4
%| $0.1116\pm0.0012$ | 0.3
\nr
$JCEF$     | $0.1124\pm$0.0007 | 0.2
%| $0.1154\pm0.0007$ | 0.2
\endtable
 
\vskip .5truecm
 
\noindent
Table 2.~Values of \alpmzsq and $\chi^2_{dof}$
from fits of QCD predictions
incorporating the PA [0/1] estimate for the \oalpc term.
The errors are statistical only and are highly correlated between
observables.
%(second and third columns) and
%the [0/1] PS estimate for the sum of the asymptotic series (fourth and
%fifth columns). The errors on \alpmzsq are statistical only and are
%highly correlated between observables.
 
\vfill\eject
 
\noindent{\bf Figure Caption}
 
\vskip .5truecm
 
\noindent
FIG.~1. Values of \alpmzsq determined from fits to event shape
observables (see text): (a)
\oalpsq$\;$(circles); (b) \oalpc estimate (squares);
(c) \Pade sum (PS) (crosses). The shaded band shown
for each observable is dominated by
the renormalisation scale uncertainty on the \oalpsq fit.
For each point combined experimental statistical and systematic errors
[\sldalp] are shown; the errors are highly correlated between
observables.
 
\bye
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
%%%   This is PHYZZX macro package.   % % % % % % % % % % % % % % % % %
%% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
%%%  This version of PHYZZX should be used with Version >1.0 of TEX % %
%% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
%%%   To preload both PLAIN and PHYZZX, begin your file with    % % % %
%%%  a line "%macropackage=phyzzx" instead of "\input phyzzx".  % % % %
%% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%  Created by Vadim Kaplunovsky in June 1984.   %%%%%%%%%%%%%%%%%%
% % % % % % % % % % % %% % % % % % % % % % % % % % % % % % % % % % % %
%%%%%%%%%%%%  Latest update/debug: April 27, 1988   %%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
\expandafter\ifx\csname phyzzx\endcsname\relax
 \message{It is better to use PHYZZX format than to
          \string\input\space PHYZZX}\else
 \wlog{PHYZZX macros are already loaded and are not
          \string\input\space again}%
 \endinput \fi
%
\catcode`\@=11 % This allows us to modify PLAIN macros.
%
\let\rel@x=\relax
\let\n@expand=\relax
\def\pr@tect{\let\n@expand=\noexpand}
\let\protect=\pr@tect
\let\gl@bal=\global
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% First, I define fonts and basic spacing parameters
%
\newfam\cpfam
%
\newdimen\b@gheight             \b@gheight=12pt
\newcount\f@ntkey               \f@ntkey=0
\def\f@m{\afterassignment\samef@nt\f@ntkey=}
\def\samef@nt{\fam=\f@ntkey\the\textfont\f@ntkey\rel@x}
\def\setstr@t{\setbox\strutbox=\hbox{\vrule height 0.85\b@gheight
                                depth 0.35\b@gheight width\z@ }}
%
\input phyzzx.fonts
% Actual font definitions are kept in a separate file
% to facilitate font substitution.
%
\def\rm{\n@expand\f@m0 }
\def\mit{\n@expand\f@m1 }         \let\oldstyle=\mit
\def\cal{\n@expand\f@m2}
\def\it{\n@expand\f@m\itfam}
\def\sl{\n@expand\f@m\slfam}
\def\bf{\n@expand\f@m\bffam}
\def\tt{\n@expand\f@m\ttfam}
\def\caps{\n@expand\f@m\cpfam}    \let\cp=\caps
\def\em@{\rel@x\ifnum\f@ntkey=0\it\else
        \ifnum\f@ntkey=\bffam\it\else\rm\fi \fi }
\def\em{\n@expand\em@}
%
\def\fourteenpoint{\fourteenf@nts \samef@nt \b@gheight=14pt \setstr@t }
\def\twelvepoint{\twelvef@nts \samef@nt \b@gheight=12pt \setstr@t }
\def\tenpoint{\tenf@nts \samef@nt \b@gheight=10pt \setstr@t }
%
%
\normalbaselineskip = 20pt plus 0.2pt minus 0.1pt
\normallineskip = 1.5pt plus 0.1pt minus 0.1pt
\normallineskiplimit = 1.5pt
\newskip\normaldisplayskip
\normaldisplayskip = 20pt plus 5pt minus 10pt
\newskip\normaldispshortskip
\normaldispshortskip = 6pt plus 5pt
\newskip\normalparskip
\normalparskip = 6pt plus 2pt minus 1pt
\newskip\skipregister
\skipregister = 5pt plus 2pt minus 1.5pt
%
\newif\ifsingl@
\newif\ifdoubl@
\newif\iftwelv@  \twelv@true
%
\def\singlespace{\singl@true\doubl@false\spaces@t}
\def\doublespace{\singl@false\doubl@true\spaces@t}
\def\normalspace{\singl@false\doubl@false\spaces@t}
\def\Tenpoint{\tenpoint\twelv@false\spaces@t}
\def\Twelvepoint{\twelvepoint\twelv@true\spaces@t}
%
\def\spaces@t{\rel@x
      \iftwelv@ \ifsingl@\subspaces@t3:4;\else\subspaces@t1:1;\fi
       \else \ifsingl@\subspaces@t3:5;\else\subspaces@t4:5;\fi \fi
      \ifdoubl@ \multiply\baselineskip by 5
         \divide\baselineskip by 4 \fi }
%
\def\subspaces@t#1:#2;{
      \baselineskip = \normalbaselineskip
      \multiply\baselineskip by #1 \divide\baselineskip by #2
      \lineskip = \normallineskip
      \multiply\lineskip by #1 \divide\lineskip by #2
      \lineskiplimit = \normallineskiplimit
      \multiply\lineskiplimit by #1 \divide\lineskiplimit by #2
      \parskip = \normalparskip
      \multiply\parskip by #1 \divide\parskip by #2
      \abovedisplayskip = \normaldisplayskip
      \multiply\abovedisplayskip by #1 \divide\abovedisplayskip by #2
      \belowdisplayskip = \abovedisplayskip
      \abovedisplayshortskip = \normaldispshortskip
      \multiply\abovedisplayshortskip by #1
        \divide\abovedisplayshortskip by #2
      \belowdisplayshortskip = \abovedisplayshortskip
      \advance\belowdisplayshortskip by \belowdisplayskip
      \divide\belowdisplayshortskip by 2
      \smallskipamount = \skipregister
      \multiply\smallskipamount by #1 \divide\smallskipamount by #2
      \medskipamount = \smallskipamount \multiply\medskipamount by 2
      \bigskipamount = \smallskipamount \multiply\bigskipamount by 4 }
%
\def\normalbaselines{ \baselineskip=\normalbaselineskip
   \lineskip=\normallineskip \lineskiplimit=\normallineskip
   \iftwelv@\else \multiply\baselineskip by 4 \divide\baselineskip by 5
     \multiply\lineskiplimit by 4 \divide\lineskiplimit by 5
     \multiply\lineskip by 4 \divide\lineskip by 5 \fi }
%
\Twelvepoint  % That's the default
%
\interlinepenalty=50
\interfootnotelinepenalty=5000
\predisplaypenalty=9000
\postdisplaypenalty=500
\hfuzz=1pt
\vfuzz=0.2pt
\newdimen\HOFFSET  \HOFFSET=0pt
\newdimen\VOFFSET  \VOFFSET=0pt
\newdimen\HSWING   \HSWING=0pt
\dimen\footins=8in
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%   Next, I define output routines, footnotes & related stuff.
%
\newskip\pagebottomfiller
\pagebottomfiller=\z@ plus \z@ minus \z@
%
\def\pagecontents{
   \ifvoid\topins\else\unvbox\topins\vskip\skip\topins\fi
   \dimen@ = \dp255 \unvbox255
   \vskip\pagebottomfiller
   \ifvoid\footins\else\vskip\skip\footins\footrule\unvbox\footins\fi
   \ifr@ggedbottom \kern-\dimen@ \vfil \fi }
%
\def\makeheadline{\vbox to 0pt{ \skip@=\topskip
      \advance\skip@ by -12pt \advance\skip@ by -2\normalbaselineskip
      \vskip\skip@ \line{\vbox to 12pt{}\the\headline} \vss
      }\nointerlineskip}
\def\makefootline{\baselineskip = 1.5\normalbaselineskip
                 \line{\the\footline}}
%
\newif\iffrontpage
\newif\ifp@genum
\def\nopagenumbers{\p@genumfalse}
\def\pagenumbers{\p@genumtrue}
\pagenumbers
%
\newtoks\paperheadline
\newtoks\paperfootline
\newtoks\letterheadline
\newtoks\letterfootline
\newtoks\letterinfo
\newtoks\date
%
\paperheadline={\hfil}
\paperfootline={\hss\iffrontpage\else\ifp@genum\tenrm\folio\hss\fi\fi}
\letterheadline{\iffrontpage \hfil \else
    \rm \ifp@genum page~~\folio\fi \hfil\the\date \fi}
\letterfootline={\iffrontpage\the\letterinfo\else\hfil\fi}
\letterinfo={\hfil}
%
\def\monthname{\rel@x\ifcase\month 0/\or January\or February\or
   March\or April\or May\or June\or July\or August\or September\or
   October\or November\or December\else\number\month/\fi}
\def\today{\monthname~\number\day, \number\year}
\date={\today}
%
\headline=\paperheadline % The default is
\footline=\paperfootline % \papers
%
\countdef\pageno=1      \countdef\pagen@=0
\countdef\pagenumber=1  \pagenumber=1
\def\advancepageno{\gl@bal\advance\pagen@ by 1
   \ifnum\pagenumber<0 \gl@bal\advance\pagenumber by -1
    \else\gl@bal\advance\pagenumber by 1 \fi
    \gl@bal\frontpagefalse  \swing@ }
%
\def\folio{\ifnum\pagenumber<0 \romannumeral-\pagenumber
           \else \number\pagenumber \fi }
%
\def\swing@{\ifodd\pagenumber \gl@bal\advance\hoffset by -\HSWING
             \else \gl@bal\advance\hoffset by \HSWING \fi }
%
\def\footrule{\dimen@=\prevdepth\nointerlineskip
   \vbox to 0pt{\vskip -0.25\baselineskip \hrule width 0.35\hsize \vss}
   \prevdepth=\dimen@ }
%
\let\footnotespecial=\rel@x
\newdimen\footindent
\footindent=24pt
\def\Textindent#1{\noindent\llap{#1\enspace}\ignorespaces}
%
\def\Vfootnote#1{\insert\footins\bgroup
   \interlinepenalty=\interfootnotelinepenalty \floatingpenalty=20000
   \singl@true\doubl@false\Tenpoint
   \splittopskip=\ht\strutbox \boxmaxdepth=\dp\strutbox
   \leftskip=\footindent \rightskip=\z@skip
   \parindent=0.5\footindent \parfillskip=0pt plus 1fil
   \spaceskip=\z@skip \xspaceskip=\z@skip \footnotespecial
   \Textindent{#1}\footstrut\futurelet\next\fo@t}
%
\def\Footnote#1{\attach{${#1}$}\Vfootnote{#1}}
\def\vfootnote#1{\Vfootnote{${#1}$}}
\def\footnote#1{\attach{#1}\vfootnote{#1}}
\def\footattach{\attach\footsymbol}
\def\foot{\attach\footsymbolgen\vfootnote{\footsymbol}}
\let\footsymbol=\star
%
\newcount\lastf@@t           \lastf@@t=-1
\newcount\footsymbolcount    \footsymbolcount=0
\newif\ifPhysRev
%
\def\footsymbolgen{\bumpfootsymbolcount \generatefootsymbol \footsymbol }
%
\def\bumpfootsymbolcount{\rel@x
   \iffrontpage \bumpfootsymbolpos \else \advance\lastf@@t by 1
     \ifPhysRev \bumpfootsymbolneg \else \bumpfootsymbolpos \fi \fi
   \gl@bal\lastf@@t=\pagen@ }
\def\bumpfootsymbolpos{\ifnum\footsymbolcount <0
                            \gl@bal\footsymbolcount =0 \fi
    \ifnum\lastf@@t<\pagen@ \gl@bal\footsymbolcount=0
     \else \gl@bal\advance\footsymbolcount by 1 \fi }
\def\bumpfootsymbolneg{\ifnum\footsymbolcount >0
             \gl@bal\footsymbolcount =0 \fi
         \gl@bal\advance\footsymbolcount by -1 }
%
\def\fd@f#1 {\xdef\footsymbol{\mathchar"#1 }}
\def\generatefootsymbol{\ifcase\footsymbolcount \fd@f 13F \or \fd@f 279
        \or \fd@f 27A \or \fd@f 278 \or \fd@f 27B \else
        \ifnum\footsymbolcount <0 \fd@f{023 \number-\footsymbolcount }
         \else \fd@f 203 {\loop \ifnum\footsymbolcount >5
                \fd@f{203 \footsymbol } \advance\footsymbolcount by -1
                \repeat }\fi \fi }
 
%
\def\nonfrenchspacing{\sfcode`\.=3001 \sfcode`\!=3000 \sfcode`\?=3000
        \sfcode`\:=2000 \sfcode`\;=1500 \sfcode`\,=1251 }
\nonfrenchspacing
\newdimen\d@twidth
{\setbox0=\hbox{s.} \gl@bal\d@twidth=\wd0 \setbox0=\hbox{s}
        \gl@bal\advance\d@twidth by -\wd0 }
\def\removehglue{\loop \unskip \ifdim\lastskip >\z@ \repeat }
\def\roll@ver#1{\removehglue \nobreak \count255 =\spacefactor \dimen@=\z@
        \ifnum\count255 =3001 \dimen@=\d@twidth \fi
        \ifnum\count255 =1251 \dimen@=\d@twidth \fi
    \iftwelv@ \kern-\dimen@ \else \kern-0.83\dimen@ \fi
   #1\spacefactor=\count255 }
\def\step@ver#1{\rel@x \ifmmode #1\else \ifhmode
        \roll@ver{${}#1$}\else {\setbox0=\hbox{${}#1$}}\fi\fi }
\def\attach#1{\step@ver{\strut^{\mkern 2mu #1} }}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%   Here come chapter, section, subsection & appendix macros.
%
\newcount\chapternumber      \chapternumber=0
\newcount\sectionnumber      \sectionnumber=0
\newcount\equanumber         \equanumber=0
\let\chapterlabel=\rel@x
\let\sectionlabel=\rel@x
\newtoks\chapterstyle        \chapterstyle={\Number}
\newtoks\sectionstyle        \sectionstyle={\Number}
\newskip\chapterskip         \chapterskip=\bigskipamount
\newskip\sectionskip         \sectionskip=\medskipamount
\newskip\headskip            \headskip=8pt plus 3pt minus 3pt
\newdimen\chapterminspace    \chapterminspace=15pc
\newdimen\sectionminspace    \sectionminspace=10pc
\newdimen\referenceminspace  \referenceminspace=20pc
%
\newif\ifcn@                 \cn@true
\newif\ifcn@@                \cn@@false
\def\numberedchapters{\cn@true}
\def\unnumberedchapters{\cn@false\sequentialequations}
%
\def\chapterreset{\gl@bal\advance\chapternumber by 1
   \ifnum\equanumber<0 \else\gl@bal\equanumber=0\fi
   \sectionnumber=0 \let\sectionlabel=\rel@x
   \ifcn@ \gl@bal\cn@@true {\pr@tect
       \xdef\chapterlabel{\the\chapterstyle{\the\chapternumber}}}%
    \else \gl@bal\cn@@false \gdef\chapterlabel{\rel@x}\fi }
%
\def\@alpha#1{\count255='140 \advance\count255 by #1\char\count255}
 \def\alphabetic{\n@expand\@alpha}
\def\@Alpha#1{\count255='100 \advance\count255 by #1\char\count255}
 \def\Alphabetic{\n@expand\@Alpha}
\def\@Roman#1{\uppercase\expandafter{\romannumeral #1}}
 \def\Roman{\n@expand\@Roman}
\def\@roman#1{\romannumeral #1}    \def\roman{\n@expand\@roman}
\def\@number#1{\number #1}         \def\Number{\n@expand\@number}
\def\BLANK#1{\rel@x}               \let\BLANC=\BLANK
%
\def\titleparagraphs{\interlinepenalty=9999
     \leftskip=0.03\hsize plus 0.22\hsize minus 0.03\hsize
     \rightskip=\leftskip \parfillskip=0pt
     \hyphenpenalty=9000 \exhyphenpenalty=9000
     \tolerance=9999 \pretolerance=9000
     \spaceskip=0.333em \xspaceskip=0.5em }
\def\titlestyle#1{\par\begingroup \titleparagraphs
     \iftwelv@\fourteenpoint\else\twelvepoint\fi
   \noindent #1\par\endgroup }
%
\def\spacecheck#1{\dimen@=\pagegoal\advance\dimen@ by -\pagetotal
   \ifdim\dimen@<#1 \ifdim\dimen@>0pt \vfil\break \fi\fi}
%
\def\chapter#1{\par \penalty-300 \vskip\chapterskip
   \spacecheck\chapterminspace
   \chapterreset \titlestyle{\ifcn@@\chapterlabel.~\fi #1}
   \nobreak\vskip\headskip \penalty 30000
   {\pr@tect\wlog{\string\chapter\space \chapterlabel}} }
\let\chap=\chapter
%
\def\section#1{\par \ifnum\lastpenalty=30000\else
   \penalty-200\vskip\sectionskip \spacecheck\sectionminspace\fi
   \gl@bal\advance\sectionnumber by 1
   {\pr@tect
   \xdef\sectionlabel{\ifcn@@ \chapterlabel.\fi
       \the\sectionstyle{\the\sectionnumber}}%
   \wlog{\string\section\space \sectionlabel}}%
   \noindent {\caps\enspace\sectionlabel.~~#1}\par
   \nobreak\vskip\headskip \penalty 30000 }
%
\def\subsection#1{\par
   \ifnum\the\lastpenalty=30000\else \penalty-100\smallskip \fi
   \noindent\undertext{#1}\enspace \vadjust{\penalty5000}}
\let\subsec=\subsection
%
\def\undertext#1{\vtop{\hbox{#1}\kern 1pt \hrule}}
%
\def\ACK{\par\penalty-100\medskip \spacecheck\sectionminspace
   \line{\fourteenrm\hfil ACKNOWLEDGEMENTS\hfil}\nobreak\vskip\headskip }
\def\ack{\subsection{Acknowledgements:}}
%
\def\APPENDIX#1#2{\par\penalty-300\vskip\chapterskip
   \spacecheck\chapterminspace \chapterreset \xdef\chapterlabel{#1}
   \titlestyle{APPENDIX #2} \nobreak\vskip\headskip \penalty 30000
   \wlog{\string\Appendix~\chapterlabel} }
\def\Appendix#1{\APPENDIX{#1}{#1}}
\def\appendix{\APPENDIX{A}{}}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%   Here come macros for equation numbering.
%
%\def\eqname#1{\rel@x {\pr@tect
%  \ifnum\equanumber<0 \xdef#1{{\rm(\number-\equanumber)}}%
%     \gl@bal\advance\equanumber by -1
%  \else \gl@bal\advance\equanumber by 1
%   \xdef#1{{\rm(\ifcn@@ \chapterlabel.\fi \number\equanumber)}}\fi
%  }#1}
%
\def\eq{\eqname\?}
\def\eqn{\eqno\eqname}
\def\leqn{\leqno\eqname}
%
\def\eqinsert#1{\noalign{\dimen@=\prevdepth \nointerlineskip
   \setbox0=\hbox to\displaywidth{\hfil #1}
   \vbox to 0pt{\kern 0.5\baselineskip\hbox{$\!\box0\!$}\vss}
   \prevdepth=\dimen@}}
%
\def\leqinsert#1{\eqinsert{#1\hfill}}
\def\mideqn#1{\eqinsert{\eqname{#1}}}
\def\midleqn#1{\leqinsert{\eqname{#1}}}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%   Here come items and lists
%
\def\GENITEM#1;#2{\par \hangafter=0 \hangindent=#1
    \Textindent{$ #2 $}\ignorespaces}
\outer\def\newitem#1=#2;{\gdef#1{\GENITEM #2;}}
%
\let\Item=\item
\newdimen\itemsize                \itemsize=30pt
\newitem\item=1\itemsize;
\newitem\sitem=1.75\itemsize;     \let\subitem=\sitem
\newitem\ssitem=2.5\itemsize;     \let\subsubitem\ssitem
%
\outer\def\newlist#1=#2&#3&#4;{\toks0={#2}\toks1={#3}%
   \count255=\escapechar \escapechar=-1
   \alloc@0\list\countdef\insc@unt\listcount     \listcount=0
   \edef#1{\par
      \countdef\listcount=\the\allocationnumber
      \advance\listcount by 1
      \hangafter=0 \hangindent=#4
      \Textindent{\the\toks0{\listcount}\the\toks1}}
   \expandafter\expandafter\expandafter
    \edef\c@t#1{begin}{\par
      \countdef\listcount=\the\allocationnumber \listcount=1
      \hangafter=0 \hangindent=#4
      \Textindent{\the\toks0{\listcount}\the\toks1}}
   \expandafter\expandafter\expandafter
    \edef\c@t#1{con}{\par \hangafter=0 \hangindent=#4 \noindent}
   \escapechar=\count255}
\def\c@t#1#2{\csname\string#1#2\endcsname}
%
\newlist\point=\Number&.&1.0\itemsize;
\newlist\subpoint=(\alphabetic&)&1.75\itemsize;
\newlist\subsubpoint=(\roman&)&2.5\itemsize;
%
\let\spoint=\subpoint             \let\sspoint=\subsubpoint
\let\spointbegin=\subpointbegin   \let\sspointbegin=\subsubpointbegin
\let\spointcon=\subpointcon       \let\sspointcon=\subsubpointcon
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%   Here come macros for references, figures & tables.
%
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
%%  First, references.
%
\newcount\referencecount     \referencecount=0
\newcount\lastrefsbegincount \lastrefsbegincount=0
\newif\ifreferenceopen       \newwrite\referencewrite
\newdimen\refindent          \refindent=30pt
%
\def\normalrefmark#1{\attach{\scriptscriptstyle [ #1 ] }}
\let\PRrefmark=\attach
\def\NPrefmark#1{\step@ver{{\;[#1]}}}
\def\refmark#1{\rel@x\ifPhysRev\PRrefmark{#1}\else\normalrefmark{#1}\fi}
%
\def\refend@{\refmark{\number\referencecount}}
\def\refend{\refend@{}\space }
\def\refsend{\refmark{\count255=\referencecount
   \advance\count255 by-\lastrefsbegincount
   \ifcase\count255 \number\referencecount
   \or \number\lastrefsbegincount,\number\referencecount
   \else \number\lastrefsbegincount-\number\referencecount \fi}\space }
%
\def\REFNUM#1{\rel@x \gl@bal\advance\referencecount by 1
    \xdef#1{\the\referencecount }}
\def\Refnum#1{\REFNUM #1\refend@ } \let\refnum=\Refnum
\def\REF#1{\REFNUM #1\R@FWRITE\ignorespaces}
\def\Ref#1{\Refnum #1\REFWRITE }
\def\ref{\Ref\?}
\def\REFS#1{\REFNUM #1\gl@bal\lastrefsbegincount=\referencecount
    \REFWRITE }
\def\refs{\REFS\?}
\def\refc{\REF\?}
\let\refscon=\refc       \let\REFSCON=\REF
%
\def\r@fitem#1{\par \hangafter=0 \hangindent=\refindent \Textindent{#1}}
\def\refitem#1{\r@fitem{#1.}}
\def\NPrefitem#1{\r@fitem{[#1]}}
\def\NPrefs{\let\refmark=\NPrefmark \let\refitem=NPrefitem}
%
%
\def\REFWRITE{\R@FWRITE\rel@x }
\def\R@FWRITE#1{\ifreferenceopen \else \gl@bal\referenceopentrue
     \immediate\openout\referencewrite=\jobname.refs
     \toks@={\begingroup \refoutspecials \catcode`\^^M=10 }%
     \immediate\write\referencewrite{\the\toks@}\fi
    \immediate\write\referencewrite{\noexpand\refitem %
                                    {\the\referencecount}}%
    \p@rse@ndwrite \referencewrite #1}
%
\begingroup
 \catcode`\^^M=\active \let^^M=\relax %
 \gdef\p@rse@ndwrite#1#2{\begingroup \catcode`\^^M=12 \newlinechar=`\^^M%
         \chardef\rw@write=#1\sc@nlines#2}%
 \gdef\sc@nlines#1#2{\sc@n@line \g@rbage #2^^M\endsc@n \endgroup #1}%
 \gdef\sc@n@line#1^^M{\expandafter\toks@\expandafter{\deg@rbage #1}%
         \immediate\write\rw@write{\the\toks@}%
         \futurelet\n@xt \sc@ntest }%
\endgroup
\def\sc@ntest{\ifx\n@xt\endsc@n \let\n@xt=\rel@x
       \else \let\n@xt=\sc@n@notherline \fi \n@xt }
\def\sc@n@notherline{\sc@n@line \g@rbage }
\def\deg@rbage#1{}
\let\g@rbage=\relax    \let\endsc@n=\relax
%
%
\def\refout{\par\penalty-400\vskip\chapterskip
   \spacecheck\referenceminspace
   \ifreferenceopen \Closeout\referencewrite \referenceopenfalse \fi
   \line{\fourteenrm\hfil REFERENCES\hfil}\vskip\headskip
   \input \jobname.refs
   }
\def\refoutspecials{\sfcode`\.=1000 \interlinepenalty=1000
         \rightskip=\z@ plus 1em minus \z@ }
%
\def\Closeout#1{\toks0={\par\endgroup}\immediate\write#1{\the\toks0}%
   \immediate\closeout#1}
%
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
%%  Next, figure captions and table captions.
%
\newcount\figurecount     \figurecount=0
\newcount\tablecount      \tablecount=0
\newif\iffigureopen       \newwrite\figurewrite
\newif\iftableopen        \newwrite\tablewrite
%
\def\FIGNUM#1{\rel@x \gl@bal\advance\figurecount by 1
    \xdef#1{\the\figurecount}}
\def\FIGURE#1{\FIGNUM #1\F@GWRITE\ignorespaces }
\let\FIG=\FIGURE
\def\Fig{\FIGNUM\?Figure~\?\FIGWRITE }
\def\fig{\FIGNUM\?figure~\?\FIGWRITE }
\def\figitem#1{\r@fitem{#1)}}
\def\FIGWRITE{\F@GWRITE\rel@x }
%
\def\TABNUM#1{\rel@x \gl@bal\advance\tablecount by 1
    \xdef#1{\the\tablecount}}
\def\TABLE#1{\TABNUM #1\T@BWRITE\ignorespaces }
\def\Table{\TABNUM\?Table~\?\TABWRITE }
\def\tabitem#1{\r@fitem{#1:}}
\def\TABWRITE{\T@BWRITE\rel@x }
%
\def\F@GWRITE#1{\iffigureopen \else \gl@bal\figureopentrue
     \immediate\openout\figurewrite=\jobname.figs
     \toks@={\begingroup \catcode`\^^M=10 }%
     \immediate\write\figurewrite{\the\toks@}\fi
    \immediate\write\figurewrite{\noexpand\figitem %
                                 {\the\figurecount}}%
    \p@rse@ndwrite \figurewrite #1}
\def\T@BWRITE#1{\iftableopen \else \gl@bal\tableopentrue
     \immediate\openout\tablewrite=\jobname.tabs
     \toks@={\begingroup \catcode`\^^M=10 }%
     \immediate\write\tablewrite{\the\toks@}\fi
    \immediate\write\tablewrite{\noexpand\tabitem %
                                 {\the\tablecount}}%
    \p@rse@ndwrite \tablewrite #1}
%
\def\figout{\par\penalty-400
   \vskip\chapterskip\spacecheck\referenceminspace
   \iffigureopen \Closeout\figurewrite \figureopenfalse \fi
   \line{\fourteenrm\hfil FIGURE CAPTIONS\hfil}\vskip\headskip
   \input \jobname.figs
   }
\def\tabout{\par\penalty-400
   \vskip\chapterskip\spacecheck\referenceminspace
   \iftableopen \Closeout\tablewrite \tableopenfalse \fi
   \line{\fourteenrm\hfil TABLE CAPTIONS\hfil}\vskip\headskip
   \input \jobname.tabs
   }
%
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
%%  Finally, inserted figures.
%
%
\newbox\picturebox
\def\p@cht{\ht\picturebox }
\def\p@cwd{\wd\picturebox }
\def\p@cdp{\dp\picturebox }
\newdimen\xshift
\newdimen\yshift
%
\newdimen\captionwidth
\newskip\captionskip
\captionskip=15pt plus 5pt minus 3pt
\def\fullwidth{\captionwidth=\hsize }
\newtoks\Caption
\newif\ifcaptioned
\newif\ifselfcaptioned
\def\caption{\captionedtrue \Caption }
\newcount\linesabove
%
\newif\iffileexists
\newtoks\picfilename
\def\fil@#1 {\fileexiststrue \picfilename={#1}}
\def\file#1{\if=#1\let\n@xt=\fil@ \else \def\n@xt{\fil@ #1}\fi \n@xt }
%
\def\pl@t{\begingroup \pr@tect
    \setbox\picturebox=\hbox{}\fileexistsfalse
    \let\height=\p@cht \let\width=\p@cwd \let\depth=\p@cdp
    \xshift=\z@ \yshift=\z@ \captionwidth=\z@
    \Caption={}\captionedfalse
    \linesabove =0 \picturedefault }
\def\plot{\pl@t \selfcaptionedfalse }
\def\Picture#1{\gl@bal\advance\figurecount by 1
    \xdef#1{\the\figurecount}\pl@t \selfcaptionedtrue }
\def\picture{\Picture\?}
%
\def\s@vepicture{\iffileexists \parsefilename \redopicturebox \fi
   \ifdim\captionwidth>\z@ \else \captionwidth=\p@cwd \fi
   \xdef\lastpicture{%
      \iffileexists%
         \setbox0=\hbox{\raise\the\yshift \vbox{%
              \moveright\the\xshift\hbox{\picturedefinition}}}%
      \else%
         \setbox0=\hbox{}%
      \fi
      \ht0=\the\p@cht \wd0=\the\p@cwd \dp0=\the\p@cdp
      \vbox{\hsize=\the\captionwidth%
            \line{\hss\box0 \hss }%
            \ifcaptioned%
               \vskip\the\captionskip \noexpand\Tenpoint
               \ifselfcaptioned%
                   Figure~\the\figurecount.\enspace%
               \fi%
               \the\Caption%
           \fi%
           }%
      }%
      \endgroup%
}
%
\let\endpicture=\s@vepicture
\def\savepicture#1{\s@vepicture \global\let#1=\lastpicture }
\def\displaypicture{\fullwidth \s@vepicture $$\lastpicture $${}}
\def\toppicture{\fullwidth \s@vepicture \topinsert
    \lastpicture \medskip \endinsert }
\def\midpicture{\fullwidth \s@vepicture \midinsert
    \lastpicture \endinsert }
%
%  Wraparound macros - a try.
%
\def\leftpicture{\pres@tpicture
    \dimen@i=\hsize \advance\dimen@i by -\dimen@ii
    \setbox\picturebox=\hbox to \hsize {\box0 \hss }%
    \wr@paround }
\def\rightpicture{\pres@tpicture
    \dimen@i=\z@
    \setbox\picturebox=\hbox to \hsize {\hss \box0 }%
    \wr@paround }
%
\def\pres@tpicture{\gl@bal\linesabove=\linesabove
    \s@vepicture \setbox\picturebox=\vbox{
         \kern \linesabove\baselineskip \kern 0.3\baselineskip
         \lastpicture \kern 0.3\baselineskip }%
    \dimen@=\p@cht \dimen@i=\dimen@
    \advance\dimen@i by \pagetotal
    \par \ifdim\dimen@i>\pagegoal \vfil\break \fi
    \dimen@ii=\hsize
    \advance\dimen@ii by -\parindent \advance\dimen@ii by -\p@cwd
    \setbox0=\vbox to\z@{\kern-\baselineskip \unvbox\picturebox \vss }}
%
\def\wr@paround{\Caption={}\count255=1
    \loop \ifnum \linesabove >0
         \advance\linesabove by -1 \advance\count255 by 1
         \advance\dimen@ by -\baselineskip
         \expandafter\Caption \expandafter{\the\Caption \z@ \hsize }%
      \repeat
    \loop \ifdim \dimen@ >\z@
         \advance\count255 by 1 \advance\dimen@ by -\baselineskip
         \expandafter\Caption \expandafter{%
             \the\Caption \dimen@i \dimen@ii }%
      \repeat
    \edef\n@xt{\parshape=\the\count255 \the\Caption \z@ \hsize }%
    \par\noindent \n@xt \strut \vadjust{\box\picturebox }}
%
\let\picturedefault=\relax
\let\parsefilename=\relax
\def\redopicturebox{\let\picturedefinition=\rel@x
   \errhelp=\disabledpictures
   \errmessage{This version of TeX cannot handle pictures.  Sorry.}}
\newhelp\disabledpictures
     {You will get a blank box in place of your picture.}
%
%
%
% Above definitions of \parsefilename and \redopicturebox
% are dumb defaults.  Actual definition are system dependent;
% you will probably find them in your PHYZZX.LOCAL file.
%
% The example below is used at Princeton.
%
%\def\parsefilename{\expandafter\p@rse\the\picfilename.\endp@rse }
%\def\p@rse#1.#2\endp@rse{\if"#2"\expandafter\picfilename
%        \expandafter{\the\picfilename.fig}\fi }
%
%\newread\pictureread
%\def\redopicturebox{\expandafter\openin\expandafter\pictureread
%                    \the\picfilename
%   \ifeof\pictureread \errhelp=\disabledpictures
%     \edef\n@xt{\errmessage={Cannot find file \the\picfilename}\n@xt
%     \let\pictureboxdefinition=\relax \else
%    \read\pictureread to\y@p \read\pictureread to\y@p
%    \read\pictureread to\x@p \read\pictureread to\y@m
%    \read\pictureread to\x@m \closein\pictureread
%    \p@cht=\y@p truein \advance\p@cht by -\y@m truein
%    \advance\yshift by \y@p truein
%    \p@cwd=\x@p truein \advance\p@cwd by -\x@m truein
%    \advance\xshift by \x@m truein
%    \edef\picturedefinition{\special{pos,inc=\the\picfilename}}%
%    \fi }
%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%   Here come macros for memos & letters.
%
\def\FRONTPAGE{\ifvoid255\else\vfill\penalty-20000\fi
   \gl@bal\pagenumber=1     \gl@bal\chapternumber=0
   \gl@bal\equanumber=0     \gl@bal\sectionnumber=0
   \gl@bal\referencecount=0 \gl@bal\figurecount=0
   \gl@bal\tablecount=0     \gl@bal\frontpagetrue
   \gl@bal\lastf@@t=0       \gl@bal\footsymbolcount=0
   \gl@bal\cn@@false }
\let\Frontpage=\FRONTPAGE
%
\def\papers{\papersize\headline=\paperheadline\footline=\paperfootline}
%
\def\papersize{\hsize=35pc \vsize=50pc \hoffset=0pc \voffset=1pc
   \advance\hoffset by\HOFFSET \advance\voffset by\VOFFSET
   \pagebottomfiller=0pc
   \skip\footins=\bigskipamount \normalspace }
%
\papers  %  This is the default
%
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
%
\newskip\lettertopskip       \lettertopskip=20pt plus 50pt
\newskip\letterbottomskip    \letterbottomskip=\z@ plus 100pt
\newskip\signatureskip       \signatureskip=40pt plus 3pt
%
\def\lettersize{\hsize=6.5in \vsize=8.5in \hoffset=0in \voffset=0.5in
   \advance\hoffset by\HOFFSET \advance\voffset by\VOFFSET
   \pagebottomfiller=\letterbottomskip
   \skip\footins=\smallskipamount \multiply\skip\footins by 3
   \singlespace }
%
\def\MEMO{\lettersize \headline=\letterheadline \footline={\hfil }%
   \let\rule=\memorule \FRONTPAGE \memohead }
\let\memo=\MEMO
\def\memodate{\afterassignment\MEMO \date }
%
\def\memit@m#1{\smallskip \hangafter=0 \hangindent=1in
    \Textindent{\caps #1}}
\def\subject{\memit@m{Subject:}}
\def\topic{\memit@m{Topic:}}
\def\from{\memit@m{From:}}
\def\to{\rel@x \ifmmode \rightarrow \else \memit@m{To:}\fi }
\def\memorule{\medskip\hrule height 1pt\bigskip}  % default definitions
\def\memohead{\centerline{\fourteenrm MEMORANDUM}}% see phyzzx.local
%
\newwrite\labelswrite
\newtoks\rw@toks
\def\letters{\lettersize
   \headline=\letterheadline \footline=\letterfootline
   \immediate\openout\labelswrite=\jobname.lab}
\def\letter{\FRONTPAGE \letterhead \addressee }
\let\letterhead=\rel@x
%
\def\addressee#1{\medskip\line{\hskip 0.75\hsize plus\z@ minus 0.25\hsize
                               \the\date \hfil }%
   \vskip \lettertopskip
   \ialign to\hsize{\strut ##\hfil\tabskip 0pt plus \hsize \crcr #1\crcr}
   \writelabel{#1}\medskip \noindent\hskip -\spaceskip \ignorespaces }
%
\def\rwl@begin#1\cr{\rw@toks={#1\crcr}\rel@x
   \immediate\write\labelswrite{\the\rw@toks}\futurelet\n@xt\rwl@next}
\def\rwl@next{\ifx\n@xt\rwl@end \let\n@xt=\rel@x
      \else \let\n@xt=\rwl@begin \fi \n@xt}
\let\rwl@end=\rel@x
\def\writelabel#1{\immediate\write\labelswrite{\noexpand\labelbegin}
     \rwl@begin #1\cr\rwl@end
     \immediate\write\labelswrite{\noexpand\labelend}}
%
\newtoks\FromAddress         \FromAddress={}
\newtoks\sendername          \sendername={}
\newbox\FromLabelBox
\newdimen\labelwidth          \labelwidth=6in
%
\def\makelabels{\afterassignment\Makelabels \sendername=}
\def\Makelabels{\FRONTPAGE \letterinfo={\hfil } \MakeFromBox
     \immediate\closeout\labelswrite  \input \jobname.lab\vfil\eject}
\let\labelend=\rel@x
\def\labelbegin#1\labelend{\setbox0=\vbox{\ialign{##\hfil\cr #1\crcr}}
     \MakeALabel }
%
\def\MakeFromBox{\gl@bal\setbox\FromLabelBox=\vbox{\Tenpoint
     \ialign{##\hfil\cr \the\sendername \the\FromAddress \crcr }}}
\def\MakeALabel{\vskip 1pt \hbox{\vrule \vbox{
        \hsize=\labelwidth \hrule\bigskip
        \leftline{\hskip 1\parindent \copy\FromLabelBox}\bigskip
        \centerline{\hfil \box0 } \bigskip \hrule
        }\vrule } \vskip 1pt plus 1fil }
%
\def\signed#1{\par \nobreak \bigskip \dt@pfalse \begingroup
  \everycr={\noalign{\nobreak
            \ifdt@p\vskip\signatureskip\gl@bal\dt@pfalse\fi }}%
  \tabskip=0.5\hsize plus \z@ minus 0.5\hsize
  \halign to\hsize {\strut ##\hfil\tabskip=\z@ plus 1fil minus \z@\crcr
          \noalign{\gl@bal\dt@ptrue}#1\crcr }%
  \endgroup \bigskip }
%
\def\copies{\par\hang\textindent{\tenrm cc:}}
\def\endletter{\par \iffrontpage \else \vfil \fi \supereject }
%
\newbox\letterb@x
\def\lettertext{\par \vskip\parskip \unvcopy\letterb@x \par }
\def\multiletter{\setbox\letterb@x=\vbox\bgroup
      \everypar{\vrule height 1\baselineskip depth 0pt width 0pt }
      \singlespace \topskip=\baselineskip }
\def\letterend{\par\egroup}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%   Here come macros for title pages.
%
\newskip\frontpageskip
\newtoks\Pubnum   \let\pubnum=\Pubnum
\newtoks\Pubtype  \let\pubtype=\Pubtype
\newif\ifp@bblock  \p@bblocktrue
%
\def\PH@SR@V{\doubl@true \baselineskip=24.1pt plus 0.2pt minus 0.1pt
             \parskip= 3pt plus 2pt minus 1pt }
\def\PHYSREV{\papers\PhysRevtrue\PH@SR@V}
\let\physrev=\PHYSREV
\def\titlepage{\FRONTPAGE\papers\ifPhysRev\PH@SR@V\fi
   \ifp@bblock\p@bblock \else\hrule height\z@ \rel@x \fi }
\def\nopubblock{\p@bblockfalse}
\def\endpage{\vfil\break}
%
\frontpageskip=12pt plus .5fil minus 2pt
\Pubtype={}
\Pubnum={}
%
\def\p@bblock{\begingroup \tabskip=\hsize minus \hsize
   \baselineskip=1.5\ht\strutbox \topspace-2\baselineskip
   \halign to\hsize{\strut ##\hfil\tabskip=0pt\crcr
       \the\Pubnum\crcr\the\date\crcr\the\pubtype\crcr}\endgroup}
%
\def\title#1{\vskip\frontpageskip \titlestyle{#1} \vskip\headskip }
%
\def\author#1{\vskip\frontpageskip\titlestyle{\twelvecp #1}\nobreak}
\def\andauthor{\vskip\frontpageskip\centerline{and}\author}
\def\authors{\vskip\frontpageskip\noindent}
%
\def\address#1{\par\kern 5pt\titlestyle{\twelvepoint\it #1}}
\def\andaddress{\par\kern 5pt \centerline{\sl and} \address}
\def\SLAC{\address{Stanford Linear Accelerator Center\break
      Stanford University, Stanford, California~94309}}
\def\JHL{\address{Joseph Henry Laboratories\break
      Princeton University\break Princeton, New Jersey 08544}}
%
\def\abstract{\par\dimen@=\prevdepth \hrule height\z@ \prevdepth=\dimen@
   \vskip\frontpageskip\centerline{\fourteenrm ABSTRACT}\vskip\headskip }
\def\submit#1{\par\nobreak\vfil\nobreak\medskip
   \centerline{Submitted to \sl #1}}
%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%   Miscellaneous macros
%
\def\ie{\hbox{\it i.e.}}       \def\etc{\hbox{\it etc.}}
\def\eg{\hbox{\it e.g.}}       \def\cf{\hbox{\it cf.}}
\def\etal{\hbox{\it et al.}}   \def\dash{\hbox{---}}
\def\\{\rel@x \ifmmode \backslash \else {\tt\char`\\}\fi }
%
\def\sequentialequations{\rel@x \if\equanumber<0 \else
  \gl@bal\equanumber=-\equanumber \gl@bal\advance\equanumber by -1 \fi }
%
\def\nextline{\unskip\nobreak\hfill\break}
\let\brk=\nextline
\def\subpar{\unskip\nobreak\vadjust{\allowbreak\vskip\parskip}%
   \hskip\parfillskip\break}
%
\def\journal#1&#2(#3){\begingroup \let\journal=\dummyj@urnal
    \unskip, \sl #1\unskip~\bf\ignorespaces #2\rm
    (\afterassignment\j@ur \count255=#3), \endgroup\ignorespaces }
\def\j@ur{\ifnum\count255<100 \advance\count255 by 1900 \fi
          \number\count255 }
\def\dummyj@urnal{%
    \toks@={Reference foul up: nested \journal macros}%
    \errhelp={Your forgot & or ( ) after the last \journal}%
    \errmessage{\the\toks@ }}
%
\def\cropen#1{\crcr\noalign{\vskip #1}}
\def\crr{\cropen{3\jot }}
\def\topspace{\hrule height 0pt depth 0pt \vskip}
%
\def\coeff#1#2{{\textstyle{#1\over #2}}}
\def\half{\coeff12 }
\def\partder#1#2{{\partial #1\over\partial #2}}
\def\Buildrel#1\under#2{\mathrel{\mathop{#2}\limits_{#1}}}
%
\def\becomes#1{\mathchoice{\becomes@\scriptstyle{#1}}
   {\becomes@\scriptstyle{#1}} {\becomes@\scriptscriptstyle{#1}}
   {\becomes@\scriptscriptstyle{#1}}}
\def\becomes@#1#2{\mathrel{\setbox0=\hbox{$\m@th #1{\,#2\,}$}%
        \mathop{\hbox to \wd0 {\rightarrowfill}}\limits_{#2}}}
%
\def\bra#1{\left\langle #1\right|}
\def\ket#1{\left| #1\right\rangle}
\def\braket#1#2{\VEV{#1 | #2}}
\def\VEV#1{\left\langle #1\right\rangle}
\let\vev=\VEV
%
\def\Tr{\mathop{\rm Tr}\nolimits}
\def\tr{\mathop{\rm tr}\nolimits}
\let\int=\intop         \let\oint=\ointop
%
\def\lsim{\mathrel{\mathpalette\@versim<}}
\def\gsim{\mathrel{\mathpalette\@versim>}}
\def\@versim#1#2{\vcenter{\offinterlineskip
        \ialign{$\m@th#1\hfil##\hfil$\crcr#2\crcr\sim\crcr } }}
%
\def\big#1{{\hbox{$\left#1\vbox to 0.85\b@gheight{}\right.\n@space$}}}
\def\Big#1{{\hbox{$\left#1\vbox to 1.15\b@gheight{}\right.\n@space$}}}
\def\bigg#1{{\hbox{$\left#1\vbox to 1.45\b@gheight{}\right.\n@space$}}}
\def\Bigg#1{{\hbox{$\left#1\vbox to 1.75\b@gheight{}\right.\n@space$}}}
%
\def\){\mskip 2mu\nobreak }
%
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
%
%   Finally, some bug fixings.
%
\let\sec@nt=\sec
\def\sec{\rel@x\ifmmode\let\n@xt=\sec@nt\else\let\n@xt\section\fi\n@xt}
%
\def\obsolete#1{\message{Macro \string #1 is obsolete.}}
%
\def\firstsec#1{\obsolete\firstsec \section{#1}}
\def\firstsubsec#1{\obsolete\firstsubsec \subsection{#1}}
\def\thispage#1{\obsolete\thispage \gl@bal\pagenumber=#1\frontpagefalse}
\def\thischapter#1{\obsolete\thischapter \gl@bal\chapternumber=#1}
\def\splitout{\obsolete\splitout\rel@x}
\def\prop{\obsolete\prop \propto }
%
\def\nextequation#1{\obsolete\nextequation \gl@bal\equanumber=#1
   \ifnum\the\equanumber>0 \gl@bal\advance\equanumber by 1 \fi}
%
\def\BOXITEM{\afterassigment\B@XITEM\setbox0=}
\def\B@XITEM{\par\hangindent\wd0 \noindent\box0 }
%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%   That's about it
%
\def\phyzzx{PHY\setbox0=\hbox{Z}\copy0 \kern-0.5\wd0 \box0 X}
\def\fmtname{phyzzx}        \def\fmtversion{0.94}
\everyjob{\xdef\today{\monthname~\number\day, \number\year}
        \input myphyx.tex }
\message{ by V.K.}
%
\input phyzzx.local
\input newphyz.tex
\catcode`\@=12 % at signs are no longer letters
%
%
% PHYZZX fonts are kept in this separate file
% in order to facilitate font substitution.
%
% This file should be called PHYZZX.FONTS on sites using CM fonts
% and PHYZZX.CMFONTS on other sites.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
\font\seventeenrm =cmr17
\font\fourteenrm  =cmr12 scaled\magstep1
\font\twelverm    =cmr12
\font\ninerm      =cmr9
\font\sixrm       =cmr6
%
\font\seventeenbf =cmbx12 scaled\magstep2
\font\fourteenbf  =cmbx12 scaled\magstep1
\font\twelvebf    =cmbx12
\font\ninebf      =cmbx9
\font\sixbf       =cmbx6
%
\font\seventeeni  =cmmi12 scaled\magstep2    \skewchar\seventeeni='177
\font\fourteeni   =cmmi12 scaled\magstep1     \skewchar\fourteeni='177
\font\twelvei     =cmmi12                       \skewchar\twelvei='177
\font\ninei       =cmmi9                          \skewchar\ninei='177
\font\sixi        =cmmi6                           \skewchar\sixi='177
%
\font\seventeensy =cmsy10 scaled\magstep3    \skewchar\seventeensy='60
\font\fourteensy  =cmsy10 scaled\magstep2     \skewchar\fourteensy='60
\font\twelvesy    =cmsy10 scaled\magstep1       \skewchar\twelvesy='60
\font\ninesy      =cmsy9                          \skewchar\ninesy='60
\font\sixsy       =cmsy6                           \skewchar\sixsy='60
%
\font\seventeenex =cmex10 scaled\magstep3
\font\fourteenex  =cmex10 scaled\magstep2
\font\twelveex    =cmex10 scaled\magstep1
%
\font\seventeensl =cmsl12 scaled\magstep2
\font\fourteensl  =cmsl12 scaled\magstep1
\font\twelvesl    =cmsl12
\font\ninesl      =cmsl9
%
\font\seventeenit =cmti12 scaled\magstep2
\font\fourteenit  =cmti12 scaled\magstep1
\font\twelveit    =cmti12
\font\nineit      =cmti9
%
\font\fourteentt  =cmtt12 scaled\magstep1
\font\twelvett    =cmtt12
%
\font\fourteencp  =cmcsc10 scaled\magstep2
\font\twelvecp    =cmcsc10 scaled\magstep1
\font\tencp       =cmcsc10
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
\def\fourteenf@nts{\relax
    \textfont0=\fourteenrm          \scriptfont0=\tenrm
      \scriptscriptfont0=\sevenrm
    \textfont1=\fourteeni           \scriptfont1=\teni
      \scriptscriptfont1=\seveni
    \textfont2=\fourteensy          \scriptfont2=\tensy
      \scriptscriptfont2=\sevensy
    \textfont3=\fourteenex          \scriptfont3=\twelveex
      \scriptscriptfont3=\tenex
    \textfont\itfam=\fourteenit     \scriptfont\itfam=\tenit
    \textfont\slfam=\fourteensl     \scriptfont\slfam=\tensl
    \textfont\bffam=\fourteenbf     \scriptfont\bffam=\tenbf
      \scriptscriptfont\bffam=\sevenbf
    \textfont\ttfam=\fourteentt
    \textfont\cpfam=\fourteencp }
%
\def\twelvef@nts{\relax
    \textfont0=\twelverm          \scriptfont0=\ninerm
      \scriptscriptfont0=\sixrm
    \textfont1=\twelvei           \scriptfont1=\ninei
      \scriptscriptfont1=\sixi
    \textfont2=\twelvesy           \scriptfont2=\ninesy
      \scriptscriptfont2=\sixsy
    \textfont3=\twelveex          \scriptfont3=\tenex
      \scriptscriptfont3=\tenex
    \textfont\itfam=\twelveit     \scriptfont\itfam=\nineit
    \textfont\slfam=\twelvesl     \scriptfont\slfam=\ninesl
    \textfont\bffam=\twelvebf     \scriptfont\bffam=\ninebf
      \scriptscriptfont\bffam=\sixbf
    \textfont\ttfam=\twelvett
    \textfont\cpfam=\twelvecp }
%
\def\tenf@nts{\relax
    \textfont0=\tenrm          \scriptfont0=\sevenrm
      \scriptscriptfont0=\fiverm
    \textfont1=\teni           \scriptfont1=\seveni
      \scriptscriptfont1=\fivei
    \textfont2=\tensy          \scriptfont2=\sevensy
      \scriptscriptfont2=\fivesy
    \textfont3=\tenex          \scriptfont3=\tenex
      \scriptscriptfont3=\tenex
    \textfont\itfam=\tenit     \scriptfont\itfam=\seveni  % no \sevenit
    \textfont\slfam=\tensl     \scriptfont\slfam=\sevenrm % no \sevensl
    \textfont\bffam=\tenbf     \scriptfont\bffam=\sevenbf
      \scriptscriptfont\bffam=\fivebf
    \textfont\ttfam=\tentt
    \textfont\cpfam=\tencp }
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%
%  This is the PHYZZX.LOCAL file.
%  It contains local, ie. site-dependent macros.
%
%  This version of the file is for use at SLAC only.
%  Do not use it as is at other sites -- it is distributed only
%  to provide an example of macros you may want to use at your site.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
\def\slacpub{\afterassignment\slacp@b\toks@}
\def\slacp@b{\edef\n@xt{\Pubnum={SLAC--PUB--\the\toks@}}\n@xt}
\let\pubnum=\slacpub
%
\expandafter\ifx\csname eightrm\endcsname\relax
    \let\eightrm=\ninerm \let\eightbf=\ninebf \fi
%
\def\memohead{\hrule height\z@ \kern -0.5in
    \line{\quad\fourteenrm SLAC MEMORANDUM\hfil \twelverm\the\date\quad}}
\def\memorule{\par \medskip \hrule height 0.5pt \kern 1.5pt
   \hrule height 0.5pt \medskip}
%
\def\SLACHEAD{\setbox0=\vtop{\baselineskip=10pt
     \ialign{\eightrm ##\hfil\cr
        \slacbin\cr
        P.~O.~Box 4349\cr
        Stanford, CA 94309\cropen{1\jot}
        \slacphone\cr }}%
   \setbox2=\hbox{\caps Stanford Linear Accelerator Center}%
   \hrule height \z@ \kern -0.5in
   \vbox to 0pt{\vss\centerline{\seventeenrm STANFORD UNIVERSITY}}
   \vbox{} \medskip
   \line{\hbox to 0.7\hsize{\hss \lower 10pt \box2 \hfill }\hfil
         \hbox to 0.25\hsize{\box0 \hfil }}\medskip }
\let\letterhead=\SLACHEAD
%
\FromAddress={\crcr \slacbin \cr
    P.\ O.\ Box 4349\cr Stanford, California 94309\cr }
%
   \def\slacbin{%
      SLAC%
      \expandafter\ifx\csname binno\endcsname\relax%
         \expandafter\ifx\csname MailStop\endcsname\relax%
         \else%
            , Mail Stop \MailStop%
         \fi%
      \else%
         , Mail Stop \binno%
      \fi%
   }
%
\def\slacphone{(415) 926--\slacext}
\def\slacext{3300}
%
\def\doeack{\foot{Work supported by the Department of Energy,
      contract DE--AC03--76SF00515.}}
%
\VOFFSET=33pt
\papersize
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%  Now comes the graphic package.
%  This version is rather primitive
%
\newwrite\figscalewrite
\newif\iffigscaleopen
\newif\ifgrayscale
\newif\ifreadyfile
\def\picturedefault{\grayscalefalse \readyfilefalse
    \gdef\ready{\readyfiletrue}\gdef\gray{\ready\grayscaletrue}}
%
\def\parsefilename{\ifreadyfile \else
    \iffigscaleopen \else \gl@bal\figscaleopentrue
       \immediate\openout\figscalewrite=\jobname.scalecon \fi
    \toks0={ }\immediate\write\figscalewrite{%
       \the\p@cwd \the\toks0 \the\p@cht \the\toks0 \the\picfilename }%
    \expandafter\p@rse \the\picfilename..\endp@rse \fi }
%
\def\p@rse#1.#2.#3\endp@rse{%
   \if*#3*\dop@rse #1.1..\else \if.#3\dop@rse #1.1..\else
                                \dop@rse #1.#3\fi \fi
   \expandafter\picfilename\expandafter{\n@xt}}
\def\dop@rse#1.#2..{\count255=#2 \ifnum\count255<1 \count255=1 \fi
   \ifnum\count255<10  \edef\n@xt{#1.PICT00\the\count255}\else
   \ifnum\count255<100 \edef\n@xt{#1.PICT0\the\count255}\else
                       \edef\n@xt{#1.PICT\the\count255}\fi\fi }
%
\def\redopicturebox{\edef\picturedefinition{\ifgrayscale
     \special{insert(\the\picfilename)}\else
     \special{mergeug(\the\picfilename)}\fi }}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Few miscellaneous macros
%
\let\us=\undertext
\let\rule=\memorule
\let\eqnalign=\eqname
%
\def\pri{^{\, \prime }}
\def\prii{^{\, \prime\, \prime }}
\def\priii{^{\, \prime\, \prime\, \prime }}
\def\epem{{e^+e^-}}
%%
\def\larrow{\leftarrow}
\def\rarrow{\rightarrow }
\def\uarrow{\uparrow }
\def\darrow{\downarrow }
\def\dblarrow{\doublearrow }
\def\longvec{\overrightarrow }
\def\wtilde{\widetilde }
%%
\def\xplus{\becomes{x\rarrow{+\infty}}}
\def\xminus{\becomes{x\rarrow{-\infty}}}
\def\xxx{\becomes{x\rarrow\infty}}
%%
\def\boxit#1{\vbox{\hrule\hbox{\vrule\kern3pt
\vbox{\kern3pt#1\kern3pt}\kern3pt\vrule}\hrule}}
%%
 
% +--------------------------------------------------------------------+
% |                                                                    |
% |                           TABLES.TEX                               |
% |                                                                    |
% |                     Ray F. Cowan  15-Feb-85                        |
% |                                                                    |
% |                       Princeton University                         |
% |                                                                    |
% |          Present Address:  Laboratory for Nuclear Science          |
% |                            M.I.T.                                  |
% |                            Cambridge, MA 02139                     |
% |                                                                    |
% |                   E-mail:  rfc@slacvm.slac.stanford.edu            |
% |                                                                    |
% |                                                                    |
% |                     Last Revision: 17-Apr-86                       |
% |                                                                    |
% |   Macros I find handy for making tables.  See TABLEDOC TEX for     |
% |   a longer description.  The token-counting macros are straight    |
% |   from the TeXbook's "Dirty Tricks" appendix.                      |
% |                                                                    |
% +--------------------------------------------------------------------+
%
\newbox\hdbox%
\newcount\hdrows%
\newcount\multispancount%
\newcount\ncase%
\newcount\ncols% This is the number of primary text columns in the table.
\newcount\nrows%
\newcount\nspan%
\newcount\ntemp%
\newdimen\hdsize%
\newdimen\newhdsize%
\newdimen\parasize%
\newdimen\spreadwidth%
\newdimen\thicksize%
\newdimen\thinsize%
\newdimen\tablewidth%
\newif\ifcentertables%
\newif\ifendsize%
\newif\iffirstrow%
\newif\iftableinfo%
\newtoks\dbt%
\newtoks\hdtks%
\newtoks\savetks%
\newtoks\tableLETtokens%
\newtoks\tabletokens%
\newtoks\widthspec%
%
%  Book-keeping stuff--see how often these macros are called.
%
%  MOD RFC 900221.
%  Removed usage logging:  it's too complicated under VM/XA.
%\immediate\write15{%
%CP SMSG GJMSINK TEXTABLE --> TABLE MACROS V. 851121 JOB = \jobname%
%}%
%
%  Turn on table diagnostics.
%
\tableinfotrue%
\catcode`\@=11%  Allows use of "@" in macro names, like PLAIN.TEX does.
\def\out#1{\immediate\write16{#1}}%  Debugging aid.  Writes #1 on the
%                                    user's terminal and in the log file.
%
%  Define the \tstrut height, depth in terms of the x_height parameter.
%
\def\tstrut{\vrule height3.1ex depth1.2ex width0pt}%
\def\and{\char`\&}%  Allows us to get an `&' in the text.  This is the
%                    same as using the PLAIN TeX macro \&.
\def\tablerule{\noalign{\hrule height\thinsize depth0pt}}%
\thicksize=1.5pt%  Default thickness for fat rules.  The user should feel
%                  free to change this to his preference.
\thinsize=0.6pt%   Default thickness for thin rules.
\def\thickrule{\noalign{\hrule height\thicksize depth0pt}}%
\def\hrulefill{\leaders\hrule\hfill}%
\def\bigrulefill{\leaders\hrule height\thicksize depth0pt \hfill}%
\def\ctr#1{\hfil\ #1\hfil}%
\def\altctr#1{\hfil #1\hfil}%
\def\vctr#1{\hfil\vbox to0pt{\vss\hbox{#1}\vss}\hfil}%
%
%  Here are things for controlling the width of the finished table.
%
\tablewidth=-\maxdimen%
\spreadwidth=-\maxdimen%
\def\tabskipglue{0pt plus 1fil minus 1fil}%
%
%  Stuff for centering or not.
%
\centertablestrue%
\def\centeredtables{%
   \centertablestrue%
}%
\def\noncenteredtables{%
   \centertablesfalse%
}%
%
%  \vctr vertically centers its argument in the row.
%
\parasize=4in%
\long\def\para#1{%  Used to make little paragraphs out of one entry.
   {%
      \vtop{%
         \hsize=\parasize%
         \baselineskip14pt%
         \lineskip1pt%
         \lineskiplimit1pt%
         \noindent #1%
         \vrule width0pt depth6pt%
      }%
   }%
}%
%
\gdef\ARGS{########}%  Produces the correct number of #'s in the preamble
%                      by the time eveything is expanded and \halign sees
%                      it.
\gdef\headerARGS{####}%  Same as \ARGS, but used in \header macros.
\def\@mpersand{&}%  Allows us to get alignment tab characters later
%                   when we have made the character "&" an active macro.
{\catcode`\|=13%  Make |'s locally active.
\gdef\letbarzero{\let|0}%  Globally define a macro that allows us to
%                          keep active |'s from being expanded in edef's.
\gdef\letbartab{\def|{&&}}%
\gdef\letvbbar{\let\vb|}%
%  This \def will cause active |'s read by
%                            \ruledtable to be converted into double
%                            alignment tabs.
}%  End of locally active |'s.
%
{\catcode`\&=4%  Make these alignment tabs.
\def\ampskip{&\omit\hfil&}%  This local macro skips a vertical rule.
\catcode`\&=13%  Now make &'s into active macros.
\let&0%  This allows us to expand \ampskip in the next \xdef without
%        attempting to expand the & and getting an "undefined control
%        sequence" error.
\xdef\letampskip{\def&{\ampskip}}%
\gdef\letnovbamp{\let\novb&\let\tab&}
%  This will cause active &'s read by
%                                   \ruledtable to be converted into
%                                   double tabs and an \omit'ted \vrule.
}%  End of locally active &'s.
%
\def\begintable{%  Here we make |'s and &'s active characters so we can
%                  interpret them as macros.  Note that this action is
%                  true only until we encounter the matching \endgroup
%                  token later at the end of the \ruledtable macro.
   \begingroup%
   \catcode`\|=13\letbartab\letvbbar%
   \catcode`\&=13\letampskip\letnovbamp%
   \def\multispan##1{%  We must redefine \multispan to count the number
%                       of primary columns, not physical columns.
      \omit \mscount##1%
      \multiply\mscount\tw@\advance\mscount\m@ne%
      \loop\ifnum\mscount>\@ne \sp@n\repeat%
   }%  End of \multispan macro.
   \def\|{%
      &\omit\widevline&%
   }%
   \ruledtable%  Now we call \ruledtable to do the real work.
}%  End of \begintable macro.
%
\long\def\ruledtable#1\endtable{%
%
%  This macro reads in the user's data entries
%  and converts them into a ruled table.
%
%  Important note:  Many macros and parameters are re-defined here, and
%  these must be kept local to the table macros to avoid conflict with
%  their use outside of tables.  This is done by the \begingroup token
%  macro \begintable and the \endgroup token at the end of
%  this macro.
%
   \offinterlineskip%  Needed to make rules touch each other.
   \tabskip 0pt%  Needed for same reason as \offinterlineskip.
   \def\widevline{\vrule width\thicksize}%  Make outer \vrule's wider.
   \def\endrow{\@mpersand\omit\hfil\crnorm\@mpersand}%
   \def\crthick{\@mpersand\crnorm\thickrule\@mpersand}%
   \def\crthickneg##1{\@mpersand\crnorm\thickrule
          \noalign{{\skip0=##1\vskip-\skip0}}\@mpersand}%
   \def\crnorule{\@mpersand\crnorm\@mpersand}%
   \def\crnoruleneg##1{\@mpersand\crnorm
          \noalign{{\skip0=##1\vskip-\skip0}}\@mpersand}%
   \let\nr=\crnorule%  A shorter abbreviation.
   \def\endtable{\@mpersand\crnorm\thickrule}%
%
   \let\crnorm=\cr%  Allows us to use \cr for our own purposes.
%
%  Cause user-typed \cr's to follow a row with a \tablerule.
%
   \edef\cr{\@mpersand\crnorm\tablerule\@mpersand}%
   \def\crneg##1{\@mpersand\crnorm\tablerule
          \noalign{{\skip0=##1\vskip-\skip0}}\@mpersand}%
   \let\ctneg=\crthickneg
   \let\nrneg=\crnoruleneg
%
   \the\tableLETtokens%  Get the user's extra \let's, if any.
%
%  Put the data entries into a token register so we can scan through them
%  and see what the user is asking us to do.
%
   \tabletokens={&#1}%  We add an extra alignment tab to the beginning
%                       of the first row to allow for the first \vrule.
%
%  Now count how many rows are in the table and return the result in
%  count register \nrows; do the same for columns, and return that
%  in register \ncols.
%
   \countROWS\tabletokens\into\nrows%
   \countCOLS\tabletokens\into\ncols%
%
%  Now do a little arithmetic to convert the number of primary columns
%  into the number of physical columns that the alignment preamble must
%  prepare for;  similarly for rows.
%
   \advance\ncols by -1%
   \divide\ncols by 2%
   \advance\nrows by 1%
%
%  Tell the user how many rows and columns we found in his data, if he
%  wants to know.
%
   \iftableinfo %
      \immediate\write16{[Nrows=\the\nrows, Ncols=\the\ncols]}%
   \fi%
%
%  Now we actually go ahead and produce the table.
%
   \ifcentertables
      \ifhmode \par\fi%  Make sure we are in vertical mode.
      \line{%  The final table comes out as an \hbox of width the \hsize.
      \hss%  The final table will be centered left-to-right.
   \else %
      \hbox{%
   \fi
      \vbox{%
         \makePREAMBLE{\the\ncols}%  Generate the preamble.
         \edef\next{\preamble}%  This line and the next line force the
         \let\preamble=\next%    expansion of all \ARGS tokens into the
%                                appropriate number of #'s.
         \makeTABLE{\preamble}{\tabletokens}%  Go do the \halign here.
      }%  End of \vbox.
      \ifcentertables \hss}\else }\fi%  Finish the centering effect.
%                                       It is important that no spaces
%                                       follow the two `}' here.
%  }%  End of \line.
   \endgroup%  Return all local macros and parameters to their outside
%              values.
   \tablewidth=-\maxdimen%  Reset \tablewidth to normal.
   \spreadwidth=-\maxdimen% Same for \spreadwidth.
}%  End of macro \ruledtable.
%
\def\makeTABLE#1#2{%  Does an \halign for the \ruledtable macro.
   {%  Start of local parameter values.
%
   \let\ifmath0%     These macros would cause trouble if they were to be
   \let\header0%     expanded in the following \xdef; we \let them be
   \let\multispan0%  equal to a digit, because digits can't be expanded.
%
%  Set up the width specification here.
%
   \ncase=0%
   \ifdim\tablewidth>-\maxdimen \ncase=1\fi%
   \ifdim\spreadwidth>-\maxdimen \ncase=2\fi%
   \relax%  This \relax is absolutely necessary, without it the following
%           \ifcase will always take \ncase=0.
%
   \ifcase\ncase %
      \widthspec={}%
   \or %
      \widthspec=\expandafter{\expandafter t\expandafter o%
                 \the\tablewidth}%
   \else %
      \widthspec=\expandafter{\expandafter s\expandafter p\expandafter r%
                 \expandafter e\expandafter a\expandafter d%
                 \the\spreadwidth}%
   \fi %
%\out{Widthspec=[\the\widthspec]}%
%\out{Preamble=[\preamble]}%
   \xdef\next{%  We must force the preamble to be expanded BEFORE the
      \halign\the\widthspec{%
%        \halign is done;  this \edef\next{...}\next construction
%                does the trick.
      #1%  This is the preamble text.
%
      \noalign{\hrule height\thicksize depth0pt}%  Makes the top \hrule.
%
      \the#2\endtable%  This is the main body.
%
%     \noalign{\hrule height0.7pt depth0pt}%  Makes the last \hrule.
      }%  End of \halign.
   }%  End of \next.
   }%  End of local values.
   \next%  This \next must be outside of the local values, because now
%          we want those troublesome macros in the \let's above to have
%          their normal actions.
}%  End of macro \makeTABLE.
%
\def\makePREAMBLE#1{%  This macro generates the necessary preamble for a
%                      ruled table with #1 primary columns.
%                      (Primary columns means the number of columns NOT
%                       counting those used for vertical rules.)
   \ncols=#1%  Get the number of columns desired.
   \begingroup%  Start local parameter definitions.
   \let\ARGS=0%  This is the key to the whole thing; it prevents \ARGS
%                from being expanded in the following \edef's.
   \edef\xtp{\widevline\ARGS\tabskip\tabskipglue%
   &\ctr{\ARGS}\tstrut}%  A 1-column preamble.  Gets the sizing right.
   \advance\ncols by -1%  One column has been generated; decrement the
%                         counter.
   \loop%  Append as many further columns as needed to the preamble.
      \ifnum\ncols>0 %
      \advance\ncols by -1%
      \edef\xtp{\xtp&\vrule width\thinsize\ARGS&\ctr{\ARGS}}%
   \repeat
   \xdef\preamble{\xtp&\widevline\ARGS\tabskip0pt%
   \crnorm}%  Adds the last \vrule.
   \endgroup%  End of local parameters.
}%  End of macro \makePREAMBLE.
%
\def\countROWS#1\into#2{%  This counts the number of rows in #1 by
%                          looking for control sequences that end a row,
%                          e.g., \cr, \crthick, etc., and puts the result
%                          into count register #2.
   \let\countREGISTER=#2%
   \countREGISTER=0%
%  \out{In countROWS:  tokens are [\the#1]}%
   \expandafter\ROWcount\the#1\endcount%
}%
%
\def\ROWcount{%
   \afterassignment\subROWcount\let\next= %
}%
\def\subROWcount{%
%  \out{In subROWcount:  next is [\meaning\next]}%  Debugging aid.
   \ifx\next\endcount %
      \let\next=\relax%
   \else%
      \ncase=0%
      \ifx\next\cr %
         \global\advance\countREGISTER by 1%
         \ncase=0%
      \fi%
      \ifx\next\endrow %
         \global\advance\countREGISTER by 1%
         \ncase=0%
      \fi%
      \ifx\next\crthick %
         \global\advance\countREGISTER by 1%
         \ncase=0%
      \fi%
      \ifx\next\crnorule %
         \global\advance\countREGISTER by 1%
         \ncase=0%
      \fi%
      \ifx\next\crthickneg %
         \global\advance\countREGISTER by 1%
         \ncase=0%
      \fi%
      \ifx\next\crnoruleneg %
         \global\advance\countREGISTER by 1%
         \ncase=0%
      \fi%
      \ifx\next\crneg %
         \global\advance\countREGISTER by 1%
         \ncase=0%
      \fi%
      \ifx\next\header %
%     \out{In subROWcount:  next=header, ncase set=1}%
         \ncase=1%
      \fi%
%     \out{In subROWcount:  ncase is [\the\ncase]}%
      \relax%
      \ifcase\ncase %
         \let\next\ROWcount%
%        \out{subROWcount---> ncase=\the\ncase}%
      \or %
         \let\next\argROWskip%
%        \out{subROWcount---> ncase=\the\ncase}%
      \else %
      \fi%
   \fi%
%  \out{subROWcount---> NEXT=\meaning\next}%
   \next%
}%  End of macro \subROWcount.
%
\def\counthdROWS#1\into#2{%
\dvr{10}%
   \let\countREGISTER=#2%
   \countREGISTER=0%
\dvr{11}%
%  \out{In counthdROWS:  tokens are [\the#1]}%
\dvr{13}%
   \expandafter\hdROWcount\the#1\endcount%
\dvr{12}%
}%
%
\def\hdROWcount{%
   \afterassignment\subhdROWcount\let\next= %
}%
\def\subhdROWcount{%
%\out{In subhdROWcount:  next is [\meaning\next]}%
   \ifx\next\endcount %
      \let\next=\relax%
   \else%
      \ncase=0%
      \ifx\next\cr %
         \global\advance\countREGISTER by 1%
         \ncase=0%
      \fi%
      \ifx\next\endrow %
         \global\advance\countREGISTER by 1%
         \ncase=0%
      \fi%
      \ifx\next\crthick %
         \global\advance\countREGISTER by 1%
         \ncase=0%
      \fi%
      \ifx\next\crnorule %
         \global\advance\countREGISTER by 1%
         \ncase=0%
      \fi%
      \ifx\next\header %
%\out{In subhdROWcount:  next=header, ncase set=1}%
         \ncase=1%
      \fi%
%\out{In subhdROWcount:  ncase is [\the\ncase]}%
\relax%
      \ifcase\ncase %
         \let\next\hdROWcount%
%\out{subhdROWcount---> ncase=\the\ncase}%
      \or%
         \let\next\arghdROWskip%
%\out{subhdROWcount---> ncase=\the\ncase}%
      \else %
      \fi%
   \fi%
%\out{subhdROWcount---> NEXT=\meaning\next}%
   \next%
}%
%
{\catcode`\|=13\letbartab
\gdef\countCOLS#1\into#2{%
%  \out{In countCOLS:  tokens are [\the#1]}
   \let\countREGISTER=#2%
   \global\countREGISTER=0%
   \global\multispancount=0%
   \global\firstrowtrue
   \expandafter\COLcount\the#1\endcount%
   \global\advance\countREGISTER by 3%
   \global\advance\countREGISTER by -\multispancount
%  \out{countCOLS-->[\the\countREGISTER]}
}%
%
\gdef\COLcount{%
   \afterassignment\subCOLcount\let\next= %
}%
{\catcode`\&=13%
\gdef\subCOLcount{%
%\out{In subCOLcount: next is [\meaning\next]}
   \ifx\next\endcount %
      \let\next=\relax%
   \else%
      \ncase=0%
      \iffirstrow
         \ifx\next& %
            \global\advance\countREGISTER by 2%
            \ncase=0%
         \fi%
         \ifx\next\span %
            \global\advance\countREGISTER by 1%
            \ncase=0%
         \fi%
         \ifx\next| %
            \global\advance\countREGISTER by 2%
            \ncase=0%
         \fi
         \ifx\next\|
            \global\advance\countREGISTER by 2%
            \ncase=0%
         \fi
         \ifx\next\multispan
            \ncase=1%
            \global\advance\multispancount by 1%
         \fi
         \ifx\next\header
            \ncase=2%
         \fi
         \ifx\next\cr       \global\firstrowfalse \fi
         \ifx\next\endrow   \global\firstrowfalse \fi
         \ifx\next\crthick  \global\firstrowfalse \fi
         \ifx\next\crnorule \global\firstrowfalse \fi
         \ifx\next\crnoruleneg \global\firstrowfalse \fi
         \ifx\next\crthickneg  \global\firstrowfalse \fi
         \ifx\next\crneg       \global\firstrowfalse \fi
      \fi%  End of \iffirstrow.
\relax%\out{subCOL-->  ncase=[\the\ncase]}
% \out{subCOL-->  next=\meaning\next}
      \ifcase\ncase %
         \let\next\COLcount%
      \or %
         \let\next\spancount%
      \or %
         \let\next\argCOLskip%
      \else %
      \fi %
   \fi%
%  \out{subCOL-->  countREGISTER=[\the\countREGISTER]}
   \next%
}%
\gdef\argROWskip#1{%
%  Deletes the next balanced, undelimited argument from a
%                 token list.
% \out{---> Entering argROWskip <---}
% \out{In argROWskip:  deleted arg is [#1]}%
   \let\next\ROWcount \next%
}%  End of macro \argskip.
\gdef\arghdROWskip#1{%
%  Deletes the next balanced, undelimited argument from a
%                 token list.
% \out{---> Entering arghdROWskip <---}
% \out{In arghdROWskip:  deleted arg is [#1]}%
   \let\next\ROWcount \next%
}%  End of macro \arghdROWskip.
\gdef\argCOLskip#1{%
%  Deletes the next balanced, undelimited argument from a
%                 token list.
% \out{---> Entering argCOLskip <---}
% \out{In argCOLskip:  deleted arg is [#1]}%
   \let\next\COLcount \next%
}%  End of macro \argskip.
}%  End of active &'s.
}%  End of active |'s.
\def\spancount#1{%\out{spancount--->\meaning#1}
   \nspan=#1\multiply\nspan by 2\advance\nspan by -1%
   \global\advance \countREGISTER by \nspan
%  \out{number spancount--->\the\nspan; \the\countREGISTER}
   \let\next\COLcount \next}%
%
%\def\dvr#1{\vrule width 1.0pt depth 0pt height 12pt$_{#1}$}
\def\dvr#1{\relax}%
% \omit\hfil%
% \parindent=0pt\hsize=1.1in\valign{%
% \vfil#\vfil&\vfil#\vfil\cr\hfil\hbox{\ Added to\ }\hfil&%
% \hfil\hbox{\ empty events\ }\hfil\cr}\hfil%
\def\header#1{%
\dvr{1}{\let\cr=\@mpersand%
\hdtks={#1}%
%\out{In header:  hdtks=[\the\hdtks]}%
\counthdROWS\hdtks\into\hdrows%
\advance\hdrows by 1%
\ifnum\hdrows=0 \hdrows=1 \fi%
%\out{In header:  Nhdrows=[\the\hdrows]}%
\dvr{5}\makehdPREAMBLE{\the\hdrows}%
%\out{In header:  headerpreamble=[\headerpreamble]}%
\dvr{6}\getHDdimen{#1}%
%\out{In header:  hdsize=[\the\hdsize]}%
%\striplastCR{#1}%
{\parindent=0pt\hsize=\hdsize{\let\ifmath0%
\xdef\next{\valign{\headerpreamble #1\crnorm}}}\dvr{7}\next\dvr{8}%
}%
}\dvr{2}}%  End of macro \header.
%\def\striplastCR#1\cr{\xdef\headerbody{#1}}%
\def\makehdPREAMBLE#1{%This macro generates the necessary preamble for a
\dvr{3}%
%                      ruled table with \ncols primary columns.
%                      (Primary columns means the number of columns NOT
%                       counting those used for vertical rules.
\hdrows=#1%  Get the number of columns desired.
{%  Start local parameter definitions.
\let\headerARGS=0%
%  This is the key to the whole thing; it prevents \ARGS
\let\cr=\crnorm%
%                from being expanded in the followin \edef's.
\edef\xtp{\vfil\hfil\hbox{\headerARGS}\hfil\vfil}%
\advance\hdrows by -1%  One row has been generated; decrement the
%                         counter.
\loop%  Append as many further rows as needed to the preamble.
\ifnum\hdrows>0%
\advance\hdrows by -1%
\edef\xtp{\xtp&\vfil\hfil\hbox{\headerARGS}\hfil\vfil}%
\repeat%
\xdef\headerpreamble{\xtp\crcr}%
}%  End of local parameters.
\dvr{4}}%  End of \makehdPREAMBLE.
%
\def\getHDdimen#1{%
%\out{In getHDdimen:  Arg 1=[#1]}%
\hdsize=0pt%
\getsize#1\cr\end\cr%
}%  End of macro getHDdimen.
\def\getsize#1\cr{%
%\out{In getsize:  Arg 1=[#1]}%
%  Here we have to check arg#1 and see if the first token in #1 is an
%    \end; if so, we stop, else we check the width of arg#1.
%  We recall that each arg#1 will be terminated with a \cr token.
\endsizefalse\savetks={#1}%
%\out{In getsize:  the savetks = [\the\savetks]}%
\expandafter\lookend\the\savetks\cr%
%\out{In getsize:  ifendsize = [\meaning\ifendsize]}%
\relax \ifendsize \let\next\relax \else%
\setbox\hdbox=\hbox{#1}\newhdsize=1.0\wd\hdbox%
\ifdim\newhdsize>\hdsize \hdsize=\newhdsize \fi%
%\out{In getsize:  hdsize=[\the\hdsize]}%
%\out{In getsize:  newhdsize=[\the\newhdsize]}%
\let\next\getsize \fi%
\next%
}%
\def\lookend{\afterassignment\sublookend\let\looknext= }%
\def\sublookend{\relax%
%\out{In sublookend:  looknext = [\looknext]}%
\ifx\looknext\cr %
%\out{In sublooknext:  looknext=cr}%
\let\looknext\relax \else %
%\out{In sublooknext:  looknext/=cr}%
   \relax
   \ifx\looknext\end \global\endsizetrue \fi%
   \let\looknext=\lookend%
    \fi \looknext%
}%
%
%  Allow the user to make his own names for crthick, etc.
%
\def\tablelet#1{%
   \tableLETtokens=\expandafter{\the\tableLETtokens #1}%
}%
\catcode`\@=12%  Change @'s back to their normal category code.
%
%%newphyz.tex -- for TeX 2.0 -- Version 1.23
%
%  Test macros for adding file tracking, forward referencing,
%  table of contents, and multicolumn output to PHYZZX
%
%%
   \def\fmtversion{1.23}
 
   \message{V 1.23 mods and bug fixes by M.Weinstein}
%%
%  \unlock  makes @ and active character which can be used
%           in the names of macros
%  \lock    renders @ inactive and subsequent macros which
%           use @ will return and error message
%%
   \def\unlock{\catcode`@=11}
 
   \def\lock{\catcode`@=12}
 
   \unlock
%%
%  Physical Review mandated changes for footnotes and
%  references.
%
%  To use PHYSREV with the old options first type
%     \PHYSREV
%     \OldPhysRevRefmark
%     \OldPhysRevRefitem
%
%%
   \def\PRrefmark#1{\unskip~[#1]}
   \def\refitem#1{\ifPhysRev\r@fitem{[#1]}\else\r@fitem{#1.}\fi}
   \def\generatefootsymbol{%
      \ifcase\footsymbolcount\fd@f 13F \or \fd@f 279 \or \fd@f 27A 
          \or \fd@f 278 \or \fd@f 27B
      \else%
         \ifnum\footsymbolcount <0% 
            \xdef\footsymbol{\number-\footsymbolcount}%
         \else% 
            \fd@f 203
               {\loop \ifnum\footsymbolcount >5
                  \fd@f{203 \footsymbol }
                  \advance\footsymbolcount by -1
                \repeat
               }
         \fi%
      \fi%
   }
   \def\OldPhysRevRefmark{\let\PRrefmark=\attach}
   \def\OldPRRefitem#1{\r@fitem{#1.}}
   \def\OldPhysRevRefitem{\let\refitem=\OldPRRefitem}
%%
%  Fixing a typo in the PHYZZX.TEX file
%%
   \def\NPrefs{\let\refmark=\NPrefmark \let\refitem=\NPrefitem}
%%
%  New switches to be used in subsequent macros which
%  implement file checking, cpu checking, whether linked
%  input is requested, and dummy pictures are defined
%
%%
    \newif\iffileexists              \fileexistsfalse
    \newif\ifforwardrefson           \forwardrefsontrue
    \newif\ifamiga                   \amigafalse
    \newif\iflinkedinput             \linkedinputtrue
    \newif\iflinkopen                \linkopenfalse
    \newif\ifcsnameopen              \csnameopenfalse
    \newif\ifdummypictures           \dummypicturesfalse
    \newif\ifcontentson              \contentsonfalse
    \newif\ifcontentsopen            \contentsopenfalse
    \newif\ifmakename                \makenamefalse
    \newif\ifverbdone
    \newif\ifusechapterlabel         \usechapterlabelfalse
    \newif\ifstartofchapter          \startofchapterfalse
    \newif\iftableofplates           \tableofplatesfalse
    \newif\ifplatesopen              \platesopenfalse
    \newif\iftableoftables           \tableoftablesfalse
    \newif\iftableoftablesopen       \tableoftablesopenfalse
    \newif\ifwarncsname              \warncsnamefalse
%%
%  For file tracking the file (dirname)jobname.links will
%  be created
%
%  For forward referencing the file (dirname)jobname.csnames
%  will be created
%%
    \newwrite\linkwrite
    \newwrite\csnamewrite
    \newwrite\contentswrite
    \newwrite\plateswrite
    \newwrite\tableoftableswrite
%%
%  For testing if a file exists define a new input stream
%%
    \newread\testifexists
%%
%  This defines a file to be read in verbatim
%%
    \newread\verbinfile
 
%%
%  Some token strings for containing info pertaining to
%  directory information for use on VAXes, and micros like the
%  Amiga.
%%
    \newtoks\jobdir                  \jobdir={}
    \newtoks\tempnametoks            \tempnametoks={}
    \newtoks\oldheadline             \oldheadline={}
    \newtoks\oldfootline             \oldfootline={}
    \newtoks\subsectstyle            \subsectstyle={\Number}
    \newtoks\subsubsectstyle         \subsubsectstyle={\Number}
    \newtoks\runningheadlines        \runningheadlines={\relax}
    \newtoks\chapterformat           \chapterformat={\titlestyle}
    \newtoks\sectionformat           \sectionformat={\relax}
    \newtoks\subsectionformat        \subsectionformat={\relax}
    \newtoks\subsubsectionformat     \subsubsectionformat={\relax}
    \newtoks\chapterfontstyle        \chapterfontstyle={\bf}
    \newtoks\sectionfontstyle        \sectionfontstyle={\rm}
    \newtoks\subsectionfontstyle     \subsectionfontstyle={\rm}
    \newtoks\sectionfontstyleb       \sectionfontstyleb={\caps}
    \newtoks\subsubsectionfontstyle  \subsubsectionfontstyle={\rm}
%%
%  Some new counters need to be defined to handle table of
%  table of countents stuff for numbered subsections
%  and numbered subsubsections
%%
 
    \newcount\subsectnumber           \subsectnumber=0
    \newcount\subsubsectnumber        \subsubsectnumber=0
 
%%
%  There is a problem in PHYZZX with the picture macros which
%  occurs when \parindent is modified.  Thus we have to introduce
%  a new dimension which can be adjusted by the user to obtain
%  the desired results.  Also we need some dimensions to be
%  used with the \boxit macros
%%
 
   \newdimen\pictureindent           \pictureindent=15pt
   \newdimen\str
   \newdimen\squareht
   \newdimen\squarewd
   \newskip\doublecolskip
   \newskip\tableoftablesskip        \tableoftablesskip=\baselineskip
 
%%
%  The macro floating boxes needs to store things in a box called
%%
 
   \newbox\squarebox
 
%%
%  Some new skips have to be defined for handling the Table of
%  Contents stuff
%%
 
   \newskip\sectionindent            \sectionindent=0pt
   \newskip\subsectionindent         \subsectionindent=0pt
%%
%  Some macros used for running head construction
%%
  \def\thechapterhead{\relax}
  \def\thesectionhead{\relax}
  \def\thesubsecthead{\relax}
  \def\thesubsubsecthead{\relax}
 
%%
%  A macro which checks if a file exists and inputs it if it
%  does
%%
 
   \def\GetIfExists #1 {
       \immediate\openin\testifexists=#1
       \ifeof\testifexists
           \immediate\closein\testifexists
       \else
         \immediate\closein\testifexists
         \input #1
       \fi
   }
 
%%
%  If you use forward referencing for tables, pictures, chapters,
%  sections, equations, etc., then TeX will break when it first
%  encounters an undefined name.  This will happen when you first
%  TeX a document since then the file \jobdir\jobname.csnames
%  will either be empty or not exist.  You can simply type S (for
%  scroll) and let TeX generate the necessary file, or you can use
%  the \val{name} command, instead of \name.  This command checks
%  to see if \name is defined and if not puts a ? mark in the file
%  and writes a message to the screen (and log file) to warn you
%  that this variable is not defined.
%%
 
   \def\stripbackslash#1#2*{\def\strippedname{#2}}
 
   \def\ifundefined#1{\expandafter\ifx\csname#1\endcsname\relax}
 
   \def\val#1{%
      \expandafter\stripbackslash\string#1*%
      \ifundefined{\strippedname}%
      \message{Warning! The control sequence \noexpand#1 is not defined.} ? %
      \else\csname\strippedname\endcsname\fi%
   }
%%
%
%   A macro to be used inside routines which define new control
%   sequences.  It writes a warning to the log file whenever
%   an existing sequence is about to be overwritten.  This is a
%   debugging tool which is useful when really strange things happen
%
%%
   \def\CheckForOverWrite#1{%
      \expandafter\stripbackslash\string#1*%
      \ifundefined{\strippedname}%
      \else%
         \ifwarncsname
            \message{Warning! The control sequence \noexpand#1 is being
          overwritten.}%
          \else
          \fi
      \fi%
   }%%
 
   \def\printwarnings{\warncsnametrue}
   \def\dontprintwarnings{\warncsnamefalse}
 
%  This fixes a bug in footnotes which caused equation numbers
%  to appear at the wrong size. The fix involves a change
%  to this and the \eqname macro
%%
   \def\FootNoteFonts{\Tenpoint}
 
   \def\Vfootnote#1{%
      \insert\footins%
      \bgroup%
         \interlinepenalty=\interfootnotelinepenalty%
         \floatingpenalty=20000%
         \singl@true\doubl@false%
         \FootNoteFonts%
         \splittopskip=\ht\strutbox%
         \boxmaxdepth=\dp\strutbox%
         \leftskip=\footindent%
         \rightskip=\z@skip%
         \parindent=0.5%
         \footindent%
         \parfillskip=0pt plus 1fil%
         \spaceskip=\z@skip%
         \xspaceskip=\z@skip%
         \footnotespecial%
         \Textindent{#1}%
         \footstrut%
         \futurelet\next\fo@t%
   }
%%
%  Various macros need to write to auxiliary files like
%  \jobname.contents, \jobname.csnames, \jobname.links
%  The following macros are used to open these files for
%  writing if the are not open
%%
 
   \def\csnamech@ck{%
       \ifcsnameopen%
       \else%
           \global\csnameopentrue%
           \immediate\openout\csnamewrite=\the\jobdir\jobname.csnames%
           \immediate\write\csnamewrite{\unlock}%
       \fi%
   }
 
   \def\linksch@ck{%
          \iflinkopen%
          \else%
              \global\linkopentrue%
              \immediate\openout\linkwrite=\the\jobdir\jobname.links%
          \fi%
   }
 
   \def\c@ntentscheck{%
       \ifcontentsopen%
       \else%
           \global\contentsopentrue%
           \immediate\openout\contentswrite=\the\jobdir\jobname.contents%
           \immediate\write\contentswrite{%
                \noexpand\titlestyle{Table of Contents}%
           }%
           \immediate\write\contentswrite{\noexpand\bigskip}%
       \fi%
   }
 
   \def\t@bleofplatescheck{%
       \ifplatesopen%
       \else%
           \global\platesopentrue%
           \immediate\openout\plateswrite=\the\jobdir\jobname.plates%
           \immediate\write\plateswrite{%
                \noexpand\titlestyle{Illustrations}%
           }%
           \immediate\write\plateswrite{%
              \unlock%
           }%
           \immediate\write\plateswrite{\noexpand\bigskip}%
       \fi%
   }
 
   \def\t@bleoftablescheck{%
       \iftableoftablesopen%
       \else%
           \global\tableoftablesopentrue%
          \immediate\openout\tableoftableswrite=\the\jobdir\jobname.tables%
           \immediate\write\tableoftableswrite{%
                \noexpand\titlestyle{Tables}%
           }%
           \immediate\write\tableoftableswrite{%
              \unlock%
           }%
           \immediate\write\tableoftableswrite{\noexpand\bigskip}%
       \fi%
   }
 
%%
%  For keeping track of the files which your main file depends upon
%  use the command \linkinput  instead of \input
%  Using this command automatically turns on linked input for
%  pictures too
%%
 
   \def\linkinput#1 {\input #1
       \iflinkedinput \relax \else \global\linkedinputtrue \fi
       \linksch@ck
       \immediate\write\linkwrite{#1}
   }
 
%%
%  To implement linked input for pictures the ordinary PHYZZX
%  macro \fil@#1 must be redefined to handle tracking
%%
 
   \def\fil@#1 {%
       \ifdummypictures%
          \fileexistsfalse%
          \picfilename={}%
       \else%
          \fileexiststrue%
          \picfilename={#1}%
       \fi%
       \iflinkedinput%
          \iflinkopen \relax%
          \else%
            \global\linkopentrue%
            \immediate\openout\linkwrite=\the\jobdir\jobname.links%
          \fi%
          \immediate\write\linkwrite{#1}%
       \fi%
   }
%%
%  The \s@vepicture macro needs to be redefined to take care of
%  writing to the file of figures.
%%
   \def\Picture#1{%
      \gl@bal\advance\figurecount by 1%
      \CheckForOverWrite#1%
      \csnamech@ck%
      \immediate\write\csnamewrite{\def\noexpand#1{\the\figurecount}}%
      \xdef#1{\the\figurecount}\pl@t%
      \selfcaptionedtrue%
   }
 
   \def\s@vepicture{%
       \iffileexists \parsefilename \redopicturebox \fi%
       \ifdim\captionwidth>\z@ \else \captionwidth=\p@cwd \fi%
       \xdef\lastpicture{%
          \iffileexists%
             \setbox0=\hbox{\raise\the\yshift \vbox{%
                \moveright\the\xshift\hbox{\picturedefinition}}%
             }%
          \else%
             \setbox0=\hbox{}%
          \fi
          \ht0=\the\p@cht \wd0=\the\p@cwd \dp0=\the\p@cdp%
          \vbox{\hsize=\the\captionwidth \line{\hss\box0 \hss }%
          \ifcaptioned%
             \vskip\the\captionskip \noexpand\Tenpoint%
             \ifselfcaptioned%
                Figure~\the\figurecount.\enspace%
             \fi%
             \the\Caption%
          \fi }%
       }%
       \iftableofplates%
          \ifplatesopen%
          \else%
             \t@bleofplatescheck%
          \fi%
          \ifselfcaptioned%
             \immediate\write\plateswrite{%
                \noexpand\platetext{%
                \noexpand\item{\rm \the\figurecount .}%
                \the\Caption}{\the\pageno}%
             }%
          \else%
             \immediate\write\plateswrite{%
                \noexpand\platetext{\the\Caption}{\the\pageno}%
             }%
          \fi%
       \fi%
       \endgroup%
   }
 
   \def\platesout{%
      \ifplatesopen
         \immediate\closeout\plateswrite%
         \global\platesopenfalse%
      \fi%
      \input \jobname.plates%
      \lock%
   }
 
   \def\tableofplateson{\global\tableofplatestrue}
 
   \def\platetext#1#2{%
       \hbox to \hsize{\vbox{\hsize=.9\hsize #1}\hfill#2}%
       \vskip \tableoftablesskip \vskip\parskip%
   }
 
%%
%  Because of the fixes to \subsubsection we need to fix 
%  \ACK and \ack
%%
 
   \def\acksection#1{\par
      \ifnum\the\lastpenalty=30000\else \penalty-100\smallskip \fi
      \noindent\undertext{#1}\enspace \vadjust{\penalty5000}}
 
   \def\ACK{\par\penalty-100\medskip \spacecheck\sectionminspace
      \line{\fourteenrm\hfil ACKNOWLEDGEMENTS\hfil}\nobreak\vskip\headskip }
   
   \def\ack{\acksection{Acknowledgements:}}
 
%%
%  In phyzzx.tex \pres@tpicture uses \parindent to leave space to
%  the right hand side of the picture.  Unfortunately this causes
%  major problems if \parindent is made too small or zero.  To
%  avoid this I have introduced a new dimension \pictureindent
%  and use it in the definition of \pres@tpicture.  This has to
%  eventually make it into phyzzx.local
%%
 
   \def\pres@tpicture{%
       \gl@bal\linesabove=\linesabove
       \s@vepicture
       \setbox\picturebox=\vbox{
       \kern \linesabove\baselineskip \kern 0.3\baselineskip
       \lastpicture \kern 0.3\baselineskip }%
       \dimen@=\p@cht \dimen@i=\dimen@
       \advance\dimen@i by \pagetotal
       \par \ifdim\dimen@i>\pagegoal \vfil\break \fi
       \dimen@ii=\hsize
       \advance\dimen@ii by -\pictureindent \advance\dimen@ii by -\p@cwd
       \setbox0=\vbox to\z@{\kern-\baselineskip \unvbox\picturebox \vss }
   }
%%
%  While we are at it let's fix a bug in PHYZZX that introduces
%  extra spaces
%%
 
   \def\subspaces@t#1:#2;{%
      \baselineskip = \normalbaselineskip%
      \multiply\baselineskip by #1 \divide\baselineskip by #2%
      \lineskip = \normallineskip%
      \multiply\lineskip by #1 \divide\lineskip by #2%
      \lineskiplimit = \normallineskiplimit%
      \multiply\lineskiplimit by #1 \divide\lineskiplimit by #2%
      \parskip = \normalparskip%
      \multiply\parskip by #1 \divide\parskip by #2%
      \abovedisplayskip = \normaldisplayskip%
      \multiply\abovedisplayskip by #1 \divide\abovedisplayskip by #2%
      \belowdisplayskip = \abovedisplayskip%
      \abovedisplayshortskip = \normaldispshortskip%
      \multiply\abovedisplayshortskip by #1%
        \divide\abovedisplayshortskip by #2%
      \belowdisplayshortskip = \abovedisplayshortskip%
      \advance\belowdisplayshortskip by \belowdisplayskip%
      \divide\belowdisplayshortskip by 2%
      \smallskipamount = \skipregister%
      \multiply\smallskipamount by #1 \divide\smallskipamount by #2%
      \medskipamount = \smallskipamount \multiply\medskipamount by 2%
      \bigskipamount = \smallskipamount \multiply\bigskipamount by 4%
   }
 
%%
%  \chapter, \section, \subsection are used to create chapters
%  referring to chapters by some \chaptername (and in particular
%  in the forward direction) is not possible.  To do this use the
%  \makename#1 command at any time.
%  For example one can say \chapter{\makename\firstchap This is a test}
%  and it will work as usual except that the line
%    \def \firstchap {a number} will be written to the file
%  \the\jobdir\jobname.csnames
%%
 
   \def\makename#1{
       \global\makenametrue
       \global\tempnametoks={#1}
   }
 
   \let\oldmakename=\makename
 
   \def\nomakename#1{\relax}
 
%%
%  While makename is usually used inside other macros, such as
%  chapter, etc., we can also use it as a general label generating
%  mechanism by saying
%      \makename\mynewname
%      \savename{This is a test of a label}
%  This will write the line
%      \def\mynewname{This is a test of label}
%  to the file \jobdir\jobname.csnames and will be available
%  after one TeXing cycle
%%
 
   \def\savename#1{%
      \CheckForOverWrite{#1}%
      \csnamech@ck%
      \immediate\write\csnamewrite{\def\the\tempnametoks{#1}}%
   }
 
%%
%  This fixes a bug in footnotes which caused equation numbers
%  to appear at the wrong size. The fix involves a change
%  to this and the \eqname macro
%%
   \def\FootNoteFonts{\Tenpoint}
 
   \def\Vfootnote#1{%
      \insert\footins%
      \bgroup%
         \interlinepenalty=\interfootnotelinepenalty%
         \floatingpenalty=20000%
         \singl@true\doubl@false%
         \FootNoteFonts%
         \splittopskip=\ht\strutbox%
         \boxmaxdepth=\dp\strutbox%
         \leftskip=\footindent%
         \rightskip=\z@skip%
         \parindent=0.5%
         \footindent%
         \parfillskip=0pt plus 1fil%
         \spaceskip=\z@skip%
         \xspaceskip=\z@skip%
         \footnotespecial%
         \Textindent{#1}%
         \footstrut%
         \futurelet\next\fo@t%
   }
%%
%  In addition to using makelabel to name chapters and sections etc.
%  we want all equation names and figure names and reference names
%  etc. to be written to the file
%     \jobdir\jobname.csnames
%  which means we have to redefine some additional PHYZZX macros
%
%  We begin with the equation macro
%%
 
   \def\eqname#1{%
      \CheckForOverWrite{#1}%
      \rel@x{\pr@tect%
      \csnamech@ck%
      \ifnum\equanumber<0%
          \xdef#1{{\noexpand\f@m0(\number-\equanumber)}}%
          \immediate\write\csnamewrite{%
            \def\noexpand#1{\noexpand\f@m0 (\number-\equanumber)}}%
          \gl@bal\advance\equanumber by -1%
      \else%
          \gl@bal\advance\equanumber by 1%
          \ifusechapterlabel%
            \xdef#1{{\noexpand\f@m0(\ifcn@@ \chapterlabel.\fi%
               \number\equanumber)}%
            }%
          \else%
             \xdef#1{{\noexpand\f@m0(\ifcn@@%
                 {\the\chapterstyle{\the\chapternumber}}.\fi%
                 \number\equanumber)}}%
          \fi%
          \ifcn@@%
             \ifusechapterlabel
                \immediate\write\csnamewrite{\def\noexpand#1{(%
                  {\chapterlabel}.%
                  \number\equanumber)}%
                }%
             \else
                \immediate\write\csnamewrite{\def\noexpand#1{(%
                  {\the\chapterstyle{\the\chapternumber}}.%
                  \number\equanumber)}%
                }%
             \fi%
          \else%
              \immediate\write\csnamewrite{\def\noexpand#1{(%
                  \number\equanumber)}}%
          \fi%
      \fi}%
      #1%
   }
 
   \def\eq{\eqname\?}
 
   \def\eqn{\eqno\eqname}
 
   \def\leqn{\leqno\eqname}
 
   \let\eqnalign=\eqname
 
%%
%   To handle equations inside appendices correctly we need to redefine
%   \APPENDIX to set \usechapterlabeltrue
%%
 
   \def\APPENDIX#1#2{%
       \global\usechapterlabeltrue%
       \par\penalty-300\vskip\chapterskip%
       \spacecheck\chapterminspace%
       \chapterreset%
       \xdef\chapterlabel{#1}%
       \titlestyle{APPENDIX #2}%
       \nobreak\vskip\headskip \penalty 30000%
       \wlog{\string\Appendix~\chapterlabel}%
   }
 
%%
%  Now we do the reference macros
%%
   \def\REFNUM#1{%
      \CheckForOverWrite{#1} %
      \rel@x\gl@bal\advance\referencecount by 1%
      \xdef#1{\the\referencecount}%
      \csnamech@ck%
      \immediate\write\csnamewrite{\def\noexpand#1{\the\referencecount}}%
   }
 
   \let\refnum=\Refnum%
%%
%  Now we do the figure naming macros
%%
 
   \def\FIGNUM#1{
      \CheckForOverWrite{#1}%
      \rel@x\gl@bal\advance\figurecount by 1%
      \xdef#1{\the\figurecount}%
      \csnamech@ck%
      \immediate\write\csnamewrite{\def\noexpand#1{\the\figurecount}}%
   }
 
%%
%  Now the table naming macros
%%
 
   \def\TABNUM#1{%
      \CheckForOverWrite{#1}%
      \rel@x \gl@bal\advance\tablecount by 1%
      \xdef#1{\the\tablecount}%
      \csnamech@ck%
      \immediate\write\csnamewrite{\def\noexpand#1{\the\tablecount}}%
   }
 
%%
%  If the switch \iftableoftables is set to be true by saying
%  \tableoftablestrue  then redefine the \TABLE and \Table macros
%  to output to a file \jobname.tables in a form which contains page
%  numbers.  This is to be used only for reasonably short table
%  captions. In this form \TABLE and \Table has two arguments
%       \TABLE\csname{caption}
%  It looked like this before but now a very long caption will cause
%  TeX to break.
%%
 
 
   \def\tableoftableson{%
      \global\tableoftablestrue%
 
      \gdef\TABLE##1##2{%
         \t@bleoftablescheck%
         \TABNUM ##1%
         \immediate\write\tableoftableswrite{%
            \noexpand\tableoftablestext{%
            \noexpand\item{\rm \the\tablecount .}%
                ##2}{\the\pageno}%
             }%
      }
 
      \gdef\Table##1{\TABLE\?{##1}Table~\?}
   }
 
   \def\tableoftablestext#1#2{%
       \hbox to \hsize{\vbox{\hsize=.9\hsize #1}\hfill#2}%
       \vskip \tableoftablesskip%
   }
 
   \def\tableoftablesout{%
      \iftableoftablesopen
         \immediate\closeout\tableoftableswrite%
         \global\tableoftablesopenfalse%
      \fi%
      \input \jobname.tables%
      \lock%
   }
 
 
 
%%
%
% Making Table of Contents
% ------------------------
%
%  The macros which follow are useful to create a table of contents
%  for a paper, thesis, book, etc.
%  To use them simply put \contentson at the beginning of the file
%  and then proceed as usual.
%
%  When you wish to output the table of contents, say
%    \endpage .....
%    \pagenumber=-1
%    \contentsinput
%
%  The \pagenumber = - 1 is used so that the table of contents pages
%  will be numbered using roman numerals.
%  This seems to be the universal convention for books.
%
%  When writing out the table of contents we need to shut off fonts
%  so that stuff used in chapter headings etc don't mess up the look
%  of things.  These definitions save the old font defs and provide
%  for shutting things off and restoring them.  In this way you
%  can input a table of contents and then go back to another file
%
%%
 
   \def\contentsoff{\contentsonfalse}
%%
%  When using the Table of Contents Stuff PHYZZX'x \f@m#1 command
%  is written too cleverly for its own good and breaks all sorts
%  of stuff.  We use the following work around
%%
 
   \def\f@m#1{\f@ntkey=#1\fam=\f@ntkey\the\textfont\f@ntkey\rel@x}
   \def\em@{\rel@x%
      \ifnum\f@ntkey=0\it%
      \else%
         \ifnum\f@ntkey=\bffam\it%
         \else\rm  %
         \fi%
      \fi%
   }
%%
%  When writing out the table of contents we only use the basic
%  roman font and so want to turn off all style changing macros
%%
 
   \def\fontsoff{%
      \def\mit{\relax}%
      \let\oldstyle=\mit%
      \def\cal{\relax}%
      \def\it{\relax}%
      \def\sl{\relax}%
      \def\bf{\relax}%
      \def\tt{\relax}%
      \def\caps{\relax}%
      \let\cp=\caps%
   }
 
%%
%  This restores the definitions of \mit, \bf, etc.
%%
 
   \def\fontson{%
      \def\rm{\n@expand\f@m0}%
      \def\mit{\n@expand\f@m1}%
      \let\oldstyle=\mit%
      \def\cal{\n@expand\f@m2}%
      \def\it{\n@expand\f@m\itfam}%
      \def\sl{\n@expand\f@m\slfam}%
      \def\bf{\n@expand\f@m\bffam}%
      \def\tt{\n@expand\f@m\ttfam}%
      \def\caps{\n@expand\f@m\cpfam}%
      \let\cp=\caps%
   }
 
   \fontson
%%
%  The default setting in PHYZZX is not to generate a Table
%  of Contents.  To turn on automatic generation of the
%  table of contents we have to open the file \jobname.contents
%  etc.  We also have to redefine \chapter, \section, \subsection
%  to handle this.  The macro \contentson does all of this work
%
%%
 
   \def\contentson{%
       \contentsontrue%
       \numberedchapters%
   }
%%
%  Redefine some basic chapter stuff to handle contents
%  and introduce subsubsections
%%
 
   \def\@alpha#1{\count255='140 \advance\count255 by #1\char\count255}
   \def\alphabetic{\@alpha}
   \def\@Alpha#1{\count255='100 \advance\count255 by #1\char\count255}
   \def\Alphabetic{\@Alpha}
   \def\@Roman#1{\uppercase\expandafter{\romannumeral #1}}
   \def\Roman{\@Roman}
   \def\@roman#1{\romannumeral #1}
   \def\roman{\@roman}
   \def\@number#1{\number #1}
   \def\Number{\@number}
 
   \def\leaderfill{\leaders\hbox to 1em{\hss.\hss}\hfill}
 
 
   \def\chapterinfo#1{%
      \line{%
         \ifcn@@%
            \hbox to \itemsize{\hfil\chapterlabel .\quad\ }%
         \fi%
         \noexpand{#1}\leaderfill\the\pagenumber%
      }%
   }
 
   \def\sectioninfo#1{%
      \line{%
         \ifcn@@%
            \hbox to 2\itemsize{\hfil\sectlabel \quad}%
          \else%
            \hbox to \itemsize{\hfil\quad}%
          \fi%
          \ \noexpand{#1}%
          \leaderfill \the\pagenumber%
      }%
   }
 
   \def\subsectioninfo#1{%
      \line{%
         \ifcn@@%
            \hbox to 3\itemsize{\hfil \quad\subsectlabel\quad}%
         \else%
            \hbox to 2\itemsize{\hfil\quad}%
         \fi%
          \ \noexpand{#1}%
          \leaderfill \the\pagenumber%
      }%
   }
 
   \def\subsubsecinfo#1{%
      \line{%
         \ifcn@@%
            \hbox to 4\itemsize{\hfil\subsubsectlabel\quad}%
         \else%
            \hbox to 3\itemsize{\hfil\quad}%
         \fi%
         \ \noexpand{#1}\leaderfill \the\pagenumber%
      }%
   }
 
   \def\CONTENTS#1;#2{
       {\let\makename=\nomakename
        \if#1C
            \immediate\write\contentswrite{\chapterinfo{#2}}%
        \else\if#1S
                \immediate\write\contentswrite{\sectioninfo{#2}}%
             \else\if#1s
                     \immediate\write\contentswrite{\subsectioninfo{#2}}%
                  \else\if#1x
                          \immediate\write\contentswrite{%
                              \subsubsecinfo{#2}}%
                       \fi
                  \fi
             \fi
        \fi
       }
   }
 
   \def\chapterreset{\gl@bal\advance\chapternumber by 1%
       \ifnum\equanumber<0 \else\gl@bal\equanumber=0 \fi%
       \gl@bal\sectionnumber=0  \gl@bal\let\sectlabel=\rel@x%
       \gl@bal\subsectnumber=0   \gl@bal\let\subsectlabel=\rel@x%
       \gl@bal\subsubsectnumber=0 \gl@bal\let\subsubsectlabel=\rel@x%
       \ifcn@%
           \gl@bal\cn@@true {\pr@tect\xdef\chapterlabel{%
           {\the\chapterstyle{\the\chapternumber}}}}%
       \else%
           \gl@bal\cn@@false \gdef\chapterlabel{\rel@x}%
       \fi%
       \gl@bal\startofchaptertrue%
   }
 
   \def\chapter#1{\par \penalty-300 \vskip\chapterskip%
       \spacecheck\chapterminspace%
       \gdef\thechapterhead{#1}%
       \gdef\thesectionhead{\relax}%
       \gdef\thesubsecthead{\relax}%
       \gdef\thesubsubsecthead{\relax}%
       \chapterreset \the\chapterformat{\the\chapterfontstyle%
          \ifcn@@\chapterlabel.~~\fi #1}%
       \nobreak\vskip\headskip \penalty 30000%
       {\pr@tect\wlog{\string\chapter\space \chapterlabel}}%
       \ifmakename%
           \csnamech@ck
           \ifcn@@%
              \immediate\write\csnamewrite{\def\the\tempnametoks{%
                 {\the\chapterstyle{\the\chapternumber}}}%
              }%
            \fi%
            \global\makenamefalse%
       \fi%
       \ifcontentson%
          \c@ntentscheck%
          \CONTENTS{C};{#1}%
       \fi%
       }%
 
       \let\chap=\chapter%
 
   \def\section#1{\par \ifnum\lastpenalty=30000\else%
       \penalty-200\vskip\sectionskip \spacecheck\sectionminspace\fi%
       \gl@bal\advance\sectionnumber by 1%
       \gl@bal\subsectnumber=0%
       \gl@bal\let\subsectlabel=\rel@x%
       \gl@bal\subsubsectnumber=0%
       \gl@bal\let\subsubsectlabel=\rel@x%
       \gdef\thesectionhead{#1}%
       \gdef\thesubsecthead{\relax}%
       \gdef\thesubsubsecthead{\relax}%
       {\pr@tect\xdef\sectlabel{\ifcn@@%
          {\the\chapterstyle{\the\chapternumber}}.%
          {\the\sectionstyle{\the\sectionnumber}}\fi}%
       \wlog{\string\section\space \sectlabel}}%
       \the\sectionformat{\noindent\the\sectionfontstyle%
            {\ifcn@@\unskip\hskip\sectionindent\sectlabel~~\fi%
                \the\sectionfontstyleb#1}}%
       \par%
       \nobreak\vskip\headskip \penalty 30000%
       \ifmakename%
           \csnamech@ck%
           \ifcn@@%
              \immediate\write\csnamewrite{\def\the\tempnametoks{%
                 {\the\chapterstyle{\the\chapternumber}.%
                  \the\sectionstyle{\the\sectionnumber}}}
              }%
            \fi%
            \global\makenamefalse%
       \fi%
       \ifcontentson%
          \c@ntentscheck%
          \CONTENTS{S};{#1}%
       \fi%
   }
 
   \def\subsection#1{\par \ifnum\lastpenalty=30000\else%
       \penalty-200\vskip\sectionskip \spacecheck\sectionminspace\fi%
       \gl@bal\advance\subsectnumber by 1%
       \gl@bal\subsubsectnumber=0%
       \gl@bal\let\subsubsectlabel=\rel@x%
       \gdef\thesubsecthead{#1}%
       \gdef\thesubsubsecthead{\relax}%
       {\pr@tect\xdef\subsectlabel{\the\subsectionfontstyle%
           \ifcn@@{\the\chapterstyle{\the\chapternumber}}.%
           {\the\sectionstyle{\the\sectionnumber}}.%
           {\the\subsectstyle{\the\subsectnumber}}\fi}%
           \wlog{\string\section\space \subsectlabel}%
       }%
       \the\subsectionformat{\noindent\the\subsectionfontstyle%
         {\ifcn@@\unskip\hskip\subsectionindent%
          \subsectlabel~~\fi#1}}%
       \par%
       \nobreak\vskip\headskip \penalty 30000%
       \ifmakename%
           \csnamech@ck%
           \ifcn@@%
              \immediate\write\csnamewrite{\def\the\tempnametoks{%
                 {\the\chapterstyle{\the\chapternumber}}.%
                 {\the\sectionstyle{\the\sectionnumber}}.%
                 {\the\subsectstyle{\the\subsectnumber}}}%
              }%
            \fi%
            \global\makenamefalse%
       \fi%
       \ifcontentson%
          \c@ntentscheck%
          \CONTENTS{s};{#1}%
       \fi%
   }
 
   \def\subsubsection#1{\par \ifnum\lastpenalty=30000\else%
       \penalty-200\vskip\sectionskip \spacecheck\sectionminspace\fi%
       \gl@bal\advance\subsubsectnumber by 1%
       \gdef\thesubsubsecthead{#1}%
       {\pr@tect\xdef\subsubsectlabel{\the\subsubsectionfontstyle\ifcn@@%
           {\the\chapterstyle{\the\chapternumber}}.%
           {\the\sectionstyle{\the\sectionnumber}}.%
           {\the\subsectstyle{\the\subsectnumber}}.%
           {\the\subsubsectstyle{\the\subsubsectnumber}}\fi}%
           \wlog{\string\section\space \subsubsectlabel}%
       }%
       \the\subsubsectionformat{\the\subsubsectionfontstyle%
          \noindent{\ifcn@@\unskip\hskip\subsectionindent%
            \subsubsectlabel~~\fi#1}}%
       \par%
       \nobreak\vskip\headskip \penalty 30000%
       \ifmakename%
           \csnamech@ck%
           \ifcn@@%
              \immediate\write\csnamewrite{\def\the\tempnametoks{%
                {\the\chapterstyle{\the\chapternumber}.%
                 \the\sectionstyle{\the\sectionnumber}.%
                 \the\subsectionstyle{\the\subsectnumber}.%
                 \the\subsubsectstyle{\the\subsubsectnumber}}}%
              }%
            \fi%
            \global\makenamefalse%
       \fi%
       \ifcontentson%
          \c@ntentscheck%
          \CONTENTS{x};{#1}%
       \fi%
   }%
 
   \def\contentsinput{%
       \ifcontentson%
           \contentsopenfalse%
           \immediate\closeout\contentswrite%
           \global\oldheadline=\headline%
           \global\headline={\hfill}%
           \global\oldfootline=\footline%
           \global\footline={\hfill}%
           \fontsoff \unlock%
           \input \the\jobdir\jobname.contents%
           \fontson%
           \lock%
           \endpage%
           \global\headline=\oldheadline%
           \global\footline=\oldfootline%
       \else%
           \relax%
       \fi%
   }
 
 
%%
%   this resets the footline for special page numbering
%%
 
       \def\myfootline#1{\footline={\hss #1 \hss}}
 
       \def\phyzzxfootline{
           \footline={\ifletterstyle\the\letterfootline%
               \else\the\paperfootline\fi}%
       }
 
%%
%   The following macros allow you to do:
%   \begverb{`\$}
%   verbatim stuff
%   $endverb
%
%   Tabs are still not handled correctly, and lines too long for
%   the current line are broken.  Also, the sequences ?` and !`
%   will be printed incorrectly (see TeXbook, page 381.)
%%
 
   {\obeyspaces\gdef\myactivespaces{\def {\ }}}
 
   \def\begverb#1{\begingroup%
      \def\par{\leavevmode\endgraf}%
      \catcode`\\=12\catcode`\{=12%
      \catcode`\}=12\catcode`\$=12\catcode`\&=12%
      \catcode`\#=12\catcode`\%=12\catcode`\~=12%
      \catcode`\_=12\catcode`\^=12\obeyspaces\obeylines\tt%
      \parindent=0pt\catcode#1=0%
      \myactivespaces%
   }
 
   \def\endverb{\par\endgroup}
 
%%
%   The following command allows you to go
%   \verbfile{name}
%   and it will stick the current file into the output in
%   verbatim mode.
%%
   \def\verbfile#1{
       {\catcode`\\=12\catcode`\{=12
       \catcode`\}=12\catcode`\$=12\catcode`\&=12
       \catcode`\#=12\catcode`\%=12\catcode`\~=12
       \catcode`\_=12\catcode`\^=12\obeyspaces\obeylines\tt
       \verbdonetrue\openin\verbinfile=#1
       \loop\read\verbinfile to \inline
           \ifeof\verbinfile
               \verbdonefalse
           \else
              \leftline{\inline}
           \fi
       \ifverbdone\repeat
       \closein\verbinfile}
   }
 
%%
%  This makes boxes around boxes
%%
   \def\boxit#1{\vbox{\hrule\hbox{\vrule\kern3pt%
       \vbox{\kern3pt#1\kern3pt}\kern3pt\vrule}\hrule}%
   }
 
   \def\square{%
      \setbox\squarebox=\boxit{\hbox{\phantom{x}}}
      \squareht = 1\ht\squarebox
      \squarewd = 1\wd\squarebox
      \vbox to 0pt{
          \offinterlineskip \kern -.9\squareht
          \hbox{\copy\squarebox \vrule width .2\squarewd height .8\squareht
              depth 0pt \hfill
          }
          \hbox{\kern .2\squarewd\vbox{%
            \hrule height .2\squarewd width \squarewd}
          }
          \vss
      }
   }
 
   \def\xstrut#1{\dimen\str = #1
       \hbox{\vrule height .8dm\str depth .2dm\str width 0pt}
   }
 
   \def\fboxit#1#2{
       \vbox{\hrule height #1
           \hbox{\vrule width #1
               \kern3pt \vbox{\kern3pt#2\kern3pt}\kern3pt \vrule width #1
           }
           \hrule height #1
       }
   }
%%
% \draft causes the symbolic names of equations to be printed
%        alongside the equation numbers
%%
 
   \let\eqnameold=\eqname
 
   \def\draft{\def\eqname##1{\eqnameold##1:{\tt\string##1}}
      \let\eqnalign = \eqname
   }
%%
%  Usage: \dorunningheadlines
%
%  This changes format so that pagenumbers appear
%  alternately on the upper left and right hand corners of facing
%  pages and on the left hand page the current chapter title
%  appears whereas on the lefthand side of the page the
%  current section title appears
%
%%
   \def\runningrightheadline{%
       \hfill%
       \tenit%
       \ifstartofchapter%
          \global\startofchapterfalse%
       \else%
          \ifcn@@ \the\chapternumber.\the\sectionnumber\quad\fi%
              {\fontsoff\thesectionhead}%
       \fi%
       \qquad\twelverm\folio%
   }
 
   \def\runningleftheadline{%
      \twelverm\folio\qquad%
      \tenit%
      \ifstartofchapter%
          \global\startofchapterfalse%
      \else%
         \ifcn@@%
             Chapter \the\chapternumber \quad%
         \fi%
         {\fontsoff\thechapterhead}%
         \hfill%
      \fi%
   }
 
   \runningheadlines={%
      \ifodd\pageno%
         \runningrightheadline%
      \else%
         \runningleftheadline%
      \fi
   }
 
   \def\dorunningheadlines{%
       \global\headline=\runningheadlines%
       \footline={\hfill}%
   }
%%
%   Doing dropped letters
%
%
%
%  The font for dropped letters should be magstep 5 of whatever
%  font you are using in the text.
%  Here the default font used by Phyzzx is 10pt
%  The \dfont is cmr10 scaled \magstep5
%  If you are using ten point fonts the \dfont should be cmr10
%
%  The baselineskip should be a couple of points larger than the
%  size of the font for everything to look good.
%
%%
 
   \font\dfont=cmr10 scaled \magstep5
 
%%
%   When using dropped letters you have to adjust the baselineskip
%   to match since we don't have arbitrary sized fonts on the
%   mainframe.  Thus, for the \dfont defined above
%     \baselineskip 14pt
%   seems to work well
%%
 
   \newbox\cstrutbox
   \newbox\dlbox
   \newbox\vsk
 
   \setbox\cstrutbox=\hbox{\vrule height10.5pt depth3.5pt width\z@}
 
   \def\cstrut{\relax\ifmmode\copy\cstrutbox\else\unhcopy\cstrutbox\fi}
 
   \def\dl #1{\noindent\strut
       \setbox\dlbox=\hbox{\dfont #1\kern 2pt}%
       \setbox\vsk=\hbox{(}%
       \hangindent=1.1\wd\dlbox
       \hangafter=-2
       \strut\hbox to 0pt{\hss\vbox to 0pt{%
         \vskip-.75\ht\vsk\box\dlbox\vss}}%
       \noindent
   }
 
%%
%
% Macros for doing two-column mode output
% just say \twocols at the top of the file
%
%%
 
   \newdimen\fullhsize
 
   \fullhsize=6.5in
   \def\fullline{\hbox to\fullhsize}
   \let\l@r=L
 
   \newbox\leftcolumn
   \newbox\midcolumn
 
   \def\twocols{\hsize = 3.1in%
%%
%  Since double columns are narrow, the normal TeX spacing will produce
%  many overfull hboxes. To avoid this, the interword skip \spaceskip is
%  replaced by \doublecolskip with the default value
%
%       \doublecolskip=.3333em plus .3333em minus .1em
%
%  which gives more stretch as the default.
%  and the \hyphenpenalty is set to zero. To balance the columns, it is
%  necessary to allow some vertical stretch; for example use
%
%       \parskip=\smallskipamount
%
%  More uniform spacing can be obtained by changing \doublecolskip.
%  Reduces the number of black boxes in narrow columns
%%
%
      \doublecolskip=.3333em plus .3333em minus .1em
      \global\spaceskip=\doublecolskip%
      \global\hyphenpenalty=0
%
      \singlespace
%
      \gdef\makeheadline{%
          \vbox to 0pt{ \skip@=\topskip%
          \advance\skip@ by -12pt \advance\skip@ by -2\normalbaselineskip%
          \vskip\skip@%
          \fullline{\vbox to 12pt{}\the\headline}\vss}\nointerlineskip%
      }%
%
      \def\makefootline{\baselineskip = 1.5\normalbaselineskip
           \fullline{\the\footline}
      }
%
      \output={%
          \if L\l@r%
             \global\setbox\leftcolumn=\columnbox \global\let\l@r=R%
          \else%
              \doubleformat \global\let\l@r=L%
          \fi%
          \ifnum\outputpenalty>-20000 \else\dosupereject\fi%
      }
%
      \def\doubleformat{
          \shipout\vbox{%
             \makeheadline%
             \fullline{\box\leftcolumn\hfil\columnbox}%
             \makefootline%
          }%
          \advancepageno%
      }
%
      \def\columnbox{\leftline{\pagebody}}
%
      \outer\def\twobye{%
          \par\vfill\supereject\if R\l@r \null\vfill\eject\fi\end%
      }%
   }
%%
%  Macros for doing threecolumn output
 
   \def\threecols{
       \hsize = 2.0in \tenpoint
 
      \doublecolskip=.3333em plus .3333em minus .1em
      \global\spaceskip=\doublecolskip%
      \global\hyphenpenalty=0
 
       \singlespace
 
       \def\makeheadline{\vbox to 0pt{ \skip@=\topskip
           \advance\skip@ by -12pt \advance\skip@ by -2\normalbaselineskip
           \vskip\skip@ \fullline{\vbox to 12pt{}\the\headline} \vss
           }\nointerlineskip
       }
       \def\makefootline{\baselineskip = 1.5\normalbaselineskip
                 \fullline{\the\footline}
       }
 
       \output={
          \if L\l@r
             \global\setbox\leftcolumn=\columnbox \global\let\l@r=M
          \else \if M\l@r
                   \global\setbox\midcolumn=\columnbox
                   \global\let\l@r=R
                \else \tripleformat \global\let\l@r=L
                \fi
          \fi
          \ifnum\outputpenalty>-20000 \else\dosupereject\fi
       }
 
       \def\tripleformat{
           \shipout\vbox{
               \makeheadline
               \fullline{\box\leftcolumn\hfil\box\midcolumn\hfil\columnbox}
               \makefootline
           }
           \advancepageno
       }
 
       \def\columnbox{\leftline{\pagebody}}
 
       \outer\def\threebye{
           \par\vfill\supereject
           \if R\l@r \null\vfill\eject\fi
           \end
       }
   }
 
%%
%  extra font definitions
%%
 
%
%
%\def\ninef@nts{\relax
%    \textfont0=\ninerm          \scriptfont0=\sixrm
%      \scriptscriptfont0=\fiverm
%    \textfont1=\ninei           \scriptfont1=\sixi
%      \scriptscriptfont1=\fivei
%    \textfont2=\ninesy          \scriptfont2=\sixsy
%      \scriptscriptfont2=\fivesy
%    \textfont3=\nineexx          \scriptfont3=\nineex
%      \scriptscriptfont3=\nineex
%    \textfont\itfam=\nineit     \scriptfont\itfam=\ninei  % no \sevenit
%    \textfont\slfam=\ninesl     \scriptfont\slfam=\sixrm % no \sevensl
%    \textfont\bffam=\ninebf     \scriptfont\bffam=\sixbf
%      \scriptscriptfont\bffam=\fivebf
%    \textfont\ttfam=\ninett
%    \textfont\cpfam=\ninecp }
%
 
 
%%
%  If you are on the Amiga then check to see if the file
%  vd0:macros.tex exists, if it does load it
%  For the purpose of being able to do forwardreferencing
%  check to see if \jobname.csnames exists and if so \input it
%%
   
   \everyjob{%
      \xdef\today{\monthname~\number\day, \number\year}
      \GetIfExists myphyx.tex
      \ifforwardrefson%
         \GetIfExists \the\jobdir\jobname.csnames
      \fi%
   }
 
   
\contentsoff
\lock

