%====================================================================%

%                  SPROCL.TEX     27-Feb-1995                        %

% This latex file rewritten from various sources for use in the      %

% preparation of the standard proceedings Volume, latest version     %

% by Susan Hezlet with acknowledgments to Lukas Nellen.              %

% Some changes are due to David Cassel.                              %
% Other changes due to A.Nigro
%====================================================================%



\documentstyle[procl]{article}


\input{psfig}

\bibliographystyle{unsrt}    % for BibTeX - sorted numerical labels by order of

                             % first citation. 



% A useful Journal macro

\def\Journal#1#2#3#4{{#1} {\bf #2}, #3 (#4)}



% Some useful journal names

\def\NCA{\em Nuovo Cimento}

\def\NIM{\em Nucl. Instrum. Methods}

\def\NIMA{{\em Nucl. Instrum. Methods} A}

\def\NPB{{\em Nucl. Phys.} B}

\def\PLB{{\em Phys. Lett.}  B}

\def\PRL{\em Phys. Rev. Lett.}

\def\PRD{{\em Phys. Rev.} D}

\def\ZPC{{\em Z. Phys.} C}

% Some other macros used in the sample text

\def\st{\scriptstyle}

\def\sst{\scriptscriptstyle}

\def\mco{\multicolumn}

\def\epp{\epsilon^{\prime}}

\def\vep{\varepsilon}

\def\ra{\rightarrow}

\def\ppg{\pi^+\pi^-\gamma}

\def\vp{{\bf p}}

\def\ko{K^0}

\def\kb{\bar{K^0}}

\def\al{\alpha}

\def\ab{\bar{\alpha}}

\def\be{\begin{equation}}

\def\ee{\end{equation}}

\def\bea{\begin{eqnarray}}

\def\eea{\end{eqnarray}}

\def\CPbar{\hbox{{\rm CP}\hskip-1.80em{/}}}%temp replacement due to no font


\newcommand{\z}{&&\hspace*{-1cm}}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%                                                %

%    BEGINNING OF TEXT                           %

%                                                %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



\begin{document}



\title{THE LONGITUDINAL STRUCTURE FUNCTION $F_L$
AT SMALL $X$}



\author{ A.V. KOTIKOV }



\address{Laboratoire de Physique Theorique ENSLAPP\\ LAPP, B.P. 100,
F-74941, Annecy-le-Vieux Cedex, France\\ and \\
Particle Physics Laboratory, JINR, Dubna, Russia}


\author{ G. PARENTE }



\address{Departamento de F\'\i sica de Part\'\i culas\\
Universidade de Santiago de Compostela\\
15706 Santiago de Compostela, Spain}



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% You may repeat \author \address as often as necessary      %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



\maketitle\abstracts{We present 
a set of formulae to extract the longitudinal
deep inelastic  structure function $F_L$
from the transverse structure function $F_2$ and
its derivative $dF_2/dlnQ^2$ at small $x$. 
Using $F_2$ HERA data we obtain
$F_L$
in the range $10^{-4} \leq x \leq  10^{-2}$ at $Q^2=20$ GeV$^2$.}

  

%\section{Guidelines}

%\subsection{Producing the Hard Copy}\label{subsec:prod}

We present here the values of
$F_L(x,Q^2)$ at
small $x$, extracted from experimental HERA data \cite{F2H1,F2ZEUS}
using the method 
of replacement of the Mellin convolution by ordinary products \cite{2}.
By analogy with the case of the gluon distribution function (see
\cite{KOPA} and its references)
it is possible to obtain the relation between $F_L(x,Q^2)$, $F_2(x,Q^2)$
and $dF(x,Q^2)/dlnQ^2$ at small $x$. Thus, the small $x$ behaviour of
the SF $F_L(x,Q^2)$ can be extracted directly from the measured values
of $F_2(x,Q^2)$ and its derivative without a cumbersome
procedure \cite{1.5}. 
These extracted values of $F_L$ may be well considered as
{\it new
small $x$ ``experimental data''}.
When experimental data for $F_L$ at small $x$ become
available with a good
accuracy \footnote{In the time of preparing this article, the H1
  collaboration presented \cite{H1FL} the first (preliminary) measurement
of $F_L$ at small $x$}, a violation of the relation will be
an indication
of the
importance of other effects as higher twist contribution and/or
of non-perturbative QCD dynamics at small $x$.

We follow the notation of our previous work in ref. \cite{KOPA}. 
The singlet quark
$s(x,Q^2_0)$ and gluon $g(x,Q^2_0)$ parton distribution 
functions (PDF) \footnote{We use PDF
%parton distribution functions 
multiplied by $x$
and neglect the nonsinglet quark distribution at small $x$.}
at some $Q^2_0$ are parameterized by
  (see, for example, \cite{4}) \begin{eqnarray} 
p(x,Q^2_0) & = & A_p
x^{-\delta} (1-x)^{\nu_p} (1+\epsilon_p \sqrt{x} + \gamma_p x)
~~~~(\mbox{hereafter } p=s,g)
\label{1} \end{eqnarray}

Futher, we restrict the analysis to the case of large $\delta $ values
(i.e. $x^{-\delta} \gg 1$ ) which correspond to BFKL pomeron which is
supported by HERA data. The more complete analysis may be found in
\cite{KOPAFL}, where we took into account also the case $\delta \sim
0$ corresponding to the standard pomeron.%\\ 

 Assuming the {\it Regge-like behaviour} for the gluon distribution and
 $F_2(x,Q^2)$: 
%at $x^{-\delta} \gg 1$:
$$g(x,Q^2)  =  x^{-\delta} \tilde g(x,Q^2),~~ 
F_2(x,Q^2)  =  x^{-\delta} \tilde s(x,Q^2), $$
 we obtain the
following equation for the $Q^2$ derivative of
the SF $F_2$:
 \begin{eqnarray}  \frac{dF_2(x,Q^2)}{dlnQ^2}  &=&
-\frac{1}{2} 
%\delta_s 
x^{-\delta} \sum_{p=s,g}
\Bigl( 
 r^{1+\delta}_{sp}(\alpha) ~\tilde p(0,Q^2) +
 r^{\delta}_{sp}(\alpha)~ x \tilde p'(0,Q^2)  +
 O(x^{2}) \Bigr) \nonumber \\ 
F_L(x,Q^2)  &=&
%\delta_s 
x^{-\delta} \sum_{p=s,g}
\Bigl( 
 r^{1+\delta}_{Lp}(\alpha) ~\tilde p(0,Q^2) +
 r^{\delta}_{Lp}(\alpha)~ x \tilde p'(0,Q^2)  +
 O(x^{2}) \Bigr) , 
\label{2.1} \end{eqnarray}
 where $r^{\eta}_{sp}(\alpha) $ and $r^{\eta}_{Lp}(\alpha) $
 are the combinations (see \cite{KOPAFL})
of the anomalous dimensions of Wilson operators 
and Wilson 
coefficients
of the $\eta$
"moment"  (i.e., the corresponding variables extended
from integer values of argument to non-integer ones).
With accuracy of $O(x^{2-\delta}, \alpha x^{1-\delta})$ 
(see \cite{KOPA,KOPAFL}),  
we have for Eq.(\ref{2.1}) 
\begin{eqnarray} 
F_L(x, Q^2)  &=& -
\xi ^{\delta}
  \biggl[ 2 \frac{ r^{1+\delta}_{Lg}}{ r^{1+\delta}_{sg}} 
%\cdot
\frac{d F_2(x \xi , Q^2)}{dlnQ^2}
+ \biggl( r^{1+\delta}_{Ls} - \frac{ r^{1+\delta}_{Lg}}{ r^{1+\delta}_{sg}}
r^{1+\delta}_{ss} \biggr) F_2(x \xi ,Q^2)  \nonumber \\ 
 &+&~  
O(x^{2-\delta},\alpha x^{1-\delta}) \biggr] 
\label{8}\end{eqnarray}
Using NLO approximation of $r^{1+\delta}_{sp}$ and $r^{1+\delta}_{Lp}$
for concrete values of $\delta = 0.5$ 
%(see also \cite{KOPA}) 
and $\delta = 0.3$ we obtain (for f=4 and $\overline{MS}$ scheme):
\begin{eqnarray} 
%\z ~\mbox{ if }~ \delta =0.5 \nonumber \\ \z
%
F_L(x, Q^2)  &=& \frac{0.87}{ 1 + 22.9 \alpha} \Biggl[
  \frac{d F_2(0.70 x , Q^2)}{dlnQ^2} + 
4.17 \alpha F_2(0.70 x,Q^2) \Biggr] \nonumber \\ 
%\z ~~~~~~~ ~~~~~~~~
&+&~O(\alpha^2,x^{2-\delta},\alpha x^{1-\delta}) 
~~~~~\mbox{ if }~ \delta =0.5 
\label{10.1} 
%
\\  \nonumber 
\\ 
%\z~\mbox{ if }~ \delta =0.3 \nonumber \\ \z
F_L(x, Q^2)  &=& \frac{0.84}{1 + 59.3 \alpha } \Biggl[ 
 \frac{d F_2(0.48 x, Q^2)}{dlnQ^2} + 3.59 \alpha 
F_2(0.48 x , Q^2) \Biggr]    \nonumber \\ 
%\z ~~~~~~~ ~~~~~~~~
&+&~ O(\alpha^2 , x^{2-\delta} ,\alpha x^{1-\delta}) 
 ~~~~~\mbox{ if }~ \delta =0.3        
\label{10.3}
%\\ \z
%F_L(x, Q^2)  = \frac{1.05}{1 + 59.3 \alpha } 
% \frac{d F_2(x, Q^2)}{dlnQ^2} + 3.76 \alpha 
%F_2(x , Q^2) + O(\alpha^2 \!\!, x^{1-\delta}) 
%\!         
%\label{10.4} 
\end{eqnarray}

%{\bf 2.} 
With the help of Eq. (\ref{10.3})
% ??? may be better to use Eq. (\ref{10.3})??? 
we have extracted the longitudinal SF $F_L(x,Q^2)$
from HERA data, using the slopes dF$_2$/dlnQ$^2$
of H1 \cite{F2H1} and ZEUS \cite{F2ZEUS} HERA data. 
Fig. 1 shows the extracted values of the longitudinal SF
and the QCD prediction from set MRS(G). The agreement
is excellent.
There is also a relative good agreement with a recent 
experimental H1 point for $F_L$ \cite{H1FL}, if one takes into account the
systematic error.

%{\bf 3.}
In summary, we have presented  Eqs. (\ref{8})-(\ref{10.3}) for the
extraction of the longitudinal SF $F_L$ at small $x$ from the
$F_2$ and its
$Q^2$ derivative. These equations provide the possibility of the non-direct
determination of $F_L$. This is important since the direct
extraction of $F_L$ from experimental data is a cumbersome
procedure \cite{1.5}.
Moreover, the fulfillment of  Eqs. (\ref{8})-(\ref{10.3}) in DIS
experimental data can be used as a cross-check of perturbative QCD
at small values of
$x$.

\begin{figure}[hbt]
\centering
\vspace*{-2.cm}
%\vskip 2.5cm
%\rule{5cm}{0.2mm}\hfill\rule{5cm}{0.2mm}
%\vskip 2.5cm
\psfig{figure=dis96fig.ps,height=8.5cm,width=12cm}
\vspace*{-2.0cm}
%\rule{5cm}{0.2mm}\hfill\rule{5cm}{0.2mm}

\caption{The extracted longitudinal SF $F_L$ (see text for details)}

%Solid line is the calculation from set MRS(G) \cite{4}
%using O($\alpha_s^2$) corrections. It is also shown a preliminary
%H1 data point.}
%\label{fig:radish}

\end{figure}

\vspace*{-0.6cm}

\section*{Acknowledgments}
This work was supported in part by CICYT and by Xunta de Galicia.
We are grateful to A. Bodek and M. Klein for discussions.

\vspace*{-0.3cm}

%
%                 REFERENCIAS
%
\section*{References}
\begin{thebibliography}{99}
%\doble
%\bibitem{1} R.G.Roberts and M.R.Whalley, {\em J. of Phys.} {\bf G17}
% (1991) D1.
\bibitem{F2H1}
T. Ahmed {\it et al.}, \Journal{\NPB}{439}{471}{1995};
T. Aid {\it et al.}, \Journal{\PLB}{354}{494}{1995}.
% H1 Collaboration, {\em Nucl. Phys.} {\bf B439} (1995) 471. 
%
\bibitem{F2ZEUS}
M. Derrick {\it et al.}, \Journal{\ZPC}{65}{379}{1995};
\Journal{\PLB}{345}{576}{1995}.
%ZEUS Collaboration, {\em Z. Phys.} {\bf C65} (1995) 379.
%
\bibitem{2}
A.V. Kotikov, {\em Yad.Fiz.} {\bf 57}, 142 (1994);
\Journal{\PRD}{49}{5746}{1994}. 
%{\em Phys.Rev.} {\bf D49} (1994) 5746.
%
\bibitem{KOPA} A.V. Kotikov and G. Parente, preprint ENSLAPP-A-573/95,
  US-FT-29-95  ; {\em Phys.Lett.} {\bf B}, (1996) in press.
%
\bibitem{1.5}
A.M. Cooper-Sarkar {\it et al.}, \Journal{\ZPC}{39}{281}{1988}.
%
\bibitem{4}  A.D. Martin, W.S. Stirling and R.G. Roberts,
\Journal{\PLB}{306}{145}{1993}; \Journal{\PLB}{354}{155}{1995}.
\bibitem{H1FL} M. Klein, these Proceedings.
\bibitem{KOPAFL} A.V. Kotikov and G. Parente, preprint
  US-FT-19-96  .
\end{thebibliography}
%
%

\end{document}

% Psfig/TeX Release 1.2
% dvips version
%
% All software, documentation, and related files in this distribution of
% psfig/tex are Copyright 1987, 1988 Trevor J. Darrell
%
% Permission is granted for use and non-profit distribution of psfig/tex 
% providing that this notice be clearly maintained, but the right to
% distribute any portion of psfig/tex for profit or as part of any commercial
% product is specifically reserved for the author.
%
% $Header: psfig.tex,v 1.9 88/01/08 17:42:01 trevor Exp $
% $Source: $
%
% Thanks to Greg Hager (GDH) and Ned Batchelder for their contributions
% to this project.
%
\catcode`\@=11\relax
\newwrite\@unused
\def\typeout#1{{\let\protect\string\immediate\write\@unused{#1}}}
\typeout{psfig/tex 1.2-dvips}


%% 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}}

%
% @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}}
% 
%
\def\psdraft{
	\def\@psdraft{0}
	%\typeout{draft level now is \@psdraft \space . }
}
\def\psfull{
	\def\@psdraft{100}
	%\typeout{draft level now is \@psdraft \space . }
}
\psfull
\newif\if@prologfile
\newif\if@postlogfile
\newif\if@noisy
\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@clip
\newif\if@verbose
\def\@p@@sclip#1{\@cliptrue}

%%% GDH 7/26/87 -- changed so that it first looks in the local directory,
%%% then in a specified global directory for the ps file.

\def\@p@@sfile#1{\def\@p@sfile{null}%
	        \openin1=#1
		\ifeof1\closein1%
		       \openin1=\figurepath#1
			\ifeof1\typeout{Error, File #1 not found}
			\else\closein1
			    \edef\@p@sfile{\figurepath#1}%
                        \fi%
		 \else\closein1%
		       \def\@p@sfile{#1}%
		 \fi}
\def\@p@@sfigure#1{\def\@p@sfile{null}%
	        \openin1=#1
		\ifeof1\closein1%
		       \openin1=\figurepath#1
			\ifeof1\typeout{Error, File #1 not found}
			\else\closein1
			    \def\@p@sfile{\figurepath#1}%
                        \fi%
		 \else\closein1%
		       \def\@p@sfile{#1}%
		 \fi}

\def\@p@@sbbllx#1{
		%\typeout{bbllx is #1}
		\@bbllxtrue
		\dimen100=#1
		\edef\@p@sbbllx{\number\dimen100}
}
\def\@p@@sbblly#1{
		%\typeout{bblly is #1}
		\@bbllytrue
		\dimen100=#1
		\edef\@p@sbblly{\number\dimen100}
}
\def\@p@@sbburx#1{
		%\typeout{bburx is #1}
		\@bburxtrue
		\dimen100=#1
		\edef\@p@sbburx{\number\dimen100}
}
\def\@p@@sbbury#1{
		%\typeout{bbury is #1}
		\@bburytrue
		\dimen100=#1
		\edef\@p@sbbury{\number\dimen100}
}
\def\@p@@sheight#1{
		\@heighttrue
		\dimen100=#1
   		\edef\@p@sheight{\number\dimen100}
		%\typeout{Height is \@p@sheight}
}
\def\@p@@swidth#1{
		%\typeout{Width is #1}
		\@widthtrue
		\dimen100=#1
		\edef\@p@swidth{\number\dimen100}
}
\def\@p@@srheight#1{
		%\typeout{Reserved height is #1}
		\@rheighttrue
		\dimen100=#1
		\edef\@p@srheight{\number\dimen100}
}
\def\@p@@srwidth#1{
		%\typeout{Reserved width is #1}
		\@rwidthtrue
		\dimen100=#1
		\edef\@p@srwidth{\number\dimen100}
}
\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
		\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@sfile{}
		\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
\newif\ifnot@eof
\newread\ps@stream
\def\bb@missing{
	\if@verbose{
		\typeout{psfig: searching \@p@sfile \space  for bounding box}
	}\fi
	\openin\ps@stream=\@p@sfile
	\no@bbtrue
	\not@eoftrue
	\catcode`\%=12
	\loop
		\read\ps@stream to \line@in
		\global\toks200=\expandafter{\line@in}
		\ifeof\ps@stream \not@eoffalse \fi
		%\typeout{ looking at :: \the\toks200 }
		\@bbtest{\toks200}
		\if@bbmatch\not@eoffalse\expandafter\bb@cull\the\toks200\fi
	\ifnot@eof \repeat
	\catcode`\%=14
}	
\catcode`\%=12
\newif\if@bbmatch
\def\@bbtest#1{\expandafter\@a@\the#1%%BoundingBox:\@bbtest\@a@}
\long\def\@a@#1%%BoundingBox:#2#3\@a@{\ifx\@bbtest#2\@bbmatchfalse\else\@bbmatchtrue\fi}
\long\def\bb@cull#1 #2 #3 #4 #5 {
	\dimen100=#2 bp\edef\@p@sbbllx{\number\dimen100}
	\dimen100=#3 bp\edef\@p@sbblly{\number\dimen100}
	\dimen100=#4 bp\edef\@p@sbburx{\number\dimen100}
	\dimen100=#5 bp\edef\@p@sbbury{\number\dimen100}
	\no@bbfalse
}
\catcode`\%=14
%
\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 \typeout{FATAL ERROR: no bb supplied or found}
			\no-bb-error
		\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}
		%\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\compute@wfromh{
		% computing : width = height * (bbw / bbh)
		\in@hundreds{\@p@sheight}{\@bbw}{\@bbh}
		%\typeout{ \@p@sheight * \@bbw / \@bbh, = \@result }
		\edef\@p@swidth{\@result}
		%\typeout{w from h: width is \@p@swidth}
}
\def\compute@hfromw{
		% computing : height = width * (bbh / bbw)
		\in@hundreds{\@p@swidth}{\@bbh}{\@bbw}
		%\typeout{ \@p@swidth * \@bbh / \@bbw = \@result }
		\edef\@p@sheight{\@result}
		%\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
}
%		
% Compute any missing values
\def\compute@sizes{
	\compute@bb
	\compute@handw
	\compute@resv
}
%
% \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{
		\if@verbose{
			\typeout{psfig: including \@p@sfile \space }
		}\fi
		%
		\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{
				\typeout{(clip)}
			}\fi
			\special{ps:: doclip \space }
		}\fi
		\if@prologfile
		    \special{ps: plotfile \@prologfileval \space } \fi
		\special{ps: plotfile \@p@sfile \space }
		\if@postlogfile
		    \special{ps: plotfile \@postlogfileval \space } \fi
		\special{ps::[end] endTexFig \space }
		% Create the vbox to reserve the space for the figure
		\vbox to \@p@srheight true sp{
			\hbox to \@p@srwidth true sp{
				\hss
			}
		\vss
		}
	}\else{
		% draft figure, just reserve the space and print the
		% path name.
		\vbox to \@p@srheight true sp{
		\vss
			\hbox to \@p@srwidth true sp{
				\hss
				\if@verbose{
					\@p@sfile
				}\fi
				\hss
			}
		\vss
		}
	}\fi
}}
\def\psglobal{\typeout{psfig: PSGLOBAL is OBSOLETE; use psprint -m instead}}
\catcode`\@=12\relax


