Relations between interstellar density and magnetic field fluctuations I. Kinetic theory of fluctuations
Using linear kinetic plasma theory the relation between electron density and magnetic field fluctuations for low-frequency plasma waves for Maxwellian background distribution functions of arbitrary temperatures in an uniform magnetic field is derived. By taking the non-relativistic temperature limit this ratio is calculated for the diffuse intercloud medium in our Galaxy. The diffuse intercloud medium is the dominant phase of the interstellar medium with respect to radio wave propagation, dispersion and rotation measure studies. The differences between the relation of electron density and magnetic field fluctuations from the linear kinetic theory as compared to the classical MHD theory are established and discussed.
sl1.tex

\documentstyle[psfig2]{jpp}
%\parskip=3pt plus 1pt minus 0.5pt
%\baselineskip=12pt
%\magnification=1200
%\nopagenumbers
%\parindent = 4 mm
%\voffset = 10 mm
%\hoffset = 5 mm
%\def\figure#1#2 {\midinsert\vskip#1\noindent\tenit#2\endinsert}
%\def\references {\leftskip4mm\parindent-4mm\baselineskip3.5mm\srm}
\def\kr{cosmic ray }
\def\e{\, \rm e}
\def\real{\Re }
\def\imag{\Im }
\def\gam{\gamma }
\def\pkt{{\bf \cdot }}
\def\gm{\gamma }
\def\sccr{scattering center compression ratio }
\def\diff{{\bf \nabla \cdot }}
\def\rott{{\bf \nabla \times }}
\def\ipm{interplanetary medium }
\def\ig{$\Omega _p$}
\def\eg{$\Omega _e$}
\def\wpe{\omega _{pe}}
\def\wpa{$(\sum_a\omega _{pa}^2)^{1/2}$}
\def\lde{$\lambda _{De}$}
\def\ism{interstellar medium }
\def\ee{\end{equation}}
\def\be{\begin{equation}}
\def\bdm{\begin{displaymath}}
\def\edm{\end{displaymath}}
\def\im{interstellar medium }
\def\sa{{\rm sgn}(q_a)}
%\hsize=5.75 true in
%\vsize=8.75 true in
%\hoffset=0.25truein
%\voffset=-0.4truein
\begin{document}
\title[Kinetic theory of interstellar density and magnetic field fluctuations]
{Relations between interstellar density and magnetic field fluctuations I. 
Kinetic theory of fluctuations}
\author[R. Schlickeiser and I. Lerche]{R. \ns  
S\ls C\ls H\ls L\ls I\ls C\ls K\ls E\ls I\ls S\ls E\ls R
and 
I.\ns L\ls E\ls \ls R\ls C\ls H\ls E\footnote{Permanent address:
Department of Geological Sciences, University of South Carolina, Columbia, SC 29208, USA; black@geol.sc.edu}}
\affiliation{Institut f\"ur Theoretische Physik, Lehrstuhl IV: 
Weltraum- und Astrophysik, Ruhr-Universit\"at Bochum, 
D-44780 Bochum, Germany}
\date{18 March 2002, in revised form 29 May 2002}
\maketitle
\begin{abstract}
Using linear kinetic plasma theory the relation between 
electron density and magnetic field
fluctuations for low-frequency plasma waves for Maxwellian background distribution functions
of arbitrary temperatures in an uniform magnetic field is derived. 
By taking the non-relativistic temperature limit 
this ratio is calculated for the diffuse intercloud medium in our Galaxy.
The diffuse intercloud medium
is the dominant phase of the interstellar medium with respect to
radio wave propagation, dispersion and rotation measure studies. 
The differences between the relation of electron density and magnetic field
fluctuations from the linear kinetic theory as compared to the classical MHD theory
are established and discussed.
\end{abstract}

\section{Introduction}
Important input quantities for the quasilinear test-particle description of 
cosmic ray transport in weakly-turbulent astrophysical plasmas are the wavenumber
power spectra of magnetic field fluctuations. Within the plasma wave viewpoint, the plasma
irregularities are usually modelled as a superposition of linear waves well below the ion 
cyclotron frequency, such as Alfven and magnetosonic waves. However, the observed 
turbulence properties in the more distant interstellar and intergalactic plasmas are obtained
from radio propagation measurements as dispersion measures, rotation measures and
interstellar scintillation. These turbulence diagnostics are biased towards the high-density 
ionized interstellar phases
with large volume filling factors, i.e. the diffuse intercloud gas and HII envelopes. In
particular, dispersion measure and scintillation data are primarily diagnostics of density
and only secondarily of magnetic field. These diagnostics demonstrate the existence of
interstellar density irregularities with Kolmogorov-type ($ \propto \omega ^{-s}$, $s=const.$)
frequency power spectra extending over 11 decades 
in frequency, much below ($\omega <<\Omega _p$) the proton gyrofrequency (Rickett \cite{r90}, 
Armstrong et al. \cite{ars95}). 

Often the electromagnetic fluctuations are described within magnetohydodynamic (MHD) theory
(e.g. Sturrock \cite{s94}, Goldreich \& Sridhar \cite{gs95}, 
Hollweg \cite{h99}, Lithwick \& Goldreich \cite{lg02}) 
which is appropriate at large turbulence scalelength $l\ge l_{MHD}$.
However, the plasma parameter of the diffuse intercloud medium 
$g=\nu _{ee}/\omega _{p,e}\simeq 10^{-10}$ is much smaller than unity, so that a kinetic description of
the electromagnetic turbulence seems to be necessary. It is the purpose of
the present paper to provide the relation between electron density and magnetic field
fluctuations on the basis of the linear kinetic plasma theory. 
In paper II of this series we
will use the kinetic turbulence relations to calculate frequency power spectra of electron density 
fluctuations 
from anisotropic power spectra of magnetic field fluctuations in the form of Alfven and
magnetosonic waves. Such anisotropic interstellar magnetic field power spectra are required in
order to be in accord with the heating/cooling balance of the diffuse intercloud medium 
(Lerche \& Schlickeiser \cite{ls1}).
%
\section{Diffuse intercloud plasma parameters}
%
According to 
Rickett (\cite{r90}), Spangler (\cite{s91}), Lerche \& Schlickeiser
(\cite{ls1}) the diffuse intercloud gas can be well modelled 
as an isotropic Maxwellian plasma with the following plasma and turbulence parameters: 
$B_0=1.3 \mu $G, 
$n_e=0.08$ cm$^{-3}$, $s=5/3$, $v_e\simeq 2\cdot 10^7$ cm s$^{-1}$, $T_e=T_p$,
$v_p=v_e (m_e/m_p)^{1/2}=4.7\cdot 10^5$ cm s$^{-1}$, 
$k_{min}=2\pi/l_{max}=2\cdot 10^{-18}$ cm $^{-1}$ 
with $l_{max}=3\cdot 10^{18}$ 
cm, $k_{max}=2\pi/l_{min}=8\cdot 10^{-8}$ cm$^{-1}$ 
with $l_{min}=8\cdot 10^7$ cm. $l_{min}$ and $l_{max}$ refer to the smallest and largest 
scale turbulene scale length.
We then infer for the Alfven speed $V_A=10^6$ cm s$^{-1}$, 
so that the ratio $\chi =V_A/v_e=0.05$. The non-relativistic electron and proton
gyrofrequencies are $\Omega _e=18$ Hz and $\Omega _p=0.01$ Hz, respectively.
For the thermal electron and proton gyroradii we obtain $R_e=v_e/|\Omega _e|=1.1\cdot 10^6$ cm
and $R_p=(m_p/m_e)^{1/2}R_e=43R_e=4.7\cdot 10^7$ cm.

Because one is dealing with waves representing departures from a homogenous
system, there are fluctuations in particle number density and magnetic field
fluctuations that are correlated. The basic procedure to identify these
variations has been originally given for the solar wind plasma 
by Wu \& Huba (\cite{wh75}). 
However, their analysis deals with a specific range of parameter values, in
particular they consider the case $v_e<<V_A$ opposite to ours.  
Here we calculate anew the relation between electron number density
fluctuations, $\delta n_e$, and magnetic field fluctuations, $\delta B_i$, for a more general
range of plasma parameter values.
%
\section{Kinetic derivation of fluctuations in the electron number density}
%
\smallskip
\leftline{3.1 {\it General reduction for isotropic background distribution functions}}
\smallskip
%
Expanding the Fourier-Laplace-transformed Vlasov
equation and Maxwell's equations for collisionless plasmas to first order in 
perturbed quantities one obtains the fluctuations, $\delta f_a$, to
the particle distribution function of plasma species $a$ and the 
magnetic field fluctuations $\delta \vec{B}$ in terms of the fluctuations 
$\vec{E}$ in the electric field for any wave type 
any isotropic equilibrium distribution function $f_a^{(0)}(p)$ 
(see e.g. Schlickeiser \cite{s02}, Eqs. (B.16) and (8.3.18))
\bdm 
\delta f_a(\vec{k},\omega ,p)=-{q_a\sa \over \Omega _a}{\gamma \over p}
{\partial f_a^{(0)}(p)\over \partial p}
\int_{-\infty \sa }^0d\alpha 
\bigl(p_{\perp }[E_x\cos (\phi -\alpha )+E_y\sin (\phi -\alpha )]
\edm
\be
+E_zp_{\parallel }\bigr)
\exp \bigl [{\imath \gamma \over \Omega _a}[(k_{\parallel }v_{\parallel }-
\omega )\alpha -k_{\perp }v_{\perp }(\sin (\phi -\alpha )-\sin \phi )]\bigr]
\label{delfa}
\ee
and
\be
\delta B(\vec{k}, \omega )={c\over \omega }\vec {k} \times \vec{E}
\label{delb}
\ee
where we have adopted a cartesian coordinate system 
with the wave vector $\vec{k}=(k_{\perp },0,k_{\parallel })=
k(\sin \theta ,0,\cos \theta )$ and the uniform background magnetic field 
$\vec{B}_0=(0,0,B_0)$ lying parallel to the $z$-axis.

By integrating $\delta f_a$ over all particle momenta 
$\vec{p}=\gamma m_a\vec{v}$, one
obtains the fluctuations in number density, $\delta n_a$, for each particle
species, thereby directly relating the number density fluctuations to the
electric field fluctuations
\bdm
\delta n_a(\vec{k},\omega )=
\int d^3p\, \delta f_a(\vec{k},\omega ,p)=
\int_0^{2\pi }d\phi \int_0^{\pi }d\Theta \sin \Theta 
\int _0^\infty dp p^2\delta f_a=
\edm
\bdm
-{q_a\sa (m_ac)^2\over \Omega _a}
\int_0^\infty dx\; \sqrt{1+x^2}x^2
{\partial f_a^{(0)}(x)\over \partial x}
\edm
\bdm
\int_{-\infty \sa }^0d\alpha 
\exp [-{\imath \sa \omega \sqrt{1+x^2}\alpha \over \Omega _a}] 
\bigl([E_x\cos \alpha -E_y\sin \alpha ]\sin \Theta \cos \phi 
\edm
\bdm
+[E_x\sin \alpha +E_y\cos \alpha ]\sin \Theta \sin \phi +E_zcos \Theta \bigr)
\edm
\be
\exp \bigl [-{\imath cx\sa \over \Omega _a}
[k_{\parallel }\alpha \cos \Theta +
k_{\perp }(1-\cos \alpha )\sin \Theta \sin \phi 
+k_{\perp }\sin \alpha \sin \Theta \cos \phi )]\bigr]
\label{deltana}
\ee
where we have introduced the normalised momentum $x=p/(m_ac)$ so that
$\gamma =\sqrt{1+x^2}$.

Applying the general integral (Gradshteyn \& Ryzhik \cite{gr65}, Eq. (4.624))
\bdm 
J(A,B,D)\equiv \int_0^{\pi} d\Theta \int_0^{2\pi }d\phi \; 
F(A\cos \Theta +B\sin \Theta \cos \phi +D\sin \Theta \sin \phi )=
\edm
\be
2\pi \int _{-1}^1dtF(Rt)=4\pi \sinh (R)/R
\label{grint}
\ee
to the function $F(t)=\exp (t)$, where $R=\sqrt{A^2+B^2+D^2}$, and derivatives of
Eq. (\ref{grint}) with respect to $A$, $B$, and $D$, respectively, we reduce 
Eq. (\ref{deltana}) to
\bdm
\delta n_a=
-{4\pi \imath cq_a(m_ac)^2\over \Omega ^2_a}
\int_0^\infty dx\; \sqrt{1+x^2}x^3
{\partial f_a^{(0)}(x)\over \partial x}
\edm
\bdm
\int_{-\infty \sa }^0d\alpha 
\exp [-{\imath \sa \omega \sqrt{1+x^2}\alpha \over \Omega _a}]
\bigl(k_{\parallel }E_z\alpha +
\edm
\be
k_{\perp }[E_x\sin \alpha +E_y(\cos \alpha -1)]\bigr)
\Bigl[{\sin Gx\over G^3x^3}-{\cos Gx\over G^2x^2}\Bigr]
\label{deltana1}
\ee
where
\be
G\equiv {c\over \Omega _a}\sqrt{k_{\parallel }^2\alpha ^2+\, 
2k_{\perp }^2(1-\cos \alpha )}
\label{Gdef}
\ee

%
\smallskip
\smallskip
\leftline{3.2 {\it Maxwellian background distribution functions}}
\smallskip
%
Adopting the thermal equilibrium distribution
\be
f_a^{(0)}={\mu _an_a\over 4\pi (m_ac)^3K_2(\mu _a)}
\exp [-\mu _a\sqrt{1+x^2}]
\label{thermaldis}
\ee
with the temperature parameter 
\be
\mu _a={m_ac^2\over k_BT_a}
\label{muadef}
\ee
Eq. (\ref{deltana1})
becomes
\bdm
\delta n_a=
{\imath  q_a\mu _a^2n_a\over \Omega ^2_am_aK_2(\mu _a)} 
\int_{-\infty \sa }^0d\alpha 
G^{-3}
\bigl(k_{\parallel }E_z\alpha +
k_{\perp }[E_x\sin \alpha +E_y(\cos \alpha -1)]\bigr)
\edm
\be 
\int_0^\infty dx\;\exp [-Q\sqrt{1+x^2}]
\Bigl[x\sin Gx-\, Gx^2\cos Gx\Bigr]
\label{deltanatherm}
\ee
where 
\be
Q\equiv \mu _a + \; {\imath \sa \omega \alpha \over \Omega _a}
\label{defQ}
\ee
The $x$-integrations can be readily performed using
(Gradshteyn \& Ryzhik \cite{gr65}, Eq. (3.914))
\be
J(G)=\int_0^\infty dx\, e^{-Q\sqrt{1+x^2}}\, \cos Gx=
Q{K_1(\sqrt{Q^2+G^2})\over \sqrt{Q^2+G^2}}
\label{intjg}
\ee
and its first and second derivative with respect to $G$ yielding
\bdm 
\int_0^\infty dx\;\exp [-Q\sqrt{1+x^2}]
\Bigl[x\sin Gx-\, Gx^2\cos Gx\Bigr]
\edm
\be
=-{\partial J\over \partial G}+\; G{\partial ^2J\over \partial G^2}
=QG^3{K_3(\sqrt{Q^2+G^2})\over (Q^2+G^2)^{3/2}}
\label{intjg1}
\ee
so that
\bdm
\delta n_a=
{\imath  q_a\mu _a^2n_a\over \Omega ^2_am_aK_2(\mu _a)} 
\int_{-\infty \sa }^0d\alpha 
\bigl(k_{\parallel }E_z\alpha +
\edm
\be
k_{\perp }[E_x\sin \alpha +E_y(\cos \alpha -1)]\bigr)
Q{K_3(\sqrt{Q^2+G^2})\over (Q^2+G^2)^{3/2}}
\label{deltanatherm1}
\ee
which is exact for all temperature values $\mu _a$.

%
\smallskip
\smallskip
\leftline{3.3 {\it Nonrelativistic temperature limit} $\mu _a>>1$}
\smallskip
%
For non-relativistic temperatures $\mu _a>>1$ and low-frequencies 
$\omega <<\Omega _a<<\mu_a\Omega _a$ we use the approximations 
$K_{\nu }(x)\simeq \sqrt{\pi /2x}\exp (-x)$ 
and 
\be
G^2<<\mu _a^2
\label{Gapp}
\ee
to derive for Eq. (\ref{deltanatherm1}) the compact expression 
\be
{\delta n_a\over n_a}\simeq 
{\imath  q_a\over \Omega ^2_am_a} 
\bigl(k_{\parallel }E_zH_1+\; 
k_{\perp }E_xH_2+\; k_{\perp }E_yH_3\bigr)
\label{nathermnon2}
\ee
It remains to solve the three 
$\alpha $-integrals 
\be
H_1=
\int_{-\infty \sa }^0d\alpha \alpha 
\exp \Bigl[-{\imath \sa \omega \alpha \over \Omega _a}-
{c^2k_{\parallel }^2\alpha ^2\over 2\mu _a\Omega _a^2}
+\rho _a(\cos \alpha -1)
\Bigr],
\label{H1}
\ee
\be
H_2=\int_{-\infty \sa }^0d\alpha \sin \alpha 
\exp \Bigl[-{\imath \sa \omega \alpha \over \Omega _a}-
{c^2k_{\parallel }^2\alpha ^2\over 2\mu _a\Omega _a^2}
+\rho _a(\cos \alpha -1)
\Bigr]
\label{H2}
\ee
and
\bdm 
H_3=\int_{-\infty \sa }^0d\alpha (\cos \alpha -1)
\exp \Bigl[-{\imath \sa \omega \alpha \over \Omega _a}-
{c^2k_{\parallel }^2\alpha ^2\over 2\mu _a\Omega _a^2}
+\rho _a(\cos \alpha -1)
\Bigr]
\edm
\be
={\partial \over \partial \rho _a}
\int_{-\infty \sa }^0d\alpha 
\exp \Bigl[-{\imath \sa \omega \alpha \over \Omega _a}-
{c^2k_{\parallel }^2\alpha ^2\over 2\mu _a\Omega _a^2}
+\rho _a(\cos \alpha -1)
\Bigr]
\label{H3}
\ee
where we have introduced the kineticity 
\be
\rho _a={c^2k_{\perp }^2\over \mu _a\Omega _a^2}={k_{\perp }^2v^2_{th,a}\over 3\Omega _a^2}
={1\over 3}k_{\perp }^2R_a^2
\label{rodef}
\ee
where $R_a=v_{th,a}/|\Omega _a|$ denotes the gyroradius of thermal particles of species $a$.

Using the identity in terms of the modified Bessel function $I_n(\rho )$ 
of the first kind,
\be
e^{\rho _a\cos \alpha }=\sum_{n=-\infty }^{\infty }I_n(\rho _a)e^{in\alpha }
\label{inident}
\ee
we obtain
\bdm 
H_1=-{\mu _a\Omega _a^2e^{-\rho _a}\over c^2k^2_{\parallel }}
\sum_{n=-\infty}^\infty I_n(\rho _a)\Bigl[1+\; 
\imath \sqrt{{\pi \mu _a\Omega _a^2\over 2c^2k^2_{\parallel }}}
\edm
\be
\exp \bigl[-{\mu _a\Omega _a^2\over 2c^2k^2_{\parallel }}({\omega \over |\Omega _a|}-n)^2\bigr]
[\sa + 
\rm{erf} \bigl(\imath \sqrt{{\mu _a\Omega _a^2\over 2c^2k^2_{\parallel }}}
({\omega \over |\Omega_a|}-n)\bigr)]\Bigr]
\label{H11}
\ee
Likewise
\bdm
H_2={e^{-\rho _a}\over 2\imath }\sum _{n=-\infty }^\infty 
I_n(\rho _a)
\int_{-\infty \sa }^0d\alpha [e^{\imath \alpha }-e^{-\imath \alpha }]
\exp \Bigl[-{c^2k_{\parallel }^2\alpha ^2\over 2\mu _a\Omega _a^2}
-\imath \alpha ({\omega \over |\Omega _a|}-n)\Bigr]
\edm
\bdm
={e^{-\rho _a}\over 2\imath }
\sqrt{{\pi \mu _a\Omega _a^2\over 2c^2k^2_{\parallel }}}
\sum _{n=-\infty}^\infty 
I_n(\rho )
\edm
\bdm
\Bigl[\sa \Bigl(
\exp \Bigl[-{\mu _a\Omega _a^2\over 2c^2k_{\parallel }^2}
({\omega \over |\Omega _a|}-n-1)^2\Bigr]-
\exp \Bigl[-{\mu _a\Omega _a^2\over 2c^2k_{\parallel }^2}
({\omega \over |\Omega _a|}-n+1)^2\Bigr]\Bigr)
\edm
\bdm
+
\exp \Bigl[-{\mu _a\Omega _a^2\over 2c^2k_{\parallel }^2}
({\omega \over |\Omega _a|}-n-1)^2\Bigr]
\rm{erf} \bigl(\imath \sqrt{{\mu _a\Omega _a^2\over 2c^2k^2_{\parallel }}}
({\omega \over |\Omega_a|}-n-1)\bigr)
\edm
\be
-
\exp \Bigl[-{\mu _a\Omega _a^2\over 2c^2k_{\parallel }^2}
({\omega \over |\Omega _a|}-n+1)^2\Bigr]
\rm{erf} \bigl(\imath \sqrt{{\mu _a\Omega _a^2\over 2c^2k^2_{\parallel }}}
({\omega \over |\Omega_a|}-n+1)\bigr)
\Bigr]
\label{H21}
\ee
Finally
\bdm
H_3=\sum _{n=-\infty }^\infty 
{\partial (e^{-\rho _a}I_n(\rho _a))\over \partial \rho _a}
\int_{-\infty \sa }^0d\alpha 
\exp \Bigl[-{c^2k_{\parallel }^2\alpha ^2\over 2\mu _a\Omega _a^2}
-\imath \alpha ({\omega \over |\Omega _a|}-n)\Bigr]
\edm
\bdm
=\sqrt{{\pi \mu _a\Omega ^2_a\over 2c^2k^2_{\parallel }}}
\sum _{n=-\infty}^\infty 
{\partial (e^{-\rho _a}I_n(\rho _a))\over \partial \rho _a}
\exp \Bigl[-{\mu _a\Omega _a^2\over 2c^2k_{\parallel }^2}
({\omega \over |\Omega _a|}-n)^2\Bigr]
\edm
\be
\Bigl[\sa +
\rm{erf} \bigl(\imath \sqrt{{\mu _a\Omega ^2_a\over 2c^2k^2_{\parallel }}}
({\omega \over |\Omega _a|}-n)\bigr)\Bigr]
\label{H31}
\ee

%
\smallskip
\smallskip
\leftline{3.4 {\it Electron density fluctuations}}
\smallskip
%
According to Sect. 2 we obtain for the electron kineticity (\ref{rodef}) 
in the diffuse intercloud medium 
\be
\rho _e={1\over 3}R_e^2k^2_{\perp }={\sin ^2\theta \over 3}(R_ek)^2\le
{1\over 3}(R_ek_{max})^2=2.6\cdot 10^{-3}<<1
\label{roelec}
\ee
values much smaller than unity at all wavenumbers and propagation angles. 
For electron fluctuations it is therefore 
justified to take the limit $\rho _e\to 0$ of  
Eqs. (\ref{H11})-(\ref{H31}).

It is convenient to introduce  
Dawson's integral (Lebedev \cite{l72}, p.19ff.)
\be
D[x]\equiv e^{-x^2}\int_0^xdt\, e^{t^2}=-{\imath \pi ^{1/2}\over 2}e^{-x^2}
\rm{erf} (\imath x)
\label{dawson}
\ee
and the parameters
\be
\psi _e^2\equiv {\mu _e\omega ^2\over 2c^2k^2_{\parallel}}=
{3\omega ^2\over 2v_e^2k^2_{\parallel}}
\label{psie}
\ee
and 
\be
\alpha _e\equiv {|\Omega _e|\psi _e\over \omega }=
\sqrt{{3\over 2}}{1\over R_ek\cos \theta }>>1
\label{alphaedef}
\ee
In the limit $\rho _e\to 0$ we obtain
\be
H_1(\rho _e=0)=\alpha _e^2\Bigl[
2\psi _eD[\psi _e]+\, \imath \pi ^{1/2}\psi _ee^{-\psi _e^2}-\; 1\Bigr]
\label{H1r0}
\ee
\bdm
H_2(\rho _e=0)={|\Omega _e|\over \omega }\psi _e\Bigl[
D[\psi _e(1-{|\Omega _e|\over \omega }]
-D[\psi _e(1+{|\Omega _e|\over \omega }]-\; 
\edm
\bdm
\imath {\pi ^{1/2}\over 2}\bigl[
\exp \bigl(-\psi _e^2(1+{|\Omega _e|\over \omega })^2\bigr)
-\exp \bigl(-\psi _e^2(1-{|\Omega _e|\over \omega })^2\bigr)\bigr]\Bigr]
\edm
\be
=-\alpha _e\Bigl[
D[\alpha _e-\psi _e]+\, D[\alpha _e+\psi _e]
-\; \imath \pi ^{1/2}\sinh ({2\alpha _e\psi _e})
\exp \bigl(-\psi _e^2-\alpha _e^2\bigr)\Bigr]
\label{H2r0}
\ee
and
\bdm
H_3(\rho _e=0)=\imath {|\Omega _e|\over \omega }\Bigl[
D[\psi _e(1+{|\Omega _e|\over \omega }]
+D[\psi _e(1-{|\Omega _e|\over \omega }]-2D[\psi _e]\Bigr]
\edm
\bdm 
+{\pi ^{1/2}\over 2}{|\Omega _e|\over \omega }\Bigl[
2e^{-\psi _e^2}-
\exp \bigl(-\psi _e^2(1+{|\Omega _e|\over \omega })^2\bigr)
-\exp \bigl(-\psi _e^2(1-{|\Omega _e|\over \omega })^2\bigr)\Bigr]
\edm
\bdm
=\imath {\alpha _e\over \psi _e}\Bigl[
D[\alpha _e+\psi _e]
-D[\alpha _e-\psi _e]-2D[\psi _e]\Bigr]
\edm
\be
+{\pi ^{1/2}\over 2}{\alpha _e\over \psi _e}e^{-\psi _e^2}
\Bigl[1-\cosh (2\alpha _e\psi _e)\exp \bigl(-\alpha _e^2\bigr)
\Bigr]
\label{H3r0}
\ee
These equations can be approximated further using the known properties of Dawson's integral.
Dawson's integral satisfies the linear differential equation
\be
{dD(x)\over dx}=1-\; 2xD(x),
\label{dawsonequation}
\ee
has a maximum $D_m=0.541$ for $x=x_M=0.924$ and an inflection point at $x=x_w=1.502$ where
$D=D_w=0.428$. At large arguments (Schlickeiser \& Mause \cite{sm95})
\be
D(x>>1)\simeq {1\over 2x}\bigl(1+\, {1\over 2x^2}+\; {3\over 4x^4}\bigr)
\label{dawsonlarge}
\ee
whereas at small arguments
\be
D(x<<1)\simeq x-\, {2\over 3}x^3+\, {4\over 15}x^5
\label{dawsonsmall}
\ee
To proceed we have to calculate the parameter $\psi _e$ from the dispersion relations of 
Alfven and magnetosonic waves in the diffuse intercloud medium.
%
\section{Dispersion relationships in the diffuse intercloud medium}
%
According to Sect. 2 the plasma parameters of the diffuse intercloud medium are 
in a range where
\be
v_p^2<<V_A^2<<v_e^2
\label{thermalvelorange}
\ee
We noted already (see Eq. (\ref{roelec}) that the electron 
kineticity is much smaller than unity.
For the proton kineticity
\be
\rho _p={m_p\over m_e}\rho _e=4.77({k\over k_{max}})^2\sin^2 \theta
\label{ropdef}
\ee
we also find values much smaller than unity if we limit our discussion to wavenumbers
much smaller than $k<<0.46k_{max}$. In this limit according 
to Sitenko (\cite{s67}, p. 115ff.) two low-frequency 
transverse plasma modes
exist: the Alfven wave and the magnetosonic wave.

The Alfven mode calculated from the dispersion relation 
$\rm {det} \Lambda _{ij}=0$ obeys 
\be
\omega ^2=V_A^2k_{\parallel }^2=V_A^2k^2\cos ^2\theta \;\;\;\;
\hbox{  Alfven mode}
\label{alfdis1}
\ee
The Maxwell operator $\Lambda _{ij} $ in the relation $\Lambda _{ij}E_j=0$ 
also specifies the wave's polarisation characteristics
\be
{E_y\over E_x}={\Lambda _{11}\Lambda _{23}+\Lambda _{12}\Lambda _{13}\over
\Lambda _{13}\Lambda _{22}-\Lambda _{12}\Lambda _{23}},\;\;\;
{E_z\over E_x}={\Lambda _{12}^2+\Lambda _{11}\Lambda _{22}\over
\Lambda _{12}\Lambda _{23}-\Lambda _{13}\Lambda _{22}}
\label{polalg}
\ee
For obliquely propagating Alfven waves Sitenko gives
\be
\vec{E}_A\simeq E_x\Bigl(1;\; -\imath {\omega \over \Omega _p\tan ^2\theta };
-{v_s^2\over V_A^2}{\omega ^2\over \Omega _p^2\sin \theta \cos \theta }\Bigr)
%\simeq (1;0;0)
\label{polalf}
\ee
at frequencies much smaller than the non-relativistic 
proton gyrofrequency ($\omega << \Omega _p$).

The magnetosonic mode obeys the dispersion relation
\be
\omega ^2=V_A^2k_{\parallel }^2
+\; [V_A^2+\, v_s^2)]k_{\perp }^2
=V_A^2[k_{\parallel }^2+\; (1+\beta )k_{\perp }^2]
\;\;\;\;\hbox{  magnetosonic mode}
\label{magsodis1}
\ee
if the velocity of sound is defined by means of the equalities
\be
v_s^2={2\over 3}v_p^2\cases{
1+{T_e\over 2T_p}&   for $\cos \theta \ge \chi $ \cr
1+{T_e\over T_p} &   for $\cos \theta \le \chi $ \cr}
=\cases{
v_p^2&   for $\cos \theta \ge \chi $ \cr
{4\over 3}v_p^2        &   for $\cos \theta \le \chi $ \cr}
\label{soundspeed}
\ee
Note that the critical angle $\theta _c=\arccos (\chi )=87$ degrees.
The 
plasma beta is defined as
\be
\beta ={v_s^2\over V_A^2}={v_p^2\over V_A^2}={m_e\over m_p\chi ^2}=0.22,
\label{betadef}
\ee
The polarisation vector for obliquely propagating magnetosonic waves is
\be
\vec{E}_M\simeq E_y\Bigl(\; -\imath {\omega \over \Omega _p\sin ^2\theta }; 1;
-\imath {v_s^2\over V_A^2}{\omega \over \Omega _p}\sin \theta \cos \theta 
\Bigr)
%\simeq (0;1;0)
\label{polmag}
\ee
at frequencies much smaller than the non-relativistic 
proton gyrofrequency ($\omega << \Omega _p$).
%
\section{Alfvenic electron density fluctuations}
%
Using the Alfven wave dispersion relation (\ref{alfdis1}) we obtain for Eq. (\ref{psie})
\be
\psi_{e,A}=\sqrt{1.5} \chi =0.061<<1
\label{psia}
\ee
which is much smaller than unity and much smaller than the parameter $\alpha _e$ (see Eq. 
(\ref{alphaedef}).

In the limit $\psi _{e,A}<<1<<\alpha _e$ Eqs. (\ref{H1r0})-(\ref{H3r0}) reduce to
\be
H_1^A(\rho _e=0)\simeq -\alpha _e^2,\,\,\;
H_2^A(\rho _e=0)\simeq -1,\;\;\,
H_3^A(\rho _e=0)\simeq {\pi ^{1/2}\over 2}{\alpha _e\over \psi _{e,A}}
\label{Half1}
\ee
so that according to Eq. (\ref{nathermnon2})
\be
{\delta n^A_e\over n_e}\simeq 
{\imath  e\over \Omega ^2_em_e} 
\bigl(k_{\parallel }\alpha _e^2E_z+\; 
k_{\perp }E_x-\; k_{\perp }
{\pi ^{1/2}\over 2}{\alpha _e\over \psi _{e,A}} E_y\bigr)
\label{nealfv1}
\ee
The dominant term in the bracket of 
Eq. (\ref{nealfv1}) comes from the parallel electric field ($E_z$) term
indicating that the electron density perturbation in oblique Alfven waves 
arises in response to 
their parallel electric fields.

Making use of the polarisation properties of oblique Alfven waves (\ref{polalf}) then yields
\be 
{\delta n^A_e\over n_e}\simeq 
{\imath  eE_x\over \Omega ^2_em_e}
\Bigl[k_{\perp }\; 
-k_{\parallel }\alpha _e^2{v_p^2\over V_A^2\Omega _p^2}
{\omega ^2\over \sin \theta \cos \theta }+\; 
{\imath \pi ^{1/2}\over 2}k_{\perp }{\omega \over \Omega _p\tan ^2\theta }
{\alpha _e\over \psi _{e,A}}\Bigr]
\label{nealfv2}
\ee
Using Faraday's induction law (\ref{delb}) we can express the 
magnetic field fluctuations $(B_x,B_y,B_z)$
in terms of the electric field fluctuations $(E_x,E_y,E_z)$
\be
(B_x,B_y,B_z)={c\over \omega }\vec{k}\times (E_x,E_y,E_z)
\label{faraday1}
\ee
yielding
for Alfven waves
\bdm
B_y=\pm {c\over V_A}(1+k^2R_p^2)E_x\simeq \pm {c\over V_A}E_x,\,\;\;
B_x=i{c\over V_A}
({m_p\over m_e})^{1/2}\chi kR_p{\cos \theta \over \tan ^2\theta }E_x,\;\;\;
\edm
\be
B_z=- i{c\over V_A}({m_p\over m_e})^{1/2}
\chi kR_p{\sin \theta \over \tan ^2\theta }E_x
\label{faraday2}
\ee
so that $|B_{x,z}|<<|B_y|$. Consequently,
\bdm 
{\delta n^A_e\over n_e}\simeq 
\pm {\imath  V_AkB_y\over \Omega _eB_0}
\bigl(\sin \theta -\; 
{3\over 2}{m_p\over m_e}{1\over \sin \theta }\; \pm
{\imath \pi ^{1/2}\over 2}{m_p\over m_e}{\cos ^2\theta \over \sin \theta }
\bigr)
\edm
\be
\simeq 
\mp \imath {3\over 2}{V_AkB_y\over \Omega _pB_0\sin \theta }
\bigl(1\; \mp \imath {\pi ^{1/2}\over 3}\cos ^2\theta \bigr)
\label{nealfv3}
\ee
The corresponding wavenumber power spectra are then related by 
\be
{P^A_{nn}(\vec{k})\over n_e^2}=
{9V^2_Ak^2\over 4\Omega ^2_p\sin ^2\theta }(1+{\pi \over 9}\cos ^4\theta )
{P_{yy}(\vec{k})\over B_0^2}
\label{powerrela}
\ee%
\section{Magnetosonic electron density fluctuations}
Using the magnetosonic wave dispersion relation (\ref{magsodis1}) we obtain for Eq. (\ref{psie})
\bdm
\psi _{e.M}=\sqrt{3\over 2}\chi \bigl[1+(1+\beta )\tan ^2\theta ]^{1/2}
=0.061\sqrt{1+1.22\tan ^2\theta }
\edm
\be
\simeq 
\cases{0.061 & for $\theta \le 42.2$\cr
0.068\tan \theta & for $\theta \ge 42.2$\cr}
\label{psiemv}
\ee
which is smaller than unity for propagation angles less than $\theta _c=\arctan (14.78)=86.1$ degrees.

In the limit $\psi _{e,M}<<1<<\alpha _e$ Eqs. (\ref{H1r0})-(\ref{H3r0}) reduce to
\be
H_1^M(\rho _e=0)\simeq -\alpha _e^2,\,\,\;
H_2^M(\rho _e=0)\simeq -1,\;\;\,
H_3^M(\rho _e=0)\simeq {\pi ^{1/2}\over 2}{\alpha _e\over \psi _{e,M}}
\label{Hmag1}
\ee
whereas in the limit $1<<\psi _{e,M}<<\alpha _e$
\be
H_1^M(\rho _e=0)\simeq {\alpha _e^2\over 2\psi _{e,M}^2},\,\,\;
H_2^M(\rho _e=0)\simeq -1,\;\;\,
H_3^M(\rho _e=0)\simeq -{\alpha _e\over \psi ^2_{e,M}}
\label{Hmag2}
\ee
%
\smallskip
\smallskip
\leftline{6.1 {\it Small and intermediate propagation angles} $\theta \le \theta _c$}
\smallskip
At propagation angles $\theta \le \theta _c$ Eq. (\ref{nathermnon2}) then becomes 
\be
{\delta n^M_e\over n_e}\simeq 
{\imath  e\over \Omega ^2_em_e} 
\bigl(k_{\parallel }\alpha _e^2E_z+\; 
k_{\perp }E_x-\; k_{\perp }
{\pi ^{1/2}\over 2}{\alpha _e\over \psi _{e,M}} E_y\bigr)
\label{nemag1}
\ee
Using the polarisation properties of oblique magnetosonic waves (\ref{polmag}) 
\be
{\delta n^M_e\over n_e}\simeq 
-{\imath eE_y\over \Omega ^2_em_e} 
\bigl(
\imath k_{\parallel }\alpha _e^2{v_p^2\over V_A^2}{\omega \over \Omega _p}\sin \theta \cos \theta 
+\; 
\imath k_{\perp }{\omega \over \Omega _p\sin ^2\theta }+\; 
{\pi ^{1/2}\over 2}k_{\perp }{\alpha _e\over \psi _{e,M}} 
\bigr)
\label{nemag2}
\ee
Faraday's induction law yields for magnetosonic waves 
\bdm
B_x=-{c\over \omega }k_{\parallel }E_y,\;\;\;\;
B_y={\imath ck\cos \theta \over \Omega _p}
[{v_p^2\over V_A^2}\sin ^2\theta -
{1\over \sin ^2\theta }]E_y,\,\;\;
\edm
\be
B_z={c\over \omega }k_{\perp }E_y
\label{faradaym1}
\ee
so that $|B_y|<<|B_{x,z}|$. 
Consequently,
\bdm
{\delta n^M_e\over n_e}\simeq 
-{\imath eB_z\over \Omega ^2_em_ec}
\bigl(
\imath \alpha _e^2{v_p^2\over V_A^2}{\omega ^2\over \Omega _p}\cos ^2\theta 
+\; \imath {\omega ^2\over \Omega _p\sin ^2\theta }+\; 
{\pi ^{1/2}\over 2}{\omega \alpha _e\over \psi _{e,M}} 
\bigr)=
\edm
\bdm
-{\imath eB_z\over \Omega ^2_em_ec} 
\bigl(
\imath {3v_p^2\cos ^2\theta \over 2R_e^2\Omega _p}[1+(1+\beta )\tan ^2\theta ]
+\; \imath {V_A^2k^2\over \Omega _p\tan ^2\theta }[1+(1+\beta )\tan ^2\theta ]\pm \; 
{\pi ^{1/2}\over 2}|\Omega _e|
\bigr)
\edm
\be
\simeq
{3\over 2}[\cos ^2\theta +(1+\beta )\sin ^2\theta ]{B_z\over B_0}=
{3\over 2}[1+\beta \sin ^2\theta ]{B_z\over B_0}
\label{nemag3}
\ee
The corresponding wavenumber power spectra are then related by 
\be
{P^M_{nn}(\vec{k})\over n_e^2}=
{P_{zz}(\vec{k})\over B_0^2}\; 
{9\over 4}[1+\beta \sin ^2\theta ]^2
\label{powerremagneto1}
\ee
As an aside we note that Eqs. (\ref{faradaym1}) imply
\be
P_{zz}(\vec{k})=\tan ^2 \theta P_{xx}(\vec{k})
\label{pzxrel}
\ee
for magnetosonic waves.

%
\smallskip
\smallskip
\leftline{6.2 {\it Large propagation angles} $\theta \ge \theta _c$}
\smallskip
Repeating the analysis at large propagation angles using Eqs. (\ref{Hmag2}) yields
\be
{\delta n^M_e\over n_e}\simeq 
-{B_z\over B_0}\bigl({2\over 3}({\cos \theta \over \chi })^2-\; 
(1+\beta ){m_p\over m_e}\chi ^2R_e^2k^2\bigr)
\label{nemag4}
\ee
%
\section{Comparison with classical MHD theory}
%
Eqs. (\ref{nealfv3}), (\ref{nemag3}) and (\ref{nemag4}) and consequently Eqs. 
(\ref{powerrela}) and (\ref{powerremagneto1}) are important 
modifications to the classical
MHD results (e.g. Sturrock \cite{s94}, Ch. 14.1). 

Eq. (\ref{nealfv3}) contradicts the classical MHD result 
$\delta n_e=0$ for Alfven waves. Only at wavenumbers
$k<<(2\Omega _p/3V_A)$ the kinetic result yields vanishing density flectuations
in agreement with the classical MHD theory.

For fast magnetosonic waves ($\beta <<1$) MHD theory yields
\be
{\delta n_e\over n_e}\simeq {\delta N\over N}=
{\delta B_z\over B_0}[1-{\beta \cos ^2\theta \over 1+\beta \sin ^2\theta }]^{-1}
\simeq {\delta B_z\over B_0}
\label{mhdrho}
\ee
where $N= m_pn_p+\, m_en_e$ so that $n_e\simeq  N/m_p$. Our kinetic
result (\ref{nemag3}) contains the additional factor 
\be
f_{kin}(\theta )={3\over 2}[1+\beta \sin ^2\theta ]
\label{fkin}
\ee
which increases monotonically from $f_{kin}(0)=1.5$ to $f_{kin}(90^o)=1.5(1+\beta )$.
%

\section{Discussion and conclusions}
%
Using linear kinetic plasma theory we have calculated the relation between 
electron density and magnetic field
fluctuations for low-frequency plasma waves for Maxwellian background distribution functions
of arbitrary temperatures in an uniform magnetic field. By taking the non-relativistic temperature limit 
we determined this ratio for the diffuse intercloud medium in our Galaxy.
The diffuse intercloud medium
is the dominant phase of the interstellar medium with respect to
radio wave propagation, dispersion and rotation measure studies. 
We have found differences between the relation of electron density and magnetic field
fluctuations from the linear kinetic theory as compared to the classical MHD theory.

Whereas shear Alfven waves are incompressive in MHD theory, linear kinetic theory 
yields the non-zero relation (\ref{nealfv3}) even in the limit of vanishing electron kineticity
$\rho _e=0$. Only at very small wavenumbers 
$k<<(2/3)|\Omega _p|\sin \theta /V_A=(2/3)(\omega _{p,i}/c)\sin \theta $ the kinetic result agrees
with the MHD result.

For magnetosonic waves the kinetic 
ratio of the normalised density and magnetic field fluctuations is modified from the MHD ratio 
by the factor $f_{kin}=(3/2)(1+\beta \sin ^2\theta )$ which is independent of wavenumber
and varies within values of $1.5$ and $1.5(1+\beta )$.

In the next paper of this series we
will use these kinetic turbulence relations to calculate frequency power spectra of electron density 
fluctuations 
from anisotropic power spectra of magnetic field fluctuations in the form of Alfven and
magnetosonic waves. Such anisotropic interstellar magnetic field power spectra are required in
order to be in accord with the heating/cooling balance of the diffuse intercloud medium.

%
%
%
\smallskip
\smallskip
{\it Acknowledgements} 
We gratefully acknowledge support by the
Deutsche For\-schungs\-ge\-meinschaft through Sonderforschungsbereich 191.



\begin{thebibliography}{}

\bibitem[1972]{as72}
Abramowitz, M., Stegun, I. A., 1972, Handbook of Mathematical Functions,
National Bureau of Standards, Washington

\bibitem[1995]{ars95}
Armstrong, J. W., Rickett, B. J., Spangler, S. R., 1995, ApJ 443, 209 

\bibitem[1965]{gr65}
Gradshteyn, I. S., Ryzhik, I. M., 1965, Tables of Integrals, Series, and 
Products, Academic Press, New York

\bibitem[1995]{gs95}
Goldreich, P., Sridhar, S., 1995, ApJ 438, 763

\bibitem[1999]{h99}
Hollweg, J. V., 1999, JGR 104, 14811

\bibitem[1972]{l72}
Lebedev, N. N., 1972, Special Functions and their Applications, Dover Publ., 
New York

\bibitem[2001]{ls1}
Lerche, I., Schlickeiser, R., 2001, A\&A 366, 1008

%\bibitem[2001b]{ls2}
%Lerche, I., Schlickeiser, R., 2001b, A\&A, 378, 279

\bibitem[2002]{lg02}
Lithwick, Y., Goldreich, P., 2002, ApJ, in press

\bibitem[1990]{r90}
Rickett, B. J., 1990, AR A\&A 28, 561

\bibitem[2002]{s02}
Schlickeiser, R., 2002, Cosmic Ray Astrophysics, Springer, Berlin

\bibitem[1995]{sm95}
Schlickeiser, R., Mause, H., 1995, Phys. Plasmas 2, 4025

\bibitem[1967]{s67}
Sitenko, A. G., 1967, Electromagnetic Fluctuations in Plasma, Academic Press,
New York

\bibitem[1991]{s91}
Spangler, S. R., 1991, ApJ 376, 540 

\bibitem[1994]{s94}
Sturrock, P. A., 1994, Plasma Physics, Cambridge University Press,
Cambridge

\bibitem[1975]{wh75}
Wu, C. S., Huba, J. D., 1975, ApJ 196, 849


\end{thebibliography}{}

\end{document}

jpp.sty0100744000022500002260000007672707141543061010657 0ustar  rschtp4%%%%%%%%%%%%%%%%%%%%%% start of jpp.sty %%%%%%%%%%%%%%%%%%%%%%
% CUP Journal of Plasma Physics document style JPP.STY
% v0.2, 16th May 1995
% Copyright 1993,1994,1995 Cambridge University Press

% This software may only be used in the preparation of journal articles
% or books or parts of books to be published by Cambridge University Press.
% Any other use constitutes an infringement of copyright.

%     based on JFM.STY v1.02
%     based on ARTICLE DOCUMENT STYLE
%     by Leslie Lamport
% for LaTeX version 2.09
%
% v0.2   16th May 1995 ajw, change of name to jpp
% v0.1   14th May 1993 ajw

\typeout{Document Style `JPP journal style' v0.2, 16th May 1995}
%
% Journals use two-sided printing.
%
\@twosidetrue
\@mparswitchtrue
\def\ds@draft{\overfullrule 5pt}
\@options


%  ****************************************
%  *               FONTS                  *
%  ****************************************
%
\lineskip 1pt
\normallineskip 1pt
\def\baselinestretch{1}
\def\@normalsize{\@setsize\normalsize{12pt}\xpt\@xpt% 10 on 12
 \abovedisplayskip 6pt plus 1pt minus 1pt % ajw
 \belowdisplayskip \abovedisplayskip
 \abovedisplayshortskip 3pt plus 1pt
 \belowdisplayshortskip  \abovedisplayshortskip}
\def\small{\@setsize\small{10pt}\ixpt\@ixpt% 9 on 10
 \abovedisplayskip 5pt plus 1pt minus 1pt
 \belowdisplayskip \abovedisplayskip
 \abovedisplayshortskip 3pt plus 1pt
 \belowdisplayshortskip  \abovedisplayshortskip % SFB 0.96
}
\def\footnotesize{\small}
\def\indexsize{\@setsize\indexsize{9pt}\viiipt\@viiipt} % 8 on  9
\def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt} % 7 on 8
\def\tiny{\@setsize\tiny{6pt}\vpt\@vpt} % 5 on 6
\def\large{\@setsize\large{13pt}\xipt\@xipt} % 11 on 13
\def\Large{\@setsize\Large{18pt}\xivpt\@xivpt} % 14 on 18
\def\LARGE{\@setsize\LARGE{19pt}\xviipt\@xviipt} % 17 on 19
\def\huge{\@setsize\huge{25pt}\xxpt\@xxpt} % 20 on 25
\def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt} % 25 on 30
\ifx\CUP@mtlplain@loaded\undefined
  \newfont{\qsmall}{cmr10 scaled 975} % 9.75pt rm, used in quotations
  \newfont{\qsmit}{cmti10 scaled 975} % 9.75pt italic
  \newfont{\qsbf}{cmbx10 scaled 975} %9.75 pt bold
  \newfont{\qssf}{cmss10 scaled 975}%9.75pt sans
%  \newfont{\boldit}{cmbxti10} % bold italic, added by MAW auskommentiert da Fehler !
\else
  \newfont{\qsmall}{mtr10 scaled 975} % 9.75pt rm, used in quotations
  \newfont{\qsmit}{mtti10 scaled 975} % 9.75pt italic
  \newfont{\qsbf}{mtbx10 scaled 975} %9.75 pt bold
  \newfont{\qssf}{mtss10 scaled 975}%9.75pt sans
%  \newfont{\boldit}{mtbxti10} % bold italic, added by MAW auskommentiert da Fehler !
\fi
\def\qit{\qsmit \baselineskip 10.75pt}
\def\qbf{\qsbf \baselineskip 10.75pt}
\def\qsf{\qssf \baselineskip 10.75pt}
\def\qrm{\qsmall \baselineskip 10.75pt}
\normalsize


%  ****************************************
%  *            PAGE LAYOUT               *
%  ****************************************
%
% SIDE MARGINS:
\oddsidemargin  2pc
\evensidemargin 2pc
\marginparwidth 2.0cm
\marginparsep 10pt

% VERTICAL SPACING:
\topmargin 2.5pc
\headheight 12pt
\headsep 6pt % ajw (from 8pt)
\topskip 12pt
\footheight \z@
\footskip \z@
\newskip\halflineskip
\halflineskip=6pt plus .5pt minus .5pt
\newskip\affilskip % used by authors to separate affiliations on title page
\affilskip=3pt

% DIMENSION OF TEXT:
\textheight = 48\baselineskip \advance\textheight by \topskip % ajw
\textwidth 30pc % ajw
\columnsep 10pt
\columnseprule 0pt

% FOOTNOTES:
\footnotesep 0.pt
\skip\footins 9pt plus 3pt

% FLOATS:
% \def\topfigrule{\vskip\floatsep\hbox{\rule{\textwidth}{.5pt}}\vskip-%
% \floatsep}
\floatsep 10pt plus 2pt minus 1pt
\textfloatsep 8pt plus 2pt minus 1pt
\intextsep\floatsep
\@maxsep 12pt % ajw
\dblfloatsep\floatsep
\dbltextfloatsep\floatsep
\@dblmaxsep 12pt % ajw
\@fptop 0pt plus 0fil
\@fpsep 10pt plus 0fil
\@fpbot 0pt plus 3fil
\@dblfptop 0pt plus 0fil
\@dblfpsep 10pt plus 0fil
\@dblfpbot 0pt plus 3fil
\marginparpush 5pt


%  ****************************************
%  *           PARAGRAPHING               *
%  ****************************************
%
\parskip \z@ plus .3pt
\parindent 1em
\partopsep 0pt plus 1pt
\@lowpenalty   51
\@medpenalty  151
\@highpenalty 301
\@beginparpenalty -\@lowpenalty
\@endparpenalty -\@lowpenalty
\@itempenalty -\@lowpenalty
\clubpenalty=0
\widowpenalty=10000


%  ****************************************
%  *                 PARTS                *
%  ****************************************
%
\def\part{\par \addvspace{4ex}\@afterindentfalse
 \secdef\@part\@spart}
\def\@part[#1]#2{\ifnum \c@secnumdepth >\m@ne
  \refstepcounter{part}
  \addcontentsline{toc}{part}{Part \thepart: #1}
 \else \addcontentsline{toc}{part}{#1}
 \fi
 {\parindent 0pt \centering %changed ggw
  \ifnum \c@secnumdepth >\m@ne
   \large\rm PART
   \ifcase\thepart \or ONE \or TWO \or THREE \or FOUR \or FIVE
    \or SIX \or SEVEN \or EIGHT \or NINE \or TEN \else \fi
   \par \nobreak
  \fi
  \LARGE \rm #2 \markboth{}{}\par }
 \nobreak \vskip 3ex \@afterheading}
\def\@spart#1{{\parindent 0pt \centering % changed ggw
  \LARGE \rm #1\par}
 \nobreak \vskip 3ex \@afterheading}


%  ****************************************
%  *               SECTIONS               *
%  ****************************************
%
\def\section{\setcounter{equation}{0}
 \@startsection {section}{1}{\z@}
 {20pt plus 6pt minus 2pt}%    beforeskip; neg = suppress indent
 {3pt plus 0pt minus 0pt}%     afterskip
 {\raggedright\large\bf}}%     style
\def\subsection{\@startsection{subsection}{2}{\z@}
 {-9pt plus -3pt minus -3pt}
 {3pt plus 0pt minus 0pt}
 {\centering\normalsize\it}}
\def\subsubsection{\@startsection{subsubsection}{3}{\z@}
 {9pt plus 3pt minus 3pt}
 {3pt plus 0pt minus 0pt}
 {\raggedright\normalsize\it}}
\def\paragraph{}
\def\subparagraph{}
%
\def\emptys@t{}
\def\@sect#1#2#3#4#5#6[#7]#8{%
 \ifnum #2>\c@secnumdepth
  \def\@svsec{}%
 \else
  \refstepcounter{#1}
  \ifnum #2>1% upright rm for numbers in subsections -- jas
   \edef\@svsec{{\rm\csname the#1\endcsname.}\hskip 0.5em}
  \else
                 \def\apphe@d{#8}
   \edef\@svsec{\ifappendix Appendix \fi\csname the#1\endcsname\relax
                 \ifx \apphe@d\emptys@t
                 \else
                   .\hskip 0.5em
                 \fi
   }
  \fi
 \fi
 \@tempskipa #5\relax
 \ifdim \@tempskipa>\z@
  \begingroup #6\relax
   \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\par}
  \endgroup
  \csname #1mark\endcsname{#7}%
  \ifnum #2=1% sections only
   \addcontentsline{toc}{#1}{\ifnum #2>\c@secnumdepth \else
    \ifappendix Appendix~\csname the#1\endcsname%
    \else \protect\numberline{\csname the#1\endcsname.}#7\fi
    \fi}
%     \protect\numberline{\csname the#1\endcsname.}\ifappendix\else #7\fi\fi}
  \else
   \addcontentsline{toc}{#1}{\ifnum #2>\c@secnumdepth \else
      \protect\numberline{\csname the#1\endcsname.}#7\fi}
  \fi
 \else %
  \def\@svsechd{#6\hskip #3\@svsec #8\csname #1mark\endcsname {#7}
    \addcontentsline{toc}{#1}{\ifnum #2>\c@secnumdepth \else
     \protect\numberline{\csname the#1\endcsname.}
    \fi#7}}%
 \fi
 \@xsect{#5}}
\newif\ifappendix \appendixfalse
\def\appendix{\par
 \setcounter{section}{0}
 \def\theequation{\Alph{section}\,\arabic{equation}} % (MAW)
%\def\thesection{Appendix \Alph{section}}
 \def\thesection{\Alph{section}}
 \def\thesubsection{\thesection.\arabic{subsection}}
 \def\thesubsubsection{\thesubsection.\arabic{subsubsection}}
 \appendixtrue}

\setcounter{secnumdepth}{3} % number sections, subsections and subsubsections
                            % but not paragraphs or subparagraphs.


%  ****************************************
%  *       PART & SECTION NUMBERS       *
%  ****************************************
%
\newcounter{part}
\newcounter {section}
\newcounter {subsection}[section]
\newcounter {subsubsection}[subsection]
\newcounter {paragraph}[subsubsection]
%\newcounter {subparagraph}[paragraph]
\def\thepart          {\arabic{part}}
\def\thesection       {\arabic{section}}
\def\thesubsection    {\thesection.\arabic{subsection}}
\def\thesubsubsection {\thesubsection.\arabic{subsubsection}}
\def\theparagraph     {\thesubsubsection.\arabic{paragraph}}
%\def\thesubparagraph  {\theparagraph.\arabic{subparagraph}}


%  ****************************************
%  *               SKIPS                  *
%  ****************************************
%
\newskip\@indentskip
\newskip\smallindent
\newskip\@footindent
\newskip\@leftskip
\@indentskip=2.5em
\smallindent=1em
\@footindent=\smallindent
\@leftskip=\z@


%  ****************************************
%  *                LISTS                 *
%  ****************************************
%
\leftmargini\z@
\labelsep\z@
\labelwidth\z@
%
% label macros for Range-Left and Range-Right labels
%\def\makeRLlabel#1{\rlap{#1}\hss}
%\def\makeRRlabel#1{\hss\llap{#1}}
\def\makeitemlabel#1{\hspace\labelwidth\hspace\labelsep\hfill #1}
%
% set leftmargin to labelwidth + labelsep of OUTER list:
\def\@listI{\parsep\z@ \topsep\z@ \partopsep\z@ \itemsep\z@ \rightmargin\z@
 \leftmargin\labelwidth \advance\leftmargin\labelsep}
\def\@listi{\@listI \leftmargin\leftmargini \itemindent 1em}
\def\@listii{\@listI \advance\leftmargin 1em}
\def\@listiii{\@listI}
\def\@listiv{\@listI}
\def\@listv{\@listI}
\def\@listvi{\@listI}
\@listi
%
% ITEMIZE
\def\itemize{\ifnum \@itemdepth >3 \@toodeep
 \else \advance\@itemdepth \@ne
  \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
  \list{\csname\@itemitem\endcsname}%
  {\labelsep .5em \settowidth{\labelwidth}{\csname\@itemitem\endcsname}
    \let\makelabel\makeitemlabel}%
 \fi}
\def\labelitemi{$\bullet$} % ggw
\def\labelitemii{$\circ$}
\def\labelitemiii{---} % ggw
\def\labelitemiv{--} % ggw
%
% ENUMERATE
\def\enumerate{\ifnum \@enumdepth >3 \@toodeep
 \else \advance\@enumdepth \@ne
 \edef\@enumctr{enum\romannumeral\the\@enumdepth}\fi
%\@ifnextchar [{\@enumeratetwo}{\@enumeratetwo[(a)]}}
 \@ifnextchar [{\@enumeratetwo}{\@enumeratetwo[i]}}
\def\@enumeratetwo[#1]{%
 \list{\csname label\@enumctr\endcsname}%
  {\settowidth\labelwidth{#1} \labelsep .5em
   \advance\itemindent\labelsep \advance\itemindent\labelwidth
   \usecounter{\@enumctr}}}
%
\def\labelenumi{{\rm(}\theenumi{\rm)}}
\def\theenumi{{\it\alph{enumi}}}
\def\labelenumii{{\rm(}{\theenumii}{\rm)}}
\def\theenumii{{\it\alph{enumii}}}
\def\p@enumii{\theenumi.\theenumii}
\def\labelenumiii{\theenumiii.}
\def\theenumiii{\roman{enumiii}}
\def\p@enumiii{\p@enumii.\theenumiii}
\def\labelenumiv{\theenumiv}
\def\theenumiv{\roman{enumiv}}
\def\p@enumiv{\p@enumiii.\theenumiv}
%
% DESCRIPTION
\def\descriptionlabel#1{\hspace\labelsep \bf #1}
\def\description{\list{}{\labelwidth\z@%\itemindent-\leftmargin
  \ifnum\@listdepth=1\else\advance\leftmargin 1em\fi
  \let\makelabel\descriptionlabel}}
\let\enddescription\endlist


%  ****************************************
%  *            DISPLAYED TEXT            *
%  ****************************************
%
% VERSE
\def\verse{\let\\=\@centercr
 \list{}{\itemsep\z@
  \itemindent -\@indentskip
  \listparindent \itemindent
  \rightmargin\leftmargin
  \advance\leftmargin \@indentskip}\item[]}
\let\endverse\endlist
%
% QUOTATION
\def\quotation{\list{}{\listparindent\smallindent
  \itemindent\listparindent
  \leftmargin\z@\rightmargin\leftmargin
  \topsep\halflineskip
  \parsep 0pt plus 1pt}\item[]\qsmall\baselineskip 10.75pt}
\let\endquotation=\endlist
% QUOTE
\def\quote{\par\list{}{\leftmargin\z@\rightmargin\leftmargin}\item[]%
 \qsmall\baselineskip 10.75pt\rule{0pt}{10pt}\ignorespaces}
\let\endquote=\endlist


%  ****************************************
%  *         OTHER ENVIRONMENTS           *
%  ****************************************
%
% THEOREM
% The following modifies two internal routines called by Latex's
% \newtheorem command, which JPP.sty users are encouraged to use
% for their own purposes, such as creating Lemma 1.2,
% Definition 2.3, etc.
%
%\def\theoremlabel#1{\hspace\labelsep \sc #1}
%\def\@begintheorem#1#2{\list{}{\topsep\halflineskip \labelsep .5em
% \let\makelabel\theoremlabel}\item[#1\ #2.]\it }
%\def\@opargbegintheorem#1#2#3{\list{}{\topsep\halflineskip \labelsep .5em
% \let\makelabel\theoremlabel}\item[#1\ #2\ (#3).]\it }
%\def\@endtheorem{\endlist}
%
\def\@begintheorem#1#2{\par\vskip\halflineskip{\sc #1\ #2.}\hskip.5em\it}
\def\@opargbegintheorem#1#2#3{\par\vskip\halflineskip
 {\sc #1\ #2\ (#3).}\hskip.5em\it}
\def\@endtheorem{\vskip\halflineskip\par}
%
% A line added to make the guide for authors true (MAW):
\newtheorem{theorem}{Theorem}[section]
%
% PROOF
\newsavebox{\proofbox}
\sbox{\proofbox}{\unitlength 1pt\begin{picture}(7,7)%
  \put(0,0){\framebox(7,7){}}\end{picture}}
%\def\proof{\list{}{\topsep\halflineskip \labelwidth\z@ \labelsep .5em
% \let\makelabel\makeitemlabel} \item[{\it Proof.}]}
%\def\endproof{\hspace*{\fill}\usebox{\proofbox}\endlist}
\def\proof{\par\vskip\halflineskip {\it Proof.}\hskip.5em\relax}
\def\endproof{\hspace*{\fill}\usebox{\proofbox}\vskip\halflineskip\par}
\@namedef{proof*}{\proof}
\@namedef{endproof*}{\vskip\halflineskip\par}
%
% REMARK works like \newtheorem but without the ability to number,and
% produces displayed paragraph in same style as proof.
\def\newremark#1#2{\newenvironment{#1}{\list{}{\topsep\halflineskip \labelwidth\z@
 \labelsep .5em \let\makelabel\makeitemlabel} \item[{\it #2.}]}{\endlist}}
%
% EQUATION and EQNARRAY
%
\def\theequation{\thesection.\arabic{equation}}

% subeqn.sty follows
% Copyright (c) 1990 by Stephen Gildea
% Permission to copy all or part of this work is granted, provided
% that the copies are not made or distributed for resale, and that
% the copyright notice and this notice are retained.

\newtoks\@stequation

\def\subequations{\refstepcounter{equation}%
  \edef\@savedequation{\the\c@equation}%
  \@stequation=\expandafter{\theequation}%   %only want \theequation
  \edef\@savedtheequation{\the\@stequation}% % expanded once
  \edef\oldtheequation{\theequation}%
  \setcounter{equation}{0}%
  \def\theequation{\oldtheequation\alph{equation}}}

\def\endsubequations{\setcounter{equation}{\@savedequation}%
  \@stequation=\expandafter{\@savedtheequation}%
  \edef\theequation{\the\@stequation}\global\@ignoretrue}

% subeqnarray.sty
% Copyright (C) 1988 by Johannes Braams, Dr Neher Laboratories

\newcounter{subequation}[equation]
\def\thesubequation{\theequation\@alph\c@subequation}
%
%  \@subeqnnum: Produces the equation number for the
%     subeqnarray environment.  The following definition is for
%     flushright numbers; for flushleft numbers, see leqno.doc.
%     The {\rm ... } puts the subequation number in roman type even if
%     an subeqnarray environment appears in an italic environment.
%
\def\@subeqnnum{{\rm (\thesubequation)}}
%
%    A new label command to refer to subequations. It works
%    like the \label command and was taken from LaTeX.TeX
%
%  \slabel{FOO} then writes the following on file \@auxout :
%        \newlabel{FOO}{{eval(\@currentlabel)}{eval(\thepage)}}
%
\def\slabel#1{\@bsphack\if@filesw {\let\thepage\relax
   \xdef\@gtempa{\write\@auxout{\string
      \newlabel{#1}{{\thesubequation}{\thepage}}}}}\@gtempa
   \if@nobreak \ifvmode\nobreak\fi\fi\fi\@esphack}
%
%    Here's the subeqnarray environment,
%        it steps the equation counter,
%        sets the subequation counter equal to 1
%        and behaves much like the eqnarray environment.
%
% changed to remove space either side of alignment
\def\subeqnarray{\stepcounter{equation}
\let\@currentlabel=\theequation\global\c@subequation\@ne
\global\@eqnswtrue
\global\@eqcnt\z@\tabskip\@centering\let\\=\@subeqncr
$$\halign to \displaywidth\bgroup\@eqnsel\hskip\@centering
  $\displaystyle\tabskip\z@{##}$&\global\@eqcnt\@ne
%  \hskip 2\arraycolsep \hfil${##}$\hfil
   \hfil${\;##\;}$\hfil
%  &\global\@eqcnt\tw@ \hskip 2\arraycolsep $\displaystyle\tabskip\z@{##}$\hfil
  &\global\@eqcnt\tw@ $\displaystyle\tabskip\z@{##}$\hfil % ajw
  \tabskip\@centering&\llap{##}\tabskip\z@\cr}

\def\endsubeqnarray{\@@subeqncr\egroup
                     $$\global\@ignoretrue}

\def\@subeqncr{{\ifnum0=`}\fi\@ifstar{\global\@eqpen\@M
    \@ysubeqncr}{\global\@eqpen\interdisplaylinepenalty \@ysubeqncr}}

\def\@ysubeqncr{\@ifnextchar [{\@xsubeqncr}{\@xsubeqncr[\z@]}}

\def\@xsubeqncr[#1]{\ifnum0=`{\fi}\@@subeqncr
   \noalign{\penalty\@eqpen\vskip\jot\vskip #1\relax}}

\def\@@subeqncr{\let\@tempa\relax
    \ifcase\@eqcnt \def\@tempa{& & &}\or \def\@tempa{& &}
      \else \def\@tempa{&}\fi
     \@tempa \if@eqnsw\@subeqnnum\refstepcounter{subequation}\fi
     \global\@eqnswtrue\global\@eqcnt\z@\cr}

% Here's the subeqnarray* environment:

\let\@ssubeqncr=\@subeqncr
\@namedef{subeqnarray*}{\def\@subeqncr{\nonumber\@ssubeqncr}\subeqnarray}
\@namedef{endsubeqnarray*}{\global\advance\c@equation\m@ne%
                           \nonumber\endsubeqnarray}

% \jot = 3pt      % Extra space added between lines of an eqnarray
%                   environment
% The macro \@eqnnum defines how equation numbers are to appear in equations.
% \def\@eqnnum{(\theequation)}  % (the default in LaTeX)
%
% The following substitution causes \eqnarray to give same spacing
% around =,>,<, etc. as in one-line equation.
\def\eqnarray{\stepcounter{equation}\let\@currentlabel=\theequation
\global\@eqnswtrue
\global\@eqcnt\z@\tabskip\@centering\let\\=\@eqncr
$$\halign to \displaywidth\bgroup\@eqnsel\hskip\@centering
  $\displaystyle\tabskip\z@{##}$&\global\@eqcnt\@ne
% \hskip 2\arraycolsep \hfil${##}$\hfil
  \hfil${\;##\;}$\hfil
% &\global\@eqcnt\tw@ \hskip 2\arraycolsep $\displaystyle\tabskip\z@{##}$\hfil
  &\global\@eqcnt\tw@ $\displaystyle\tabskip\z@{##}$\hfil
   \tabskip\@centering&\llap{##}\tabskip\z@\cr}
%
% TITLEPAGE
\def\titlepage{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
  \else \newpage\fi \thispagestyle{empty}\c@page\z@}
\def\endtitlepage{\if@restonecol\twocolumn \else \newpage \fi}
\arraycolsep 5pt
\tabcolsep 3pt % this is half the space between cols. in a tabular env. ggw
\arrayrulewidth .5pt
\doublerulesep 1.5pt
\tabbingsep \labelsep
%\skip\@mpfootins = \skip\footins
\skip\@mpfootins = 5pt plus .4pt minus .4pt
\fboxsep = 3pt
\fboxrule = .5pt


%  ****************************************
%  *         TITLE AND ABSTRACT           *
%  ****************************************
%
\def\affiliation#1{\gdef\@affiliation{#1}}
\gdef\@affiliation{}

\def\maketitle{\appendixfalse\@ifnextchar [{\m@ketitleone}{\m@ketitletwo}}%
\def\m@ketitletwo{\m@ketitleone[n]}
\def\m@ketitleone[#1]{
 \par
 \begingroup
% no changes to footnoting necessary in JPP; keep at bottom of page -- jas
% \def\thefootnote{\fnsymbol{footnote}}
% \def\@makefnmark{\hbox to 0pt{${\@thefnmark}$\hss}}
% fnmark now on line -- ggw
\bgroup
  \def\@makefntext##1{\begin{center} \hskip .5em
  \@thefnmark \ ##1\end{center}}
  % footnotes on the title page are centered.
  \newpage \global\@topnum\z@
  \@maketitle{#1}\thispagestyle{titlepage} \@thanks
\egroup
 \endgroup
 \setcounter{footnote}{0}
 \let\maketitle\relax \let\@maketitle\relax \gdef\@affiliation{}
 \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\thanks\relax}

\def\and{{\small\bf AND}}%\normalsize

\def\@maketitle#1{
 \newpage
 \vspace*{5pt}
 {\centering \sloppy
  {\LARGE\bf \@title \par}
  \vskip 9pt plus 2pt minus 1pt
  {\large\bf\baselineskip=12pt By \uppercase{\@author} \par}
  \vskip 4pt plus 1pt
  {\small \@affiliation \par}
  \vskip 11pt plus 2pt minus 1pt
  {\small (Received \@date)}
 \par}
 \vskip 13pt plus 2pt minus 1pt
}

\def\abstract{\par\normalsize\noindent\ignorespaces}
\def\endabstract{\par\vskip 9pt plus 1pt minus 1pt
 \vbox{\centerline{\rule[4pt]{30pc}{.4pt}}}}


%  ****************************************
%  *            PAGE STYLES               *
%  ****************************************
%
\mark{{}{}}
\gdef\@author{\mbox{}} % SFB 0.96
\def\author{\@ifnextchar [{\@authortwo}{\@authorone}}
% make \and a simple 'and' for \@shortauthor
\def\@authortwo[#1]#2{\gdef\@author{#2}\gdef\@shortauthor{#1}}
\def\@authorone#1{\gdef\@author{#1}
 \begingroup\def\and{and}\gdef\@shortauthor{#1}\endgroup}
\def\shortauthor#1{\gdef\@shortauthor{#1}}
\gdef\@shortauthor{}
\gdef\@title{\mbox{}} % SFB 0.96
\def\title{\@ifnextchar [{\@titletwo}{\@titleone}}
\def\@titletwo[#1]#2{\gdef\@title{#2}\gdef\@shorttitle{#1}}
\def\@titleone#1{\gdef\@title{#1}\gdef\@shorttitle{#1}}
\def\shorttitle#1{\gdef\@shorttitle{#1}}
\gdef\@shorttitle{}
% SFB 0.96
\def\volume#1{\gdef\@volume{#1}}
\gdef\@volume{00}
\def\part#1{\gdef\@part{#1}}
\gdef\@part{0}
\def\pagerange#1{\gdef\@pagerange{#1}}
\gdef\@pagerange{1--000}

\edef\@pubyear{\number\year}
\def\pubyear#1{\def\@pubyear{#1}}

\def\journal#1{\gdef\@journal{#1}}
\gdef\@journal{%
  \vbox to 6pt{
    \parbox[t]{3in}{%
      \indexsize{\it J. Plasma Physics}
      (\@pubyear), {\it vol.} \@volume, {\it part\/} \@part, {\it pp.}
      \@pagerange\\[4pt] %ajw
      {Copyright \copyright\ \@pubyear\ Cambridge University Press}%
    }%
  }%
} %RM
%
% \ps@empty and \ps@plain defined in LATEX.TEX
%
\def\ps@headings{\let\@mkboth\markboth
 \def\@oddhead{\hfil\it \@shorttitle \hfil\rm \thepage}% altered ggw
 \def\@oddfoot{}
 \def\@evenhead{\rm \thepage \hfil \it \@shortauthor \hfil}% altered ggw
 \def\@evenfoot{}
 \def\sectionmark##1{\markboth{##1}{}}
 \def\subsectionmark##1{\markright{##1}}}
\def\ps@myheadings{\let\@mkboth\@gobbletwo
 \def\@oddhead{\it \rightmark \hfill \rm \thepage}
 \def\@oddfoot{}
 \def\@evenhead{\it \leftmark \hfill \rm \thepage}
 \def\@evenfoot{}
 \def\sectionmark##1{}
 \def\subsectionmark##1{}}
\def\ps@titlepage{\let\@mkboth\@gobbletwo\vfuzz=5pt
 \def\@oddhead{\@journal \hfill \thepage}
 \def\@oddfoot{}
 \def\@evenhead{\@journal \hfill \thepage}
 \def\@evenfoot{}
 \def\sectionmark##1{}
 \def\subsectionmark##1{}}


%  ****************************************
%  *         TABLE OF CONTENTS, ETC.      *
%  ****************************************
%
\def\@pnumwidth{1.55em}
\def\@tocrmarg {2.55em}
\def\@dotsep{4.5}
\setcounter{tocdepth}{2}
%\@undottedtocline{LEVEL}{INDENT}{NUMWIDTH}{TITLE}{PAGE}
\def\@undottedtocline#1#2#3#4#5{\ifnum #1>\c@tocdepth
 \else
  \vskip \z@ plus .2pt
  {\hangindent #2\relax
   \rightskip \@tocrmarg \parfillskip -\rightskip
   \parindent #2\relax \@afterindenttrue
   \interlinepenalty\@M \leavevmode
   \@tempdima #3\relax {\rm #4}\nobreak \hfill \nobreak
   \hbox to\@pnumwidth{\hfil\rm #5}\par}\fi} % page number added -- ggw
\def\tableofcontents{\@restonecolfalse
 \if@twocolumn\@restonecoltrue\onecolumn\fi
 \vskip 4pt plus .5pt
 \centerline{\sc CONTENTS}
 \vskip 3pt
 \@starttoc{toc}
 \if@restonecol\twocolumn\fi \par\vspace{12pt}}
%
\def\l@section#1#2{\addpenalty{\@secpenalty}
 \@tempdima 1.5em
 \begingroup
  \parindent \z@ \rightskip \@pnumwidth
  \parfillskip -\@pnumwidth \rm \leavevmode
  \advance\leftskip\@tempdima \hskip -\leftskip {\bf #1}\nobreak\hfil
  \nobreak\hbox to\@pnumwidth{\hss #2}\par %page number added -- ggw
 \endgroup}
\def\l@subsection{\@undottedtocline{2}{2.5em}{2.3em}}
\def\l@subsubsection{\@undottedtocline{3}{3.8em}{3.2em}}
%
% The following are irrelevant for JPP -- jas
% \def\l@paragraph{\@undottedtocline{4}{7.0em}{4.1em}}
% \def\l@subparagraph{\@undottedtocline{5}{10em}{5em}}
% \def\listoffigures{\@restonecolfalse
%  \if@twocolumn\@restonecoltrue\onecolumn\fi
%  \section*{List of Figures}% altered -- ggw
%  \@starttoc{lof} \if@restonecol\twocolumn\fi}
% \def\l@figure{\@undottedtocline{1}{1.5em}{2.3em}}
% \def\listoftables{\@restonecolfalse
%  \if@twocolumn\@restonecoltrue\onecolumn\fi
%  \section*{List of Tables}% altered -- ggw
%  \@starttoc{lot} \if@restonecol\twocolumn\fi}
% \let\l@table\l@figure


%  ****************************************
%  *              THE INDEX               *
%  ****************************************
%
\newif\if@restonecol
\def\theindex{\section*{Index} % changed to U&LC -- ggw
 \addcontentsline{toc}{section}{Index}
 \footnotesize \parindent\z@ \parskip\z@ plus .1pt\relax
 \let\item\@idxitem}
\def\@idxitem{\par\hangindent 1em}
\def\subitem {\par\hangindent 1em \hspace*{1em}}
\def\subsubitem{\par\hangindent 1em\hspace*{1em}}
\def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi}
\def\indexspace{\par\vskip\baselineskip \relax}


%  ****************************************
%  *             FOOTNOTES                *
%  ****************************************
%
%\def\footnoterule{}
\def\footnoterule{\setcounter{footnote}{0}}% To force numbering to start
%              at 1 on each page.  Works because numbers are
%              assigned at occurrence of the \footnote{} command; this
%              resets counter after they are printed.  This might not work
%              if next footnote falls close enough to page break to have
%              already been 'digested'. --JAS
%\def\@makefntext#1{\hskip1em\@thefnmark\hskip.5em#1}
\def\@makempfntext#1{\hskip1em\@thefnmark\hskip.5em #1}
\def\@makefntext#1{\setbox\@tempboxa\hbox{\hskip1em\@thefnmark\hskip.5em #1}
 \ifdim\wd\@tempboxa>\hsize \unhbox\@tempboxa\else
 \centerline{\unhbox\@tempboxa}\fi}
\long\def\@mpfootnotetext#1{\global\setbox\@mpfootins
    \vbox{\unvbox\@mpfootins \footnotesize
    \hsize\columnwidth \@parboxrestore
%  \edef\@currentlabel{\csname p@mpfootnote\endcsname\@thefnmark}\@makefntext
   \edef\@currentlabel{\csname p@mpfootnote\endcsname\@thefnmark}\@makempfntext
     {\rule{\z@}{\footnotesep}\ignorespaces #1\strut}}}
\def\@fnsymbol#1{\ifcase#1\or \dag\or \ddag\or \P\or \|\or
 \dag\dag\or \ddag\ddag\or \P\P\or \|\| \else\@ctrerr\fi\relax}
%   \@makefnmark : A macro to generate the footnote marker from \@thefnmark
%         The default is \hbox{$^\@thefnmark$}, i.e., raised.
\def\@makefnmark{\hbox{\@thefnmark}}% used in text
\def\thempfootnote{\hbox{$^{\fnsymbol{mpfootnote}}$}}


%  ****************************************
%  *         FIGURES AND TABLES           *
%  ****************************************
%
\setcounter{topnumber}{3}
\def\topfraction{.9}
\setcounter{bottomnumber}{0}
\def\bottomfraction{.9}
\setcounter{totalnumber}{3}
\def\textfraction{.1}
\def\floatpagefraction{.9}
\setcounter{dbltopnumber}{3}
\def\dbltopfraction{.9}
\def\dblfloatpagefraction{.5}
%
\long\def\@makecaption#1#2{\vskip 5pt plus .4pt minus .4pt\begingroup\small
  \setbox\@tempboxa\hbox{{\sc #1.} #2}
  \ifdim \wd\@tempboxa >2\hsize \unhbox\@tempboxa\par \else
  {\centering \unhbox\@tempboxa\par} \fi \endgroup}
%
\newcounter{table}
\def\thetable{\@arabic\c@table}
\def\fps@table{tp}
\def\ftype@table{1}
\def\ext@table{lot}
\def\fnum@table{Table~\thetable}
%\def\table{\@float{table}\rule{\textwidth}{.5pt}
%\vskip\floatsep}

\newif\iffollowon
\def\table{\@float{table}%
  \iffollowon
  \else
    \vspace*{9pt}% replace the space swallowed by TeX
  \fi
  \global\followonfalse
  \rule{\textwidth}{.5pt}\vskip\floatsep\relax
}

\def\followon{\global\followontrue}

\def\plaintable{\@float{table}}
%\let\endtable\end@float

\newif\ifrmrule
\def\endtable{% ajw
  \ifrmrule
    \global\rmrulefalse
  \else
    \rule{\textwidth}{.5pt}%
  \fi
  \end@float
}

\def\norule{\global\rmruletrue}

\@namedef{table*}{\@dblfloat{table}}
\@namedef{endtable*}{\end@dblfloat}
\def\fstyle@table{\small\rm}
\def\fjust@table{\centering}%changed ggw
\def\fcapjust@table{\centering} %changed ggw
\def\fcapsize@table{\small\sc}
\def\fcapstyle@table{\small\rm}
%
\newcounter{figure}
\def\thefigure{\@arabic\c@figure}
\def\fps@figure{tp}
\def\ftype@figure{2}
\def\ext@figure{lof}
\def\fnum@figure{Figure~\thefigure}
\def\figure{\@float{figure}}
\let\endfigure\end@float
\@namedef{figure*}{\@dblfloat{figure}}
\@namedef{endfigure*}{\end@dblfloat}
\def\fstyle@figure{\small\rm}
\def\fjust@figure{\centering}
\def\fcapjust@figure{\centering}% changed ggw
\def\fcapsize@figure{\small\sc}
\def\fcapstyle@figure{\small\rm}
\newif\ifwide@float
\wide@floatfalse
%
%\@caption{TYPE}[STEXT]{TEXT}
\def\@dblfloat{\wide@floattrue\@float}
\def\end@dblfloat{\if@twocolumn\egroup
 \ifnum\@floatpenalty <\z@ \@cons\@dbldeferlist\@currbox\fi
 \ifnum \@floatpenalty =-\@Mii \@esphack\fi\else\end@float\fi
 \wide@floatfalse}

%this is to preserve the old tabular environment in case it is needed
\let \oldtabular \tabular
\let \endoldtabular \endtabular

\def\tabular{\def\@halignto{to \textwidth}\tabskip=\tabcolsep plus 1fil\@tabular}
% This fixes tabular things so that they are full out l and r; the \tabskip setting
% is to put tabskip before the first column.
%    The following is to adjust the intercolumn spacing to put in
% enough stretch. ggw
\def\@tabarray{\@ifnextchar[{\@tarray}{\@ttarray}}
\def\@tarray[#1]#2{\t@barray[#1]{@{\tabskip=2\tabcolsep plus 3pt}
                                #2}}
\def\@ttarray#1{\t@barray[c]{@{\tabskip=2\tabcolsep plus 3pt}
                                #1 }}
\def\t@barray[#1]#2{\setbox\@arstrutbox=\hbox{\vrule
     height\arraystretch \ht\strutbox
     depth\arraystretch \dp\strutbox
     width\z@}\@mkpream{#2}\edef\@preamble{\halign \noexpand\@halignto
\bgroup \tabskip\z@ \@arstrut \@preamble \tabskip=\tabcolsep plus 1fil \cr}%
\let\@startpbox\@@startpbox \let\@endpbox\@@endpbox
  \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi
  \bgroup \let\par\relax
  \let\@sharp##\let\protect\relax \lineskip\z@\baselineskip\z@\@preamble}


%  ****************************************
%  *           CUP specials               *
%  ****************************************
%
\def\ls{\kern.15em} % for letterspacing; .15em is a hair less than thinspace
\def\ns{\kern.5em} % for name-spacing
\renewcommand{\thefootnote}{\mbox{$\fnsymbol{footnote}$}}
\def\hline{\noalign{\ifnum0=`}\fi \vskip 6pt
 \hrule \@height \arrayrulewidth \vskip 6pt
 \futurelet \@tempa\@xhline}
\def\@xhline{\ifx\@tempa\hline \vskip -12pt
 \vskip \doublerulesep \fi \ifnum0=`{\fi}}
\newenvironment{acknowledgments}{\par\vskip 10pt plus 1pt minus 1pt}{\par}


%  ****************************************
%  *            MISCELLANEOUS             *
%  ****************************************
%
\def\today{\number\day\ \ifcase\month\or
  January\or February\or March\or April\or May\or June\or
  July\or August\or September\or October\or November\or December
 \fi \ \number\year}


%  ****************************************
%  *           BIBLIOGRAPHY               *
%  ****************************************
% \def\@biblabel#1{#1}
\def\@biblabel#1{} % remove label from bibliography listing
\def\thebibliography#1{\par\vskip 20pt plus 1pt minus 1pt
 \centerline{\sc R\ls E\ls F\ls E\ls R\ls E\ls N\ls C\ls E\ls S}
 \nobreak
 \vskip 4pt plus .5pt minus .5pt
 \nobreak
%\addcontentsline{toc}{section}{References} % removed for JPP -- ajw
 \list{}{\labelwidth\z@ \leftmargin 2em \itemindent -2em \itemsep 1pt}
 \small \parindent\z@
 \parskip\z@ plus .1pt\relax
 \def\newblock{\hskip .11em plus .33em minus .07em}
 \sloppy\clubpenalty4000\widowpenalty4000
 \sfcode`\.=1000\relax}
\let\endthebibliography=\endlist

% remove square brackets around citations

\def\@cite#1#2{{#1\if@tempswa , #2\fi}}


%  ****************************************
%  *           INITIALIZATION             *
%  ****************************************
%
\ps@headings
\pagenumbering{arabic}
\onecolumn \let\onecolumn=\relax
%\def\twocolumn{\typeout{Two column mode not available with JPP style.}}
% We want twocolumn available for reviews, as in the type spec. ggw
\flushbottom
%\frenchspacing
%%%%%%%%%%%%%%%%%%%%%% end of jpp.sty %%%%%%%%%%%%%%%%%%%%%%


psfig2.sty0100644000022500002260000010773007137110207011241 0ustar  rschtp4% Psfig/TeX 
\def\PsfigVersion{1.10}
\def\setDriver{\DvipsDriver} % \DvipsDriver or \OzTeXDriver
%
% All software, documentation, and related files in this distribution of
% psfig/tex are Copyright 1993 Trevor J. Darrell
%
% Permission is granted for use and non-profit distribution of psfig/tex 
% providing that this notice is clearly maintained. The right to
% distribute any portion of psfig/tex for profit or as part of any commercial
% product is specifically reserved for the author(s) of that portion.
%
% To use with LaTeX, use \documentstyle[psfig,...]{...}
% To use with TeX, use \input psfig.sty
%
% Bugs and improvements to trevor@media.mit.edu.
%
% Thanks to Ned Batchelder, Greg Hager (GDH), J. Daniel Smith (JDS),
% Tom Rokicki (TR), Robert Russell (RR), George V. Reilly (GVR),
% Ken McGlothlen (KHC), Baron Grey (BG), Gerhard Tobermann (GT).
% and all others who have contributed code and comments to this project!
%
% ======================================================================
% Modification History:
%
%  9 Oct 1990   JDS     used more robust bbox reading code from Tom Rokicki
% 29 Mar 1991   JDS     implemented rotation= option
% 25 Jun 1991   RR      if bb specified on cmd line don't check
%                       for .ps file.
%  3 Jul 1991   JDS     check if file already read in once
%  4 Sep 1991   JDS     fixed incorrect computation of rotated
%                       bounding box
% 25 Sep 1991   GVR     expanded synopsis of \psfig
% 14 Oct 1991   JDS     \fbox code from LaTeX so \psdraft works with TeX
%                       changed \typeout to \ps@typeout
% 17 Oct 1991   JDS     added \psscalefirst and \psrotatefirst
% 23 Jun 1993   KHC     ``doclip'' must appear before ``rotate''
% 27 Oct 1993   TJD     removed printing of filename to avoid 
%                       underscore problems. changed \frame to \fbox.
%                       Added OzTeX support from BG. Added new
%                       figure search path code from GT.
%
% ======================================================================
%
% Command synopsis:
%
% \psdraft      draws an outline box, but doesn't include the figure
%               in the DVI file.  Useful for previewing.
%
% \psfull       includes the figure in the DVI file (default).
%
% \psscalefirst width= or height= specifies the size of the figure
%               before rotation.
% \psrotatefirst (default) width= or height= specifies the size of the
%                figure after rotation.  Asymetric figures will
%                appear to shrink.
%
% \psfigurepath{dir:dir:...}  sets the path to search for the figure
%
% \psfig
% usage: \psfig{file=, figure=, height=, width=,
%                       bbllx=, bblly=, bburx=, bbury=,
%                       rheight=, rwidth=, clip=, angle=, rotate=,
%                     scale=, silent=}
%
%       "file" is the filename.  If no path name is specified and the
%               file is not found in the current directory,
%               it will be looked for in directory \psfigurepath.
%       "figure" is a synonym for "file".
%       By default, the width and height of the figure are taken from
%               the BoundingBox of the figure.
%       If "width" is specified, the figure is scaled so that it has
%               the specified width.  Its height changes proportionately.
%       If "height" is specified, the figure is scaled so that it has
%               the specified height.  Its width changes proportionately.
%       If both "width" and "height" are specified, the figure is scaled
%               anamorphically.
%       "bbllx", "bblly", "bburx", and "bbury" control the PostScript
%               BoundingBox.  If these four values are specified
%               *before* the "file" option, the PSFIG will not try to
%               open the PostScript file.
%       "rheight" and "rwidth" are the reserved height and width
%               of the figure, i.e., how big TeX actually thinks
%               the figure is.  They default to "width" and "height".
%       The "clip" option ensures that no portion of the figure will
%               appear outside its BoundingBox.  "clip=" is a switch and
%               takes no value, but the `=' must be present.
%       The "angle" option specifies the angle of rotation (degrees, ccw).
%       The "silent" option makes \psfig work silently.
%
% ======================================================================
% check to see if macros already loaded in (maybe some other file says
% "\input psfig") ...
\ifx\undefined\psfig\else\endinput\fi
%
% from a suggestion by eijkhout@csrd.uiuc.edu to allow
% loading as a style file. Changed to avoid problems
% with amstex per suggestion by jbence@math.ucla.edu

\let\LaTeXAtSign=\@
\let\@=\relax
\edef\psfigRestoreAt{\catcode`\@=\number\catcode`@\relax}
%\edef\psfigRestoreAt{\catcode`@=\number\catcode`@\relax}
\catcode`\@=11\relax
\newwrite\@unused
\def\ps@typeout#1{{\let\protect\string\immediate\write\@unused{#1}}}

\def\DvipsDriver{
        \ps@typeout{psfig/tex \PsfigVersion -dvips}
\def\PsfigSpecials{\DvipsSpecials}      \def\ps@dir{/}
\def\ps@predir{} }
\def\OzTeXDriver{
        \ps@typeout{psfig/tex \PsfigVersion -oztex}
        \def\PsfigSpecials{\OzTeXSpecials}
        \def\ps@dir{:}
        \def\ps@predir{:}
        \catcode`\^^J=5
}

%% Here's how you define your figure path.  Should be set up with null
%% default and a user useable definition.

\def\figurepath{./:}
\def\psfigurepath#1{\edef\figurepath{#1:}}

%%% inserted for Searching Unixpaths
%%% (the path must end with :)
%%% (call: \DoPaths\figurepath )
%%%------------------------------------------------------
\def\DoPaths#1{\expandafter\EachPath#1\stoplist}
%
\def\leer{}
\def\EachPath#1:#2\stoplist{% #1 part of the list (delimiter :)
  \ExistsFile{#1}{\SearchedFile}
  \ifx#2\leer
  \else
    \expandafter\EachPath#2\stoplist
  \fi}
%
% exists the file (does not work for directories!)
%
\def\ps@dir{/}
\def\ExistsFile#1#2{%
   \openin1=\ps@predir#1\ps@dir#2
   \ifeof1
       \closein1
       %\ps@typeout{...not: \ps@predir#1\ps@dir#2}
   \else
       \closein1
       %\ps@typeout{...in:  \ps@predir#1\ps@dir#2}
        \ifx\ps@founddir\leer
          %\ps@typeout{set founddir #1}
           \edef\ps@founddir{#1}
        \fi
   \fi}
%------------------------------------------------------
%
% Get dir in path or error
%
\def\get@dir#1{%
  \def\ps@founddir{}
  \def\SearchedFile{#1}
  \DoPaths\figurepath
%  \fi
}
%------------------------------------------------------
%%% END of Searching Unixpaths


%
% @psdo control structure -- similar to Latex @for.
% I redefined these with different names so that psfig can
% be used with TeX as well as LaTeX, and so that it will not 
% be vunerable to future changes in LaTeX's internal
% control structure,
%
\def\@nnil{\@nil}
\def\@empty{}
\def\@psdonoop#1\@@#2#3{}
\def\@psdo#1:=#2\do#3{\edef\@psdotmp{#2}\ifx\@psdotmp\@empty \else
    \expandafter\@psdoloop#2,\@nil,\@nil\@@#1{#3}\fi}
\def\@psdoloop#1,#2,#3\@@#4#5{\def#4{#1}\ifx #4\@nnil \else
       #5\def#4{#2}\ifx #4\@nnil \else#5\@ipsdoloop #3\@@#4{#5}\fi\fi}
\def\@ipsdoloop#1,#2\@@#3#4{\def#3{#1}\ifx #3\@nnil 
       \let\@nextwhile=\@psdonoop \else
      #4\relax\let\@nextwhile=\@ipsdoloop\fi\@nextwhile#2\@@#3{#4}}
\def\@tpsdo#1:=#2\do#3{\xdef\@psdotmp{#2}\ifx\@psdotmp\@empty \else
    \@tpsdoloop#2\@nil\@nil\@@#1{#3}\fi}
\def\@tpsdoloop#1#2\@@#3#4{\def#3{#1}\ifx #3\@nnil 
       \let\@nextwhile=\@psdonoop \else
      #4\relax\let\@nextwhile=\@tpsdoloop\fi\@nextwhile#2\@@#3{#4}}
% 
% \fbox is defined in latex.tex; so if \fbox is undefined, assume that
% we are not in LaTeX.
% Perhaps this could be done better???
\ifx\undefined\fbox
% \fbox code from modified slightly from LaTeX
\newdimen\fboxrule
\newdimen\fboxsep
\newdimen\ps@tempdima
\newbox\ps@tempboxa
\fboxsep = 3pt
\fboxrule = .4pt
\long\def\fbox#1{\leavevmode\setbox\ps@tempboxa\hbox{#1}\ps@tempdima\fboxrule
    \advance\ps@tempdima \fboxsep \advance\ps@tempdima \dp\ps@tempboxa
   \hbox{\lower \ps@tempdima\hbox
  {\vbox{\hrule height \fboxrule
          \hbox{\vrule width \fboxrule \hskip\fboxsep
          \vbox{\vskip\fboxsep \box\ps@tempboxa\vskip\fboxsep}\hskip 
                 \fboxsep\vrule width \fboxrule}
                 \hrule height \fboxrule}}}}
\fi
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% file reading stuff from epsf.tex
%   EPSF.TEX macro file:
%   Written by Tomas Rokicki of Radical Eye Software, 29 Mar 1989.
%   Revised by Don Knuth, 3 Jan 1990.
%   Revised by Tomas Rokicki to accept bounding boxes with no
%      space after the colon, 18 Jul 1990.
%   Portions modified/removed for use in PSFIG package by
%      J. Daniel Smith, 9 October 1990.
%
\newread\ps@stream
\newif\ifnot@eof       % continue looking for the bounding box?
\newif\if@noisy        % report what you're making?
\newif\if@atend        % %%BoundingBox: has (at end) specification
\newif\if@psfile       % does this look like a PostScript file?
%
% PostScript files should start with `%!'
%
{\catcode`\%=12\global\gdef\epsf@start{%!}}
\def\epsf@PS{PS}
%
\def\epsf@getbb#1{%
%
%   The first thing we need to do is to open the
%   PostScript file, if possible.
%
\openin\ps@stream=\ps@predir#1
\ifeof\ps@stream\ps@typeout{Error, File #1 not found}\else
%
%   Okay, we got it. Now we'll scan lines until we find one that doesn't
%   start with %. We're looking for the bounding box comment.
%
   {\not@eoftrue \chardef\other=12
    \def\do##1{\catcode`##1=\other}\dospecials \catcode`\ =10
    \loop
       \if@psfile
          \read\ps@stream to \epsf@fileline
       \else{
          \obeyspaces
          \read\ps@stream to \epsf@tmp\global\let\epsf@fileline\epsf@tmp}
       \fi
       \ifeof\ps@stream\not@eoffalse\else
%
%   Check the first line for `%!'.  Issue a warning message if its not
%   there, since the file might not be a PostScript file.
%
       \if@psfile\else
       \expandafter\epsf@test\epsf@fileline:. \\%
       \fi
%
%   We check to see if the first character is a % sign;
%   if so, we look further and stop only if the line begins with
%   `%%BoundingBox:' and the `(atend)' specification was not found.
%   That is, the only way to stop is when the end of file is reached,
%   or a `%%BoundingBox: llx lly urx ury' line is found.
%
          \expandafter\epsf@aux\epsf@fileline:. \\%
       \fi
   \ifnot@eof\repeat
   }\closein\ps@stream\fi}%
%
% This tests if the file we are reading looks like a PostScript file.
%
\long\def\epsf@test#1#2#3:#4\\{\def\epsf@testit{#1#2}
                        \ifx\epsf@testit\epsf@start\else
\ps@typeout{Warning! File does not start with `\epsf@start'.  It may not be a PostScript file.}
                        \fi
                        \@psfiletrue} % don't test after 1st line
%
%   We still need to define the tricky \epsf@aux macro. This requires
%   a couple of magic constants for comparison purposes.
%
{\catcode`\%=12\global\let\epsf@percent=%\global\def\epsf@bblit{%BoundingBox}}
%
%
%   So we're ready to check for `%BoundingBox:' and to grab the
%   values if they are found.  We continue searching if `(at end)'
%   was found after the `%BoundingBox:'.
%
\long\def\epsf@aux#1#2:#3\\{\ifx#1\epsf@percent
   \def\epsf@testit{#2}\ifx\epsf@testit\epsf@bblit
        \@atendfalse
        \epsf@atend #3 . \\%
        \if@atend       
           \if@verbose{
                \ps@typeout{psfig: found `(atend)'; continuing search}
           }\fi
        \else
        \epsf@grab #3 . . . \\%
        \not@eoffalse
        \global\no@bbfalse
        \fi
   \fi\fi}%
%
%   Here we grab the values and stuff them in the appropriate definitions.
%
\def\epsf@grab #1 #2 #3 #4 #5\\{%
   \global\def\epsf@llx{#1}\ifx\epsf@llx\empty
      \epsf@grab #2 #3 #4 #5 .\\\else
   \global\def\epsf@lly{#2}%
   \global\def\epsf@urx{#3}\global\def\epsf@ury{#4}\fi}%
%
% Determine if the stuff following the %%BoundingBox is `(atend)'
% J. Daniel Smith.  Copied from \epsf@grab above.
%
\def\epsf@atendlit{(atend)} 
\def\epsf@atend #1 #2 #3\\{%
   \def\epsf@tmp{#1}\ifx\epsf@tmp\empty
      \epsf@atend #2 #3 .\\\else
   \ifx\epsf@tmp\epsf@atendlit\@atendtrue\fi\fi}


% End of file reading stuff from epsf.tex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% trigonometry stuff from "trig.tex"
\chardef\psletter = 11 % won't conflict with \begin{letter} now...
\chardef\other = 12

\newif \ifdebug %%% turn me on to see TeX hard at work ...
\newif\ifc@mpute %%% don't need to compute some values
\c@mputetrue % but assume that we do

\let\then = \relax
\def\r@dian{pt }
\let\r@dians = \r@dian
\let\dimensionless@nit = \r@dian
\let\dimensionless@nits = \dimensionless@nit
\def\internal@nit{sp }
\let\internal@nits = \internal@nit
\newif\ifstillc@nverging
\def \Mess@ge #1{\ifdebug \then \message {#1} \fi}

{ %%% Things that need abnormal catcodes %%%
        \catcode `\@ = \psletter
        \gdef \nodimen {\expandafter \n@dimen \the \dimen}
        \gdef \term #1 #2 #3%
               {\edef \t@ {\the #1}%%% freeze parameter 1 (count, by value)
                \edef \t@@ {\expandafter \n@dimen \the #2\r@dian}%
                                   %%% freeze parameter 2 (dimen, by value)
                \t@rm {\t@} {\t@@} {#3}%
               }
        \gdef \t@rm #1 #2 #3%
               {{%
                \count 0 = 0
                \dimen 0 = 1 \dimensionless@nit
                \dimen 2 = #2\relax
                \Mess@ge {Calculating term #1 of \nodimen 2}%
                \loop
                \ifnum  \count 0 < #1
                \then   \advance \count 0 by 1
                        \Mess@ge {Iteration \the \count 0 \space}%
                        \Multiply \dimen 0 by {\dimen 2}%
                        \Mess@ge {After multiplication, term = \nodimen 0}%
                        \Divide \dimen 0 by {\count 0}%
                        \Mess@ge {After division, term = \nodimen 0}%
                \repeat
                \Mess@ge {Final value for term #1 of 
                                \nodimen 2 \space is \nodimen 0}%
                \xdef \Term {#3 = \nodimen 0 \r@dians}%
                \aftergroup \Term
               }}
        \catcode `\p = \other
        \catcode `\t = \other
        \gdef \n@dimen #1pt{#1} %%% throw away the ``pt''
}

\def \Divide #1by #2{\divide #1 by #2} %%% just a synonym

\def \Multiply #1by #2%%% allows division of a dimen by a dimen
       {{%%% should really freeze parameter 2 (dimen, passed by value)
        \count 0 = #1\relax
        \count 2 = #2\relax
        \count 4 = 65536
        \Mess@ge {Before scaling, count 0 = \the \count 0 \space and
                        count 2 = \the \count 2}%
        \ifnum  \count 0 > 32767 %%% do our best to avoid overflow
        \then   \divide \count 0 by 4
                \divide \count 4 by 4
        \else   \ifnum  \count 0 < -32767
                \then   \divide \count 0 by 4
                        \divide \count 4 by 4
                \else
                \fi
        \fi
        \ifnum  \count 2 > 32767 %%% while retaining reasonable accuracy
        \then   \divide \count 2 by 4
                \divide \count 4 by 4
        \else   \ifnum  \count 2 < -32767
                \then   \divide \count 2 by 4
                        \divide \count 4 by 4
                \else
                \fi
        \fi
        \multiply \count 0 by \count 2
        \divide \count 0 by \count 4
        \xdef \product {#1 = \the \count 0 \internal@nits}%
        \aftergroup \product
       }}

\def\r@duce{\ifdim\dimen0 > 90\r@dian \then   % sin(x+90) = sin(180-x)
                \multiply\dimen0 by -1
                \advance\dimen0 by 180\r@dian
                \r@duce
            \else \ifdim\dimen0 < -90\r@dian \then  % sin(-x) = sin(360+x)
                \advance\dimen0 by 360\r@dian
                \r@duce
                \fi
            \fi}

\def\Sine#1%
       {{%
        \dimen 0 = #1 \r@dian
        \r@duce
        \ifdim\dimen0 = -90\r@dian \then
           \dimen4 = -1\r@dian
           \c@mputefalse
        \fi
        \ifdim\dimen0 = 90\r@dian \then
           \dimen4 = 1\r@dian
           \c@mputefalse
        \fi
        \ifdim\dimen0 = 0\r@dian \then
           \dimen4 = 0\r@dian
           \c@mputefalse
        \fi
%
        \ifc@mpute \then
                % convert degrees to radians
                \divide\dimen0 by 180
                \dimen0=3.141592654\dimen0
%
                \dimen 2 = 3.1415926535897963\r@dian %%% a well-known constant
                \divide\dimen 2 by 2 %%% we only deal with -pi/2 : pi/2
                \Mess@ge {Sin: calculating Sin of \nodimen 0}%
                \count 0 = 1 %%% see power-series expansion for sine
                \dimen 2 = 1 \r@dian %%% ditto
                \dimen 4 = 0 \r@dian %%% ditto
                \loop
                        \ifnum  \dimen 2 = 0 %%% then we've done
                        \then   \stillc@nvergingfalse 
                        \else   \stillc@nvergingtrue
                        \fi
                        \ifstillc@nverging %%% then calculate next term
                        \then   \term {\count 0} {\dimen 0} {\dimen 2}%
                                \advance \count 0 by 2
                                \count 2 = \count 0
                                \divide \count 2 by 2
                                \ifodd  \count 2 %%% signs alternate
                                \then   \advance \dimen 4 by \dimen 2
                                \else   \advance \dimen 4 by -\dimen 2
                                \fi
                \repeat
        \fi             
                        \xdef \sine {\nodimen 4}%
       }}

% Now the Cosine can be calculated easily by calling \Sine
\def\Cosine#1{\ifx\sine\UnDefined\edef\Savesine{\relax}\else
                             \edef\Savesine{\sine}\fi
        {\dimen0=#1\r@dian\advance\dimen0 by 90\r@dian
         \Sine{\nodimen 0}
         \xdef\cosine{\sine}
         \xdef\sine{\Savesine}}}              
% end of trig stuff
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\def\psdraft{
        \def\@psdraft{0}
        %\ps@typeout{draft level now is \@psdraft \space . }
}
\def\psfull{
        \def\@psdraft{100}
        %\ps@typeout{draft level now is \@psdraft \space . }
}

\psfull

\newif\if@scalefirst
\def\psscalefirst{\@scalefirsttrue}
\def\psrotatefirst{\@scalefirstfalse}
\psrotatefirst

\newif\if@draftbox
\def\psnodraftbox{
        \@draftboxfalse
}
\def\psdraftbox{
        \@draftboxtrue
}
\@draftboxtrue

\newif\if@prologfile
\newif\if@postlogfile
\def\pssilent{
        \@noisyfalse
}
\def\psnoisy{
        \@noisytrue
}
\psnoisy
%%% These are for the option list.
%%% A specification of the form a = b maps to calling \@p@@sa{b}
\newif\if@bbllx
\newif\if@bblly
\newif\if@bburx
\newif\if@bbury
\newif\if@height
\newif\if@width
\newif\if@rheight
\newif\if@rwidth
\newif\if@angle
\newif\if@clip
\newif\if@verbose
\newif\if@scale
\def\@p@@sclip#1{\@cliptrue}
%
%
\newif\if@decmpr
%
\def\@p@@sfigure#1{\def\@p@sfile{null}\def\@p@sbbfile{null}\@decmprfalse
   % look directly for file (e.g. absolute path)
   \openin1=\ps@predir#1
   \ifeof1
        \closein1
        % failed, search directories for file
        \get@dir{#1}
        \ifx\ps@founddir\leer
                % failed, search directly for file.bb
                \openin1=\ps@predir#1.bb
                \ifeof1
                        \closein1
                        % failed, search directories for file.bb
                        \get@dir{#1.bb}
                        \ifx\ps@founddir\leer
                                % failed, lose.
                                \ps@typeout{Can't find #1 in \figurepath}
                        \else
                                % found file.bb in search dir
                                \@decmprtrue
                                \def\@p@sfile{\ps@founddir\ps@dir#1}
                                \def\@p@sbbfile{\ps@founddir\ps@dir#1.bb}
                        \fi
                \else
                        \closein1
                        %found file.bb directly
                        \@decmprtrue
                        \def\@p@sfile{#1}
                        \def\@p@sbbfile{#1.bb}
                \fi
        \else
                % found file in search dir
                \def\@p@sfile{\ps@founddir\ps@dir#1}
                \def\@p@sbbfile{\ps@founddir\ps@dir#1}
        \fi
   \else
        % found file directly
        \closein1
        \def\@p@sfile{#1}
        \def\@p@sbbfile{#1}
   \fi
}
%
%
%
\def\@p@@sfile#1{\@p@@sfigure{#1}}
%
\def\@p@@sbbllx#1{
                %\ps@typeout{bbllx is #1}
                \@bbllxtrue
                \dimen100=#1
                \edef\@p@sbbllx{\number\dimen100}
}
\def\@p@@sbblly#1{
                %\ps@typeout{bblly is #1}
                \@bbllytrue
                \dimen100=#1
                \edef\@p@sbblly{\number\dimen100}
}
\def\@p@@sbburx#1{
                %\ps@typeout{bburx is #1}
                \@bburxtrue
                \dimen100=#1
                \edef\@p@sbburx{\number\dimen100}
}
\def\@p@@sbbury#1{
                %\ps@typeout{bbury is #1}
                \@bburytrue
                \dimen100=#1
                \edef\@p@sbbury{\number\dimen100}
}
\def\@p@@sheight#1{
                \@heighttrue
                \dimen100=#1
                \edef\@p@sheight{\number\dimen100}
                %\ps@typeout{Height is \@p@sheight}
}
\def\@p@@swidth#1{
                %\ps@typeout{Width is #1}
                \@widthtrue
                \dimen100=#1
                \edef\@p@swidth{\number\dimen100}
}
\def\@p@@srheight#1{
                %\ps@typeout{Reserved height is #1}
                \@rheighttrue
                \dimen100=#1
                \edef\@p@srheight{\number\dimen100}
}
\def\@p@@srwidth#1{
                %\ps@typeout{Reserved width is #1}
                \@rwidthtrue
                \dimen100=#1
                \edef\@p@srwidth{\number\dimen100}
}
\def\@p@@sangle#1{
                %\ps@typeout{Rotation is #1}
                \@angletrue
%               \dimen100=#1
                \edef\@p@sangle{#1} %\number\dimen100}
}
\def\@p@@srotate#1{\@p@@sangle{-#1}}
\def\@p@@sscale#1{
        %\ps@typeout{Scale is #1}
        \@scaletrue
        \edef\@p@sscale{#1}
}
\def\@p@@ssilent#1{ 
                \@verbosefalse
}
\def\@p@@sprolog#1{\@prologfiletrue\def\@prologfileval{#1}}
\def\@p@@spostlog#1{\@postlogfiletrue\def\@postlogfileval{#1}}
\def\@cs@name#1{\csname #1\endcsname}
\def\@setparms#1=#2,{\@cs@name{@p@@s#1}{#2}}
%
% initialize the defaults (size the size of the figure)
%
\def\ps@init@parms{
                \@bbllxfalse \@bbllyfalse
                \@bburxfalse \@bburyfalse
                \@heightfalse \@widthfalse
                \@rheightfalse \@rwidthfalse
        \@scalefalse
                \def\@p@sbbllx{}\def\@p@sbblly{}
                \def\@p@sbburx{}\def\@p@sbbury{}
                \def\@p@sheight{}\def\@p@swidth{}
                \def\@p@srheight{}\def\@p@srwidth{}
                \def\@p@sangle{0}
                \def\@p@sfile{} \def\@p@sbbfile{}
                \def\@p@scost{10}
                \def\@sc{}
                \@prologfilefalse
                \@postlogfilefalse
                \@clipfalse
                \if@noisy
                        \@verbosetrue
                \else
                        \@verbosefalse
                \fi
}
%
% Go through the options setting things up.
%
\def\parse@ps@parms#1{
                \@psdo\@psfiga:=#1\do
                   {\expandafter\@setparms\@psfiga,}}
%
% Compute bb height and width
%
\newif\ifno@bb
\def\bb@missing{
        \if@verbose{
                \ps@typeout{psfig: searching \@p@sbbfile \space  for bounding box}
        }\fi
        \no@bbtrue
        \epsf@getbb{\@p@sbbfile}
        \ifno@bb \else \bb@cull\epsf@llx\epsf@lly\epsf@urx\epsf@ury\fi
}       
\def\bb@cull#1#2#3#4{
        \dimen100=#1 bp\edef\@p@sbbllx{\number\dimen100}
        \dimen100=#2 bp\edef\@p@sbblly{\number\dimen100}
        \dimen100=#3 bp\edef\@p@sbburx{\number\dimen100}
        \dimen100=#4 bp\edef\@p@sbbury{\number\dimen100}
        \no@bbfalse
}
% rotate point (#1,#2) about (0,0).
% The sine and cosine of the angle are already stored in \sine and
% \cosine.  The result is placed in (\p@intvaluex, \p@intvaluey).
\newdimen\p@intvaluex
\newdimen\p@intvaluey
\def\rotate@#1#2{{\dimen0=#1 sp\dimen1=#2 sp
%               calculate x' = x \cos\theta - y \sin\theta
                  \global\p@intvaluex=\cosine\dimen0
                  \dimen3=\sine\dimen1
                  \global\advance\p@intvaluex by -\dimen3
%               calculate y' = x \sin\theta + y \cos\theta
                  \global\p@intvaluey=\sine\dimen0
                  \dimen3=\cosine\dimen1
                  \global\advance\p@intvaluey by \dimen3
                  }}
\def\compute@bb{
                \no@bbfalse
                \if@bbllx \else \no@bbtrue \fi
                \if@bblly \else \no@bbtrue \fi
                \if@bburx \else \no@bbtrue \fi
                \if@bbury \else \no@bbtrue \fi
                \ifno@bb \bb@missing \fi
                \ifno@bb \ps@typeout{FATAL ERROR: no bb supplied or found}
                        \no-bb-error
                \fi
                %
%\ps@typeout{BB: \@p@sbbllx, \@p@sbblly, \@p@sbburx, \@p@sbbury} 
%
% store height/width of original (unrotated) bounding box
                \count203=\@p@sbburx
                \count204=\@p@sbbury
                \advance\count203 by -\@p@sbbllx
                \advance\count204 by -\@p@sbblly
                \edef\ps@bbw{\number\count203}
                \edef\ps@bbh{\number\count204}
                %\ps@typeout{ psbbh = \ps@bbh, psbbw = \ps@bbw }
                \if@angle 
                        \Sine{\@p@sangle}\Cosine{\@p@sangle}
                        {\dimen100=\maxdimen\xdef\r@p@sbbllx{\number\dimen100}
                                            \xdef\r@p@sbblly{\number\dimen100}
                                            \xdef\r@p@sbburx{-\number\dimen100}
                                            \xdef\r@p@sbbury{-\number\dimen100}}
%
% Need to rotate all four points and take the X-Y extremes of the new
% points as the new bounding box.
                        \def\minmaxtest{
                           \ifnum\number\p@intvaluex<\r@p@sbbllx
                              \xdef\r@p@sbbllx{\number\p@intvaluex}\fi
                           \ifnum\number\p@intvaluex>\r@p@sbburx
                              \xdef\r@p@sbburx{\number\p@intvaluex}\fi
                           \ifnum\number\p@intvaluey<\r@p@sbblly
                              \xdef\r@p@sbblly{\number\p@intvaluey}\fi
                           \ifnum\number\p@intvaluey>\r@p@sbbury
                              \xdef\r@p@sbbury{\number\p@intvaluey}\fi
                           }
%                       lower left
                        \rotate@{\@p@sbbllx}{\@p@sbblly}
                        \minmaxtest
%                       upper left
                        \rotate@{\@p@sbbllx}{\@p@sbbury}
                        \minmaxtest
%                       lower right
                        \rotate@{\@p@sbburx}{\@p@sbblly}
                        \minmaxtest
%                       upper right
                        \rotate@{\@p@sbburx}{\@p@sbbury}
                        \minmaxtest
                        \edef\@p@sbbllx{\r@p@sbbllx}\edef\@p@sbblly{\r@p@sbblly}
                        \edef\@p@sbburx{\r@p@sbburx}\edef\@p@sbbury{\r@p@sbbury}
%\ps@typeout{rotated BB: \r@p@sbbllx, \r@p@sbblly, \r@p@sbburx, \r@p@sbbury}
                \fi
                \count203=\@p@sbburx
                \count204=\@p@sbbury
                \advance\count203 by -\@p@sbbllx
                \advance\count204 by -\@p@sbblly
                \edef\@bbw{\number\count203}
                \edef\@bbh{\number\count204}
                %\ps@typeout{ bbh = \@bbh, bbw = \@bbw }
}
%
% \in@hundreds performs #1 * (#2 / #3) correct to the hundreds,
%       then leaves the result in @result
%
\def\in@hundreds#1#2#3{\count240=#2 \count241=#3
                     \count100=\count240        % 100 is first digit #2/#3
                     \divide\count100 by \count241
                     \count101=\count100
                     \multiply\count101 by \count241
                     \advance\count240 by -\count101
                     \multiply\count240 by 10
                     \count101=\count240        %101 is second digit of #2/#3
                     \divide\count101 by \count241
                     \count102=\count101
                     \multiply\count102 by \count241
                     \advance\count240 by -\count102
                     \multiply\count240 by 10
                     \count102=\count240        % 102 is the third digit
                     \divide\count102 by \count241
                     \count200=#1\count205=0
                     \count201=\count200
                        \multiply\count201 by \count100
                        \advance\count205 by \count201
                     \count201=\count200
                        \divide\count201 by 10
                        \multiply\count201 by \count101
                        \advance\count205 by \count201
                        %
                     \count201=\count200
                        \divide\count201 by 100
                        \multiply\count201 by \count102
                        \advance\count205 by \count201
                        %
                     \edef\@result{\number\count205}
}
\def\ps@scaleinhundreds#1{
        \in@hundreds{#1}{\@p@sscale}{100}
        \edef#1{\@result}
}
\def\compute@wfromh{
                % computing : width = height * (bbw / bbh)
                \in@hundreds{\@p@sheight}{\@bbw}{\@bbh}
                %\ps@typeout{ \@p@sheight * \@bbw / \@bbh, = \@result }
                \edef\@p@swidth{\@result}
                %\ps@typeout{w from h: width is \@p@swidth}
}
\def\compute@hfromw{
                % computing : height = width * (bbh / bbw)
                \in@hundreds{\@p@swidth}{\@bbh}{\@bbw}
                %\ps@typeout{ \@p@swidth * \@bbh / \@bbw = \@result }
                \edef\@p@sheight{\@result}
                %\ps@typeout{h from w : height is \@p@sheight}
}
\def\compute@handw{
                \if@height 
                        \if@width
                        \else
                                \compute@wfromh
                        \fi
                \else 
                        \if@width
                                \compute@hfromw
                        \else
                                \edef\@p@sheight{\@bbh}
                                \edef\@p@swidth{\@bbw}
                        \fi
                \fi
}
\def\compute@resv{
                \if@rheight \else \edef\@p@srheight{\@p@sheight} \fi
                \if@rwidth \else \edef\@p@srwidth{\@p@swidth} \fi
                %\ps@typeout{rheight = \@p@srheight, rwidth = \@p@srwidth}
}
%               
% Compute any missing values
\def\compute@sizes{
        \compute@bb
        \if@scalefirst\if@angle
% at this point the bounding box has been adjsuted correctly for
% rotation.  PSFIG does all of its scaling using \@bbh and \@bbw.  If
% a width= or height= was specified along with \psscalefirst, then the
% width=/height= value needs to be adjusted to match the new (rotated)
% bounding box size (specifed in \@bbw and \@bbh).
%    \ps@bbw       width=
%    -------  =  ---------- 
%    \@bbw       new width=
% so `new width=' = (width= * \@bbw) / \ps@bbw; where \ps@bbw is the
% width of the original (unrotated) bounding box.
        \if@width
           \in@hundreds{\@p@swidth}{\@bbw}{\ps@bbw}
           \edef\@p@swidth{\@result}
        \fi
        \if@height
           \in@hundreds{\@p@sheight}{\@bbh}{\ps@bbh}
           \edef\@p@sheight{\@result}
        \fi
        \fi\fi
        \compute@handw
        \compute@resv
    \if@scale
       \if@verbose
          \ps@typeout{(scaling by \@p@sscale)}%
       \fi
       \ps@scaleinhundreds{\@p@swidth}%
       \ps@scaleinhundreds{\@p@sheight}%
       \ps@scaleinhundreds{\@p@srwidth}%
       \ps@scaleinhundreds{\@p@srheight}%
    \fi
}
%
%
%
\def\OzTeXSpecials{
        \special{empty.ps /@isp {true} def}
        \special{empty.ps \@p@swidth \space \@p@sheight \space
                        \@p@sbbllx \space \@p@sbblly \space
                        \@p@sbburx \space \@p@sbbury \space
                        startTexFig \space }
        \if@clip{
                \if@verbose{
                        \ps@typeout{(clip)}
                }\fi
                \special{empty.ps doclip \space }
        }\fi
        \if@angle{
                \if@verbose{
                        \ps@typeout{(rotate)}
                }\fi
                \special {empty.ps \@p@sangle \space rotate \space} 
        }\fi
        \if@prologfile
            \special{\@prologfileval \space } \fi
        \if@decmpr{
                \if@verbose{
                        \ps@typeout{psfig: Compression not available
                        in OzTeX version \space }
                }\fi
        }\else{
                \if@verbose{
                        \ps@typeout{psfig: including \@p@sfile \space }
                }\fi
                \special{epsf=\@p@sfile \space }
        }\fi
        \if@postlogfile
            \special{\@postlogfileval \space } \fi
        \special{empty.ps /@isp {false} def}
}
\def\DvipsSpecials{
        %
        \special{ps::[begin]    \@p@swidth \space \@p@sheight \space
                        \@p@sbbllx \space \@p@sbblly \space
                        \@p@sbburx \space \@p@sbbury \space
                        startTexFig \space }
        \if@clip{
                \if@verbose{
                        \ps@typeout{(clip)}
                }\fi
                \special{ps:: doclip \space }
        }\fi
        \if@angle
                \if@verbose{
                        \ps@typeout{(clip)}
                }\fi
                \special {ps:: \@p@sangle \space rotate \space} 
        \fi
        \if@prologfile
            \special{ps: plotfile \@prologfileval \space } \fi
        \if@decmpr{
                \if@verbose{
                        \ps@typeout{psfig: including \@p@sfile.[gz,z,Z] \space }
                }\fi
                \special{ps: plotfile "`zcat \@p@sfile" \space }
        }\else{
                \if@verbose{
                        \ps@typeout{psfig: including \@p@sfile \space }
                }\fi
                \special{ps: plotfile \@p@sfile \space }
        }\fi
        \if@postlogfile
            \special{ps: plotfile \@postlogfileval \space } \fi
        \special{ps::[end] endTexFig \space }
}
%
% \psfig
% usage : \psfig{file=, height=, width=, bbllx=, bblly=, bburx=, bbury=,
%                       rheight=, rwidth=, clip=}
%
% "clip=" is a switch and takes no value, but the `=' must be present.
\def\psfig#1{\vbox {
        % do a zero width hard space so that a single
        % \psfig in a centering enviornment will behave nicely
        %{\setbox0=\hbox{\ }\ \hskip-\wd0}
        %
        \ps@init@parms
        \parse@ps@parms{#1}
        \compute@sizes
        %
        \ifnum\@p@scost<\@psdraft{
                \PsfigSpecials 
                % Create the vbox to reserve the space for the figure.
                \vbox to \@p@srheight sp{
                % 1/92 TJD Changed from "true sp" to "sp" for magnification.
                        \hbox to \@p@srwidth sp{
                                \hss
                        }
                \vss
                }
        }\else{
                % draft figure, just reserve the space and print the
                % path name.
                \if@draftbox{           
                        % Verbose draft: print file name in box
                        % 10/93 TJD changed to fbox from frame
                        \hbox{\fbox{\vbox to \@p@srheight sp{
                        \vss
                        \hbox to \@p@srwidth sp{ \hss 
                                % 10/93 TJD deleted to avoid ``_'' problems
                                % \@p@sfile
                         \hss }
                        \vss
                        }}}
                }\else{
                        % Non-verbose draft
                        \vbox to \@p@srheight sp{
                        \vss
                        \hbox to \@p@srwidth sp{\hss}
                        \vss
                        }
                }\fi    



        }\fi
}}
\psfigRestoreAt
\setDriver
\let\@=\LaTeXAtSign






astro-ph0207068.extracted_bib
\begin{thebibliography}{}

\bibitem[1972]{as72}
Abramowitz, M., Stegun, I. A., 1972, Handbook of Mathematical Functions,
National Bureau of Standards, Washington

\bibitem[1995]{ars95}
Armstrong, J. W., Rickett, B. J., Spangler, S. R., 1995, ApJ 443, 209 

\bibitem[1965]{gr65}
Gradshteyn, I. S., Ryzhik, I. M., 1965, Tables of Integrals, Series, and 
Products, Academic Press, New York

\bibitem[1995]{gs95}
Goldreich, P., Sridhar, S., 1995, ApJ 438, 763

\bibitem[1999]{h99}
Hollweg, J. V., 1999, JGR 104, 14811

\bibitem[1972]{l72}
Lebedev, N. N., 1972, Special Functions and their Applications, Dover Publ., 
New York

\bibitem[2001]{ls1}
Lerche, I., Schlickeiser, R., 2001, A\&A 366, 1008

%\bibitem[2001b]{ls2}
%Lerche, I., Schlickeiser, R., 2001b, A\&A, 378, 279

\bibitem[2002]{lg02}
Lithwick, Y., Goldreich, P., 2002, ApJ, in press

\bibitem[1990]{r90}
Rickett, B. J., 1990, AR A\&A 28, 561

\bibitem[2002]{s02}
Schlickeiser, R., 2002, Cosmic Ray Astrophysics, Springer, Berlin

\bibitem[1995]{sm95}
Schlickeiser, R., Mause, H., 1995, Phys. Plasmas 2, 4025

\bibitem[1967]{s67}
Sitenko, A. G., 1967, Electromagnetic Fluctuations in Plasma, Academic Press,
New York

\bibitem[1991]{s91}
Spangler, S. R., 1991, ApJ 376, 540 

\bibitem[1994]{s94}
Sturrock, P. A., 1994, Plasma Physics, Cambridge University Press,
Cambridge

\bibitem[1975]{wh75}
Wu, C. S., Huba, J. D., 1975, ApJ 196, 849


\end{thebibliography}