%
% $Id: aipcheck.tex,v 1.7 2002/01/11 19:50:46 frank Exp $
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Testing for potential problems with this class
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\newif\ifproblem
\newif\iftimesok

\makeatletter
\def\IfStandaloneCheck{\def\next{aipcheck}
  \edef\currjob{\jobname}
  \edef\next{\meaning\next}
  \edef\currjob{\meaning\currjob}
  \ifx\currjob\next
    \expandafter\@firstoftwo
  \else
    \expandafter\@secondoftwo
  \fi
}
\makeatother

\typeout{***********************************************}
\typeout{*}
\typeout{* Testing if all files required for the aipproc}
\typeout{* class are available ...}
\typeout{*}
\typeout{***********************************************}

\typeout{*}
\typeout{* Looking for LaTeX2e ... }
\ifx\documentclass\undefined
 \typeout{*}
 \typeout{* Sorry this is a fatal error:}
 \typeout{*}
 \typeout{* The aipproc class can only be used with LaTeX2e which is}
 \typeout{* the standard LaTeX since 1994!}
 \typeout{*}
 \typeout{* Please make sure that your version of LaTeX is up-to-date}
 \typeout{* before attempting to use this class.}
 \typeout{*}
 \expandafter\stop
\else
 \typeout{* ... ok }
\fi


\def\next#1/#2/#3\next{#1#2}
\typeout{*}
\typeout{* Testing that LaTeX2e is not too old ... }
\ifnum\expandafter\next\fmtversion\next<199612 \relax
 \typeout{* ... what a vintage! }
 \typeout{*}
 \typeout{* Sorry this is a fatal error:}
 \typeout{*}
 \typeout{* The aipproc class can only be used with a recent version}
 \typeout{* of LaTeX2e. Your version is dated \fmtversion\space --- but}
 \typeout{* at least the 1996/12/01 version is required!}
 \typeout{*}
 \typeout{* Please make sure that your version of LaTeX is up-to-date}
 \typeout{* before attempting to use this class.}
 \typeout{*}
 \expandafter\stop
\else
 \ifnum\expandafter\next\fmtversion\next<199806 \relax
   \typeout{* ... probably ok }
   \typeout{*}
   \typeout{* Your version of LaTeX2e is quite old --- the aipproc class}
   \typeout{* hasn't been tested with your release.}
   \typeout{*}
   \typeout{* We believe that it will probably work, but if you encounter}
   \typeout{* problems you will need upgrade your installation.}
   \typeout{*}
   \typein{* Type <return> to continue ...}
   \problemtrue
 \else
   \typeout{* ... ok }
 \fi
\fi


\typeout{*}
\typeout{* Looking for aipproc.cls ... }
\IfFileExists{aipproc.cls}
    {
     \typeout{* ... ok }
    }
    {
     \typeout{* ... not found! }
     \typeout{*}
     \typeout{* Sorry this is a fatal error:}
     \typeout{*}
     \typeout{* Before you can use the aipproc class you have to unpack}
     \typeout{* it from the documented source.}
     \typeout{*}
     \typeout{* Run LaTeX on the file 'aipproc.ins', e.g.,}
     \typeout{*}
     \typeout{* \space\space latex aipproc.ins}
     \typeout{*}
     \typeout{* or whatever is necessary on your installation to process}
     \typeout{* a file with LaTeX. This should unpack a number of files for you:}
     \typeout{*}
     \typeout{* aipproc.cls \space and \space aip-*.clo}
     \typeout{*}
     \typeout{* After that retry processing this guide.}
     \typeout{*}
     \stop
}

\typeout{*}
\typeout{* Looking for aipxfm.sty ... }
\IfFileExists{aipxfm.sty}
    {
     \typeout{* ... ok }
    }
    {
     \typeout{* ... not found! }
     \typeout{*}
     \typeout{* Sorry this is a fatal error:}
     \typeout{*}
     \typeout{* The aipxfm.sty file which is part of the aipproc distribution}
     \typeout{* must be installed in a directory which is searched by LaTeX.}
     \typeout{*}
     \typeout{* Please install this file and retry.}
     \typeout{*}
     \stop
}

\typeout{*}
\typeout{* Looking for aip-8s.clo ... }
\IfFileExists{aip-8s.clo}
    {
     \typeout{* ... ok }
    }
    {
     \typeout{* ... not found! }
     \typeout{*}
     \typeout{* Sorry this is a fatal error:}
     \typeout{*}
     \typeout{* The aip-8s.clo file which is part of the aipproc distribution}
     \typeout{* must be installed in a directory which is searched by LaTeX.}
     \typeout{*}
     \typeout{* Please install this file and retry.}
     \typeout{*}
     \stop
}

\typeout{*}
\typeout{* Looking for aip-8d.clo ... }
\IfFileExists{aip-8d.clo}
    {
     \typeout{* ... ok }
    }
    {
     \typeout{* ... not found! }
     \typeout{*}
     \typeout{* Sorry this is a fatal error:}
     \typeout{*}
     \typeout{* The aip-8d.clo file which is part of the aipproc distribution}
     \typeout{* must be installed in a directory which is searched by LaTeX.}
     \typeout{*}
     \typeout{* Please install this file and retry.}
     \typeout{*}
     \stop
}


\typeout{*}
\typeout{* Looking for aip-6s.clo ... }
\IfFileExists{aip-6s.clo}
    {
     \typeout{* ... ok }
    }
    {
     \typeout{* ... not found! }
     \typeout{*}
     \typeout{* Sorry this is a fatal error:}
     \typeout{*}
     \typeout{* The aip-6s.clo file which is part of the aipproc distribution}
     \typeout{* must be installed in a directory which is searched by LaTeX.}
     \typeout{*}
     \typeout{* Please install this file and retry.}
     \typeout{*}
     \stop
}


\typeout{*}
\typeout{* Looking for aip-arlo.clo ... }
\IfFileExists{aip-arlo.clo}
    {
     \typeout{* ... ok }
    }
    {
     \typeout{* ... not found! }
     \typeout{*}
     \typeout{* Sorry this is a fatal error:}
     \typeout{*}
     \typeout{* The aip-arlo.clo file which is part of the aipproc distribution}
     \typeout{* must be installed in a directory which is searched by LaTeX.}
     \typeout{*}
     \typeout{* Please install this file and retry.}
     \typeout{*}
     \stop
}

\typeout{*}
\typeout{* Looking for fixltx2e.sty ... }
\IfFileExists{fixltx2e.sty}
    {
     \typeout{* ... ok }
    }
    {
     \typeout{* ... not found, trying fix2col.sty instead ... }
     \typeout{*}
     \IfFileExists{fix2col.sty}
	 {
	  \typeout{* ... ok }
	 }
	 {
	  \typeout{* ... not found! }
	  \typeout{*}
	  \typeout{* Sorry this is a fatal error:}
	  \typeout{*}
	  \typeout{* Your LaTeX distribution contains neither fixltx2e.sty}
	  \typeout{* nor fix2col.sty.}
	  \typeout{*}
	  \typeout{* This means that it is either too old or incompletely}
	  \typeout{* installed.}
	  \typeout{*}
	  \typeout{* fixltx2e.sty is part of the standard LaTeX distribution}
	  \typeout{* since 1999; fix2col.sty is an earlier version of this}
	  \typeout{* package.}
	  \typeout{*}
	  \typeout{* Best solution is to get the latest LaTeX distribution.}
	  \typeout{* If this is impossible for you, download fix2col.sty.}
	  \typeout{* You can get this software from a CTAN host.}
          \typeout{* Refer to http://www.ctan.org and search for "fix2col".}
	  \typeout{*}
	  \typeout{* After you have updated your LaTeX distribution}
	  \typeout{* retry processing this guide.}
	  \stop
     }
}

\typeout{*}
\typeout{* Looking for fontenc.sty ... }
\IfFileExists{fontenc.sty}
    {
     \typeout{* ... ok }
    }
    {
     \typeout{* ... not found! }
     \typeout{*}
     \typeout{* Sorry this is a fatal error:}
     \typeout{*}
     \typeout{* The fontenc package, which is part of standard LaTeX}
     \typeout{* (base distribution) has to be installed at the site to}
     \typeout{* run the aipproc class.}
     \typeout{*}
     \typeout{* The fact that it cannot be found either means that}
     \typeout{* this LaTeX release is too old or that it was installed}
     \typeout{* improperly.}
     \typeout{*}
     \typeout{* Please make sure that your version of LaTeX is okay}
     \typeout{* before attempting to use this class. The LaTeX distribution}
     \typeout{* contains the file "ltxcheck.tex" which can be used to}
     \typeout{* test the basic functionality and integrity of your installation.}
     \typeout{*}
     \stop
    }

\typeout{*}
\typeout{* Looking for calc.sty ... }
\IfFileExists{calc.sty}
    {
     \typeout{* ... ok }
    }
    {
     \typeout{* ... not found! }
     \typeout{*}
     \typeout{* Sorry this is a fatal error:}
     \typeout{*}
     \typeout{* The calc package, which is part of standard LaTeX}
     \typeout{* (tool distribution) has to be installed at the site}
     \typeout{* to run the aipproc class.}
     \typeout{*}
     \typeout{* The fact that it cannot be found either means that}
     \typeout{* this LaTeX release is too old or that it was installed}
     \typeout{* only in parts.}
     \typeout{*}
     \typeout{* Please make sure that the tools distribution of LaTeX}
     \typeout{* is installed before attempting to use this class.}
     \typeout{*}
     \typeout{* (You might be able to get calc.sty separately for your}
     \typeout{* installation if you are unable to upgrade to a recent}
     \typeout{* distribution for some reason.)}
     \typeout{*}
     \stop
    }

\typeout{*}
\typeout{* Looking for varioref.sty ... }
\IfFileExists{varioref.sty}
    {
     \typeout{* ... ok }
     \gdef\variorefoptionifavailable{varioref,}
    }
    {
     \typeout{* ... not found! }
     \typeout{*}
     \typeout{* Problem detected:}
     \typeout{*}
     \typeout{* The varioref package, which is part of standard LaTeX}
     \typeout{* (tool distribution) is not installed at this site.}
     \typeout{*}
     \typeout{* The fact that it cannot be found either means that}
     \typeout{* this LaTeX release is too old or that it was installed}
     \typeout{* only in parts.}
     \typeout{*}
     \typeout{* You can use the aipproc class without this package but }
     \typeout{* you cannot make use of the options "varioref" or "nonvarioref".}
     \typeout{*}
     \typeout{* Please also note that the aipguide.tex documentation}
     \typeout{* normally uses the "varioref" option to show its}
     \typeout{* effects (which  will now fail).}
     \typeout{*}
     \typein{* Type <return> to continue ...}
     \problemtrue
     \gdef\variorefoptionifavailable{}
     \let\vpageref\pageref
     \let\vref\ref
    }

\typeout{*}
\typeout{* Looking for times.sty ... }
\IfFileExists{times.sty}
    {
     \begingroup
% load times and forget it immediately again
       \RequirePackage{times}
       \global\expandafter\let\csname ver@times.sty\endcsname\relax    
       \long\def\next{ptm}
       \ifx\rmdefault\next
         \typeout{* ... ok }
         \gdef\psnfssproblemoption{}
         \endgroup
         \timesoktrue
       \else
         \endgroup
     \typeout{* ... obsolete! }
     \typeout{*}
     \typeout{* Serious problem detected:}
     \typeout{*}
     \typeout{* The times package, which is part of standard LaTeX}
     \typeout{* (psnfss distribution) is obsolete at this site.}
     \typeout{*}
     \typeout{* The fact that it contains incorrect code either means that}
     \typeout{* this LaTeX release is too old or that it was installed}
     \typeout{* only in parts with old files remaining!}
     \typeout{*}
     \typeout{* You can use the aipproc class without this package but}
     \typeout{* you have to specify the option "cmfonts" which result in}
     \typeout{* documents which are not conforming to the AIP layout specification!}
     \typeout{*}
     \typeout{* You can also try using the class in the following way:}
     \typeout{*}
     \typeout{* \space\space \string\documentclass[cmfonts]{aipproc}}
     \typeout{* \space\space \string\usepackage{times}}
     \typeout{* \space\space ...}
     \typeout{*}
     \typeout{* With luck this will result in Times Roman output but chances}
     \typeout{* are that you will get a larger number of error messages in}
     \typeout{* which case you have to remove the \string\usepackage declaration.}
     \typeout{*}
     \typein{* Type <return> to continue ...}
          \problemtrue
          \gdef\psnfssproblemoption{cmfonts}
          \def\textdegree{$^\circ$}            % used below but now
                                               % not setup
       \fi
    }
    {
     \typeout{* ... not found! }
     \typeout{*}
     \typeout{* Serious problem detected:}
     \typeout{*}
     \typeout{* The times package, which is part of standard LaTeX}
     \typeout{* (psnfss distribution) can not be found.}
     \typeout{*}
     \typeout{* The fact that this package cannot be found either means that}
     \typeout{* this LaTeX release is too old or that it was installed}
     \typeout{* only in parts!}
     \typeout{*}
     \typeout{* You can use the aipproc class without this package but }
     \typeout{* you have to specify the option "cmfonts" which result in}
     \typeout{* documents which are not conforming to the AIP layout specification!}
     \typeout{*}
     \typein{* Type <return> to continue ...}
     \problemtrue
     \gdef\psnfssproblemoption{cmfonts,}
    }

\iftimesok % don't bother testing other font options if times already
           % bad

\typeout{*}
\typeout{* Looking for t1ptm.fd or T1ptm.fd ... }
\IfFileExists{t1ptm.fd}
    {
     \typeout{* ... ok }
    }
    {
     \typeout{* ... not found, trying T1ptm.fd ... }
     \IfFileExists{T1ptm.fd}
          {
           \typeout{* ... ok }
          }
          {
           \typeout{* ... not found}
           \typeout{* Serious problem detected:}
           \typeout{*}
           \typeout{* The times package, which is part of standard LaTeX}
           \typeout{* (psnfss distribution) is available but the corresponding}
           \typeout{* .fd file (defining how to load Times Roman) is missing.}
           \typeout{*}
           \typeout{* The fact that this package is only partially installed}
           \typeout{* means that you LaTeX installation is unable to use Times}
           \typeout{* Roman fonts!}
           \typeout{*}
           \typeout{* You can use the aipproc class without this package but }
           \typeout{* you have to specify the option "cmfonts" which result in}
           \typeout{* documents which are not conforming to the AIP layout}
           \typeout{* specification!}
           \typeout{*}
           \typein{* Type <return> to continue ...}
           \problemtrue
           \timesokfalse
           \gdef\psnfssproblemoption{cmfonts,}
          }
    }

\fi


\newcommand\CheckFDFile[3]{%
  \typeout{*}
  \typeout{* Looking for #1#3.fd or #2#3.fd ... }
  \IfFileExists{#1#3.fd}
    {
     \typeout{* ... ok }
    }
    {
     \IfFileExists{#2#3.fd}
      {
       \typeout{* ... ok }
      }
      {\problemtrue
       \typeout{* ... not found! }
      }
    }
}

\iftimesok % don't bother testing other font options if Times already bad

%\CheckFDFile{ot1}{OT1}{ot1ztmcm}
%\CheckFDFile{oml}{OML}{omlztmcm}
%\CheckFDFile{oms}{OMS}{omsztmcm}
%\CheckFDFile{omx}{OMX}{omxztmcm}

\typeout{*}
\typeout{* Looking for mathptm.sty ... }
\IfFileExists{mathptm.sty}
    {
     \typeout{* ... ok }
     \CheckFDFile{ot1}{OT1}{ptmcm}
     \CheckFDFile{oml}{OML}{ptmcm}
     \CheckFDFile{oms}{OMS}{pzccm}
     \CheckFDFile{omx}{OMX}{psycm}
     \ifproblem
      \typeout{*}
      \typeout{* Problem detected:}
      \typeout{*}
      \typeout{* The mathptm package, which is part of standard LaTeX}
      \typeout{* (psnfss distribution) was found but some or all of its}
      \typeout{* support files describing which fonts to load are missing!}
      \typeout{*}
      \typeout{*}
      \typeout{* The fact that this package is only partially installed}
      \typeout{* means that the mathptm package cannot be used!}
      \typeout{*}
      \typeout{* You can use the aipproc class without this package but }
      \typeout{* you have to specify the option "nomathfonts" so that}
      \typeout{* math formulas will be typeset using Computer Modern.}
      \typeout{*}
      \typein{* Type <return> to continue ...}
      \problemtrue
      \gdef\psnfssproblemoption{nomathfonts,}
     \else
      \typeout{*}
      \typeout{* Looking for mathptmx.sty ... }
      \IfFileExists{mathptmx.sty}
       {
        \typeout{* ... ok }
        \CheckFDFile{ot1}{OT1}{ztmcm}
        \CheckFDFile{oml}{OML}{ztmcm}
        \CheckFDFile{oms}{OMS}{ztmcm}
        \CheckFDFile{omx}{OMX}{ztmcm}
        \ifproblem
	  \typeout{*}
	  \typeout{* Problem detected:}
	  \typeout{*}
	  \typeout{* The mathptmx package, which is part of standard LaTeX}
	  \typeout{* (psnfss distribution) was found but some or all of its}
	  \typeout{* support files describing which fonts to load are missing!}
	  \typeout{*}
	  \typeout{*}
	  \typeout{* The fact that this package is only partially installed}
	  \typeout{* means that the mathptmx package cannot be used!}
	  \typeout{*}
	  \typeout{* You can use the aipproc class without this package but }
	  \typeout{* you have to specify the option "mathptm" (no x) so that}
	  \typeout{* math formulas use the older version with upright greek letters.}
	  \typeout{*}
	  \typein{* Type <return> to continue ...}
	  \problemtrue
	  \gdef\psnfssproblemoption{mathptm,}
        \fi
       }
       {
	\typeout{* ... not found! }
	\typeout{*}
	\typeout{* Problem detected:}
	\typeout{*}
	\typeout{* The mathptmx package, which is part of standard LaTeX}
	\typeout{* (psnfss distribution) can not be found.}
	\typeout{*}
	\typeout{* This is unfortunate but not a disaster as the older}
	\typeout{* version of the package "mathptm" (no x) seems to exist.}
	\typeout{*}
	\typeout{* You can use the aipproc class without this package but }
	\typeout{* you have to specify the option "mathptm" so that}
	\typeout{* math formulas use the older version with upright greek letters.}
	\typeout{*}
	\typein{* Type <return> to continue ...}
	\problemtrue
	\gdef\psnfssproblemoption{mathptm,}
       }
      \fi
    }
    {
     \typeout{* ... not found! }
     \typeout{*}
     \typeout{* Problem detected:}
     \typeout{*}
     \typeout{* The mathptm package, which is part of standard LaTeX}
     \typeout{* (psnfss distribution) can not be found.}
     \typeout{*}
     \typeout{* The fact that this package cannot be found either means that}
     \typeout{* this LaTeX release is too old or that it was installed}
     \typeout{* only in parts!}
     \typeout{*}
     \typeout{* You can use the aipproc class without this package but }
     \typeout{* you have to specify the option "nomathfonts" so that}
     \typeout{* math formulas will be typeset using Computer Modern.}
     \typeout{*}
     \typein{* Type <return> to continue ...}
     \problemtrue
     \gdef\psnfssproblemoption{nomathfonts,}
    }

\typeout{*}
\typeout{* Looking for mathtime.sty ... }
\IfFileExists{mathtime.sty}
    {
     \typeout{* ... ok }
    }
    {
     \typeout{* ... not found! }
     \typeout{*}
     \typeout{* The mathime package can not be found.}
     \typeout{*}
     \typeout{* This is not a serious problem because this package is}
     \typeout{* only of interest if you own the commerical MathTime fonts.}
     \typeout{*}
     \typeout{* You can use the aipproc class without this package but }
     \typeout{* you cannot use the "mathtime" option of the class.}
     \typeout{*}
     \typein{* Type <return> to continue ...}
     \problemtrue
    }
\else
\fi % iftimesok

\typeout{*}
\typeout{* Looking for graphicx.sty ... }
\IfFileExists{graphicx.sty}
    {
     \typeout{* ... ok }
    }
    {
     \typeout{* ... not found! }
     \typeout{*}
     \typeout{* Problem detected:}
     \typeout{*}
     \typeout{* The graphics package, which is part of standard LaTeX}
     \typeout{* (graphics distribution) can not be found.}
     \typeout{*}
     \typeout{* The fact that this package cannot be found either means that}
     \typeout{* this LaTeX release is too old or that it was installed}
     \typeout{* only in parts!}
     \typeout{*}
     \typeout{* You can use the aipproc class without this package but }
     \typeout{* you cannot use commands like \protect\includegraphics
                or \protect\resizebox}
     \typeout{* in this case.}
     \typeout{*}
     \typeout{* Please note that you will get a further error message below}
     \typeout{* about: "graphicx.sty not found" because the class will try}
     \typeout{* to load this package! Type return in response to that error.}
     \typeout{*}
     \typeout{* As a result the illustrations in aipguide will look strange.}
     \typeout{*}
     \typein{* Type <return> to continue ...}

     \gdef\resizebox##1##2{}
     \gdef\includegraphics{\textbf{graphics package missing:}}
     \problemtrue
    }

\typeout{*}
\typeout{* Looking for textcomp.sty ... }
\IfFileExists{textcomp.sty}
    {
     \typeout{* ... ok }
    }
    {
     \typeout{* ... not found! }
     \typeout{*}
     \typeout{* Problem detected:}
     \typeout{*}
     \typeout{* The textcomp package, which is part of standard LaTeX}
     \typeout{* (base distribution) can not be found.}
     \typeout{*}
     \typeout{* The fact that this package cannot be found either means that}
     \typeout{* this LaTeX release is too old or that it was installed}
     \typeout{* only in parts!}
     \typeout{*}
     \typeout{* You can use the aipproc class without this package but }
     \typeout{* you will always get the error: "textcomp.sty not found"}
     \typeout{* because the class will try to load this package!}
     \typeout{* Type return in response to that error.}
     \typeout{*}
     \typein{* Type <return> to continue ...}

     \def\textdegree{$^\circ$}         % used below but now
                                       % not set up
     \problemtrue
    }


\typeout{*}
\typeout{* Looking for url.sty ... }
\IfFileExists{url.sty}
    {
     \typeout{* ... ok }
    }
    {
     \typeout{* ... not found! }
     \typeout{*}
     \typeout{* Problem detected:}
     \typeout{*}
     \typeout{* The url package, which should be part of a good LaTeX}
     \typeout{* distribution, can not be found.}
     \typeout{*}
     \typeout{* Without this package you will not be able to use the \string\url}
     \typeout{* command. Try to download this package from a CTAN  host.}
     \typeout{* Refer to http://www.ctan.org and search for "url".}
     \typeout{*}
     \typein{* Type <return> to continue ...}

     \problemtrue
    }


\makeatletter

\typeout{*}
\typeout{* Looking for natbib.sty ... }
\IfFileExists{natbib.sty}
    {
     \IfStandaloneCheck
       {\begingroup
        \let\@listi\relax
        \let\thebibliography\@empty
        \let\bibstyle\@empty
        \RequirePackage{natbib}
        \@ifpackagelater{natbib}{1999/05/29}
	  {
           \typeout{* ... ok }
	  }{
           \typeout{* ... might be too old! }
           \typeout{*}
           \typeout{* Your version of the natbib package might be too}
           \typeout{* old to be usable. This class was designed to}
           \typeout{* work with the version 7.0 dated 1999/05/28}
           \typeout{*}
           \typeout{* If problems occur download a}
           \typeout{* recent version from a CTAN host.}
           \typeout{*}
           \typeout{* Refer to http://www.ctan.org and search for "natbib".}
           \typeout{*}
           \typein{* Type <return> to continue ...}

           \global\problemtrue
	  }
        \endgroup
        }{}
    }
    {
     \typeout{* ... not found! }
     \typeout{*}
     \typeout{* Serious problem detected:}
     \typeout{*}
     \typeout{* The natbib package, which should be part of a good LaTeX}
     \typeout{* distribution, can not be found.}
     \typeout{*}
     \typeout{* Without this package you will not be able to use certain}
     \typeout{* citation styles. See the aipguide documentation!}
     \typeout{*}
     \typeout{* Especially the layout for ARLO requires this package!}
     \typeout{*}
     \typeout{* Try to download this package from a CTAN  host.}
     \typeout{* Refer to http://www.ctan.org and search for "natbib".}
     \typeout{*}
     \typein{* Type <return> to continue ...}

     \problemtrue
    }

\makeatother


\typeout{*}
\typeout{* ... finished testing}
\typeout{*}
\ifproblem
\typeout{* The tests have revealed some problems in your TeX installation.}
\typeout{*}
\typeout{* Please review the above comments carefully and read the file}
\typeout{* README for further information.}
\typeout{*}
\typeout{*****************************************************************}
\typein{* Type <return> to continue ...}
\else
\typeout{****************************************************************}
\typeout{*}
\typeout{* The tests have reveiled no problems in your TeX installation.}
\typeout{*}
\typeout{****************************************************************}
\fi


% if this file is run standalone stop otherwise continue

\makeatletter
\IfStandaloneCheck
 {
\typeout{*}
\typeout{* This document only produces terminal output.}
\typeout{*}
\stop
 }
 {
\AtBeginDocument{\relax\ifx\xfm@address@loop\@undefined
  \typeout{***************************}
  \typeout{* Oooops ... you seem to have picked up an obsolete}
  \typeout{* aipproc.cls file from a previous installation!}
  \typeout{*}
  \typeout{* Please check that LaTeX finds the right one.}
  \typeout{*}
  \typeout{* Sorry have to give up ....}
  \typeout{***************************}
  \stop
 \fi}
 }
\makeatother

\endinput
%%
%% This is file `template-6s.tex',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% template.raw  (with options: `6s')
%% 
%% Template for the LaTeX class aipproc.
%% 
%% (C) 1998,2000,2001 American Institute of Physics and Frank Mittelbach
%% All rights reserved
%% 
%%
%% $Id: template.raw,v 1.8 2002/06/02 15:34:15 frank Exp $
%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Please remove the next line of code if you
%% are satisfied that your installation is
%% complete and working.
%%
%% It is only there to help you in detecting
%% potential problems.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\input{aipcheck}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% SELECT THE LAYOUT
%%
%% The class supports further options.
%% See aipguide.pdf for details.
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\documentclass[
    ,final            % use final for the camera ready runs
%%  ,draft            % use draft while you are working on the paper
%%  ,numberedheadings % uncomment this option for numbered sections
%%  ,                 % add further options here if necessary
  ]
  {aipproc}

\layoutstyle{6x9}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% FRONTMATTER
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%\newcommand{\bm}[1]{\mbox{\boldmath $#1$}}

\begin{document}

\title{Perturbative and Nonperturbative Aspects of Azimuthal 
Asymmetries in Polarized $ep$~\footnote{Presented at the 15th International 
Spin Physics Symposium (Spin 2002), Brookhaven National Laboratory, 
September 9-14, 2002.}}


\author{K. A. Oganessyan}{
  address={LNF-INFN, I-00040, Enrico Fermi 40, Frascati, Italy}
  ,address={DESY, Notkestrasse 85, 22603 Hamburg, Germany}
}

\begin{abstract}
We discuss the possibilities of testing of perturbative quantum 
chromodynamics through azimuthal asymmetries in polarized $ep$ 
in the context of future collider and fixed target facilities, 
such as Electron Ion Collider and TESLA-N.    
\end{abstract}

\maketitle

It is widely recognized that the study of the distributions in the 
azimuthal angle $\phi$ of the detected hadron in hard scattering 
processes provide interesting variables to study in both  
non-perturbative and perturbative regimes. They are of great 
interest since they test perturbative quantum chromodynamics 
(QCD) predictions for the short-distance part of strong 
interactions and yield an important information on the 
long-distance internal structure of hadrons which computed 
in QCD by non-perturbative methods.  

We discuss here the perturbative aspects of spin-independent, 
single- and double-spin azimuthal symmetries in leptoproduction 
processes. The non-perturbative aspects of some of them have been    
discussed in these proceedings (see Refs.~[1-5]). 

\subsection{
Spin-independent $cos\phi$, $cos2\phi$ asymmetries 
}

Different mechanisms to generate spin-independent azimuthal asymmetries 
in semi-inclusive processes have been discussed in the literature. 
Georgi and Politzer \cite{PG} found a negative contribution to 
$\langle \cos\phi \rangle$ in the first order in $\alpha_S$ perturbative 
theory and proposed the measurement of this quantity as a clean test 
of QCD. However, as Cahn~\cite{CAHN} showed, there is a contribution 
to $\langle \cos\phi \rangle $ from the lowest-order processes due to 
this intrinsic transverse momentum. The measurements indicate  
large negative $\cos\phi$ asymmetry~\cite{EMC,E665} and the simple 
QCD-improved parton model rather well describes the data, where 
essential contribution comes from non-perturbative intrinsic 
transverse momentum effects.   

Recently, the expectation values of $\cos\phi$ and $\cos2\phi$ in the 
deep inelastic electroproduction of single particles in the high $Q^2$ 
region have been observed by ZEUS detector at HERA~\cite{ZEUS} for the 
first time. For hadrons produced at large transverse momenta the 
results are in agreement with QCD predictions~\cite{TG0,OG,NSY}. Since 
the non-perturbative contributions to $\langle \cos2\phi\rangle$ 
are of $1/Q^2$, its precise 
measurement may provide clear evidence for a pQCD and an alternative 
possibility to measure $F_L(x,Q^2)$~\cite{TG}. 

\subsection{
Double-spin $cos\phi$, $cos2\phi$ asymmetries
} 

The $\cos\phi$ and $\cos2\phi$ asymmetries arise also in semi-inclusive 
DIS of longitudinally polarized electrons off longitudinally polarized 
protons. Recently, the non-perturbative phenomena of these asymmetries 
has been considered~\cite{OMD} and a sizable negative $\cos\phi$ 
asymmetry for $\pi^{+}$ electroproduction was predicted. 
Perturbative contributions proportional to $\alpha_s(Q^2) \ldots g_1 \ldots$ 
will likely appear at the same point where the twist-3 function 
$(M/Q)\ldots g_L^\perp$ appears~\cite{OMD,TM,BMO}, like contributions 
proportional to $\alpha_s(Q^2) \ldots f_1 \ldots$ appear at the same 
point where the function $(M/Q)\ldots f_1^\perp$ appears~\cite{PG,OMD,TM}. 
Then the $\cos\phi$ dependence of the double longitudinal spin asymmetry, 
\begin{equation}
A_{LL} = \frac{d\sigma^{++}+d\sigma^{--}-d\sigma^{+-}-d\sigma^{-+}}
{d\sigma^{++}+d\sigma^{--}+d\sigma^{+-}+d\sigma^{-+} },
\label{AS}
\end{equation}
for charged pion electroproduction have been examined~\cite{OAAD}. 
The subscript $LL$ denotes the longitudinal polarization of the beam 
and target, and the superscripts $++,-- (+-,-+)$ denote 
the helicity states of the beam and target respectively, corresponding 
to antiparallel (parallel) polarization.   

In general, due to parity conservation in the electromagnetic and strong 
interactions, Eq.(\ref{AS}) can be written in terms of the spin-independent 
($\sigma$) and double-spin ($\Delta \sigma$) cross sections of 
semi-inclusive DIS 
\begin{equation}
\label{AS1}
A_{LL} =\frac{2\,\sum_{m=1} \Delta \sigma^{m}_{LL} 
\cos {([m-1] \cdot \phi)}}{4\, \sum_{m=1} \sigma^{m}_{UU} 
\cos {([m-1] \cdot \phi)}}, 
\end{equation}
Up to sub-leading order $1/Q$ the Eq.(\ref{AS1}) can be rewritten as  
\begin{equation}
A_{LL} = \frac{\Delta \sigma^{1}_{LL}/2 \sigma^{1}_{UU} + 
{\langle \cos\phi \rangle}_{LL} 
\cdot \cos\phi}{1 + 2\,{\langle \cos\phi \rangle}_{UU} \cdot \cos\phi } ,  
\label{AP}
\end{equation}
where ${\langle \cos\phi \rangle}_{UU}$ and ${\langle \cos\phi \rangle}_{LL}$ 
are unpolarized and double polarized $\cos\phi$ moments, respectively. 
The $A_{LL}$ depends on and allows the simultaneous determination of 
the spin-independent and double-spin $\cos\phi$-moments of the cross 
section. A $\cos2\phi$ asymmetry only appears at order $1/Q^2$, unless 
one allows for T-odd structure functions~\cite{DB,LG}. 

\subsection{
Beam/target single-spin azimuthal asymmetries 
}
The interest in the single beam asymmetry in the pion electroproduction
in semi-inclusive deep inelastic scattering of longitudinally polarized
electrons off unpolarized nucleon resides in the fact that they probe the
antisymmetric part of the hadron tensor, which entirely due and particularly
sensitive to final state interactions (FSI). In longitudinally polarized
electron scattering it shows up as a $<\sin\phi>$ asymmetry for the produced 
hadron and expressed as 
\begin{equation}
\langle \sin\phi \rangle\,=\, \pm\, \langle \frac{\vec{s} \times \vec{k}' 
\cdot \vec{P}_{h\perp}}{\vert \vec{s} \times \vec{k}' \vert \vert 
\vec{P}_{h\perp} \vert} \rangle,
\label{A1}
\end{equation}
where $\vec{s}$ denoted the spin vector of the electron (the upper (lower)
sign for right (left) handed electrons), $\vec{k}$ ($\vec{k}'$) and 
$\vec{P}_{h\perp}$ are three vectors of incoming (outgoing) electron and the 
produced hadrons transverse momentum about virtual photon direction. 
This asymmetry is related to the left-right asymmetry in the hadron 
momentum distribution with respect to the electron scattering plane,
\begin{equation}
A = \frac{\int_0^\pi d\phi d\sigma
- \int_\pi^{2\pi} d\phi d\sigma}{\int_0^\pi d\phi d\sigma
+ \int_\pi^{2\pi} d\phi d\sigma},
\label{A2}
\end{equation}
which is $4/\pi$ times $<\sin\phi>$. 

Among various proposed tests to measure the gluon self-coupling, 
the tests based on observation of time-reversal-odd (T-odd) 
processes, which are highly sensitive to FSI, are particularly promising. 
In the one-loop order, which is the leading order for T-odd 
quantities in pQCD~\cite{RPL}, the left-right asymmetry is quite 
sensitive to the gluon self-coupling~\cite{HAG}, and even the qualitative 
observation of such effects is sufficient to establish its existence. 
Furthermore, they are fairly insensitive to the poorly known gluon 
distribution and fragmentation functions~\cite{HAG}. The magnitude of 
this asymmetry for kinematical conditions (assuming $\sqrt{s} = 300$ GeV) 
at HERA collider have been evaluated using parton model expressions at 
leading order~\cite{AG}. Although the asymmetry appears small at first 
sight, their measurement may still 
be possible. An experimental determination of it is therefore a 
challenging task. In particular by including only hadrons above a 
minimal transverse momentum in the measurement, the 
asymmetries can be suppressed to $\cal{O}$ $(\alpha_S^{(1)})$. It is 
worthy to not that in the electromagnetic scattering the difference in 
magnitude between the opposite helicity measurements and the asymmetry 
$<\sin2\phi>$ is proportional the parity-violating effects.           
 
Within the last few years, after appearance of experimental results 
from  HERMES~\cite{HERM,HERM1} and SMC~\cite{SMC} collaborations on 
single target-spin azimuthal asymmetries in semi-inclusive pion 
electroproduction the subject obtained much more attention. It is 
considered as one of the ways to access and measure third, completely 
unknown distribution function, so-called, transversity. This twist-2 
function is equally important for the description of quarks in nucleons 
as the more familiar function $g_1(x)$; their information is 
complementary (for a review of transversity see Refs.~\cite{BDR,RATC}). 

In the perturbative regime the single target-spin asymmetries also 
should be different from zero in the one-loop order. They are remaining 
out of attention, while they may give a valuable information about the 
behavior of QCD interactions under discrete symmetry operations and 
may test our understanding of FSI at the perturbative level.  

\vspace*{0.7cm}

The future collider and fixed target facilities, such as Electron 
Ion Collider (EIC)~\cite{EIC} and TESLA-N~\cite{TN} will be very 
important for deeper study of considered azimuthal asymmetries. 
In particular, the wide and tunable range of collision energies 
at EIC will allow to study the nonperturbative and perturbative 
effects of azimuthal asymmetries consistently. Polarization of 
electron and proton spins will allow to measure all discussed 
asymmetries as well as their different combinations simultaneously. 
Some of the asymmetries are expected to be small, thus the facilities 
with high luminosity, such as EIC, TESLA-N are required. 

From the theoretical side, a realistic estimates of these azimuthal 
asymmetries for the future collider and fixed target facility 
kinematics are needed. 
 
\vspace*{1cm}

I am grateful to Abhay Deshpande and Werner Vogelsang for many valuable 
discussions and the Physics Department at Brookhaven National Laboratory 
for hospitality.   

\begin{thebibliography}{99}
\bibitem{KO} K.A.~Oganessyan, these proceedings, .
\bibitem{DB} D.~Boer, these proceedings, .
\bibitem{YK} Y.~Koike, these proceedings, .
\bibitem{LG} L.~Gamberg, these proceedings, . 
\bibitem{UD} U.~D'Alesio, these proceedings, .
\bibitem{PG} H.~Georgi, H.D.~Politzer, Phys. Rev. Lett. {\bf 40} (1978) 3. 
\bibitem{CAHN} R.N. Cahn, Phys. Lett.  B {\bf 78} (1978) 269; Phys. Rev. D 
        {\bf 40} (1989).  
\bibitem{EMC} M.~Arneodo, et al., (EMC Collaboration), Z. Phys. C {\bf 34} 
        (1987) 277. 
\bibitem{E665} M.~R.~Adams, et al., (Fermilab E665 Collaboration), 
         Phys.Rev. D{\bf 48} (1993) 5057. 
\bibitem{ZEUS} ZEUS Collaboration, Phys.Lett. B {\bf 481} (2000) 199. 
\bibitem{TG0} M.~Ahmed, T.~Gehrmann, Phys. Lett. B {\bf 465} (1999) 297. 
\bibitem{OG} K.A.~Oganessyan, et.al, Eur. Phys. J. C {\bf 5} (1998) 681.  
\bibitem{NSY} P.M.~Nadolsky, D.R.~Stump, C.-P.~Yuan, Phys. Lett. 
        B {\bf 515} (2001) 175. 
\bibitem{TG} T.~Gehrmann, . 
\bibitem{OMD} K.A.~Oganessyan, P.J.~Mulders, E.~De~Sanctis, 
        Phys. Lett. B {\bf 532} (2002) 87.   
\bibitem{TM} P.J.~Mulders and R.D.~Tangerman, Nucl Phys. B {\bf 461} 
        (1996) 197.
\bibitem{BMO} A.~Brandenburg, D.~M\"uller, K.A.~Oganessyan, in preparation.
\bibitem{OAAD} K.A.~Oganessyan, L.S.~Asilyan, M.~Anselmino, E.~De~Sanctis, 
        . 
\bibitem{RPL} A.~De~Rujula, R.~Petronzio, B.~Lautrup, Nucl. Phys. 
        {\bf B146} (1978) 50. 
\bibitem{HAG} K.~Hagiwara, K.~Hikasa, N.~Kai, Phys. Rev. D {\bf 27} (1983) 84. 
\bibitem{AG} M.~Ahmed, T.~Gehrmann, Phys. Lett. B {\bf 465} (1999) 297. 
\bibitem{HERM} HERMES Collaboration, A.~Airapetian, et al., Phys. Rev. Lett. 
        {\bf 84} (2000) 4047. 
\bibitem{HERM1} HERMES Collaboration, A.~Airapetian, et al., Phys. 
         Rev. D {\bf 64} (2001) 097101.
\bibitem{SMC} A.~Bravar, Nucl. Phys. Proc. Suppl. {\bf 79} (1999) 520.  
\bibitem{BDR} V.~Barone, A.~Drago, P.G.~Ratcliffe, Phys. Rep. 
{\bf 359} (2002) 1. 
\bibitem{RATC} P.G.~Ratcliffe, these proceedings, .
\bibitem{EIC} EIC Whitepaper, see: http://www.bnl.gov/eic.
\bibitem{TN} M.~Anselmino, et. al.,  DESY 00-160, 
TPR 00-20.  
\end{thebibliography}




\end{document}

\endinput
%%
%% End of file `spin_kog_1.tex'.

