%% 
%% This is file `feynmf.sty', generated 
%% on <1994/7/28> with the docstrip utility (2.2h).
%% 
%% The original source files were:
%% 
%% feynmf.dtx  (with options: `style')
%% 
%% Copyright (C) 1989, 1990, 1992-1994 by Thorsten.Ohl@Physik.TH-Darmstadt.de 
%% 
%% This file is NOT the source for feynmf, because almost all comments 
%% have been stripped from it. It is NOT the preferred form of feynmf 
%% for making modifications to it. 
%% 
%% Therefore you can NOT redistribute and/or modify THIS file. You can 
%% however redistribute the complete source (feynmf.dtx and feynmf.ins) 
%% and/or modify it under the terms of the GNU General Public License as 
%% published by the Free Software Foundation; either version 2, or (at 
%% your option) any later version. 
%% 
%% Feynmf is distributed in the hope that it will be useful, but 
%% WITHOUT ANY WARRANTY; without even the implied warranty of 
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
%% GNU General Public License for more details. 
%% 
%% You should have received a copy of the GNU General Public License 
%% along with this program; if not, write to the Free Software 
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 
%% 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% \CheckSum{425}
%% \CharacterTable
%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%%   Digits        \0\1\2\3\4\5\6\7\8\9
%%   Exclamation   \!     Double quote  \"     Hash (number) \#
%%   Dollar        \$     Percent       \%     Ampersand     \&
%%   Acute accent  \'     Left paren    \(     Right paren   \)
%%   Asterisk      \*     Plus          \+     Comma         \,
%%   Minus         \-     Point         \.     Solidus       \/
%%   Colon         \:     Semicolon     \;     Less than     \<
%%   Equals        \=     Greater than  \>     Question mark \?
%%   Commercial at \@     Left bracket  \[     Backslash     \\
%%   Right bracket \]     Circumflex    \^     Underscore    \_
%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%%   Right brace   \}     Tilde         \~}
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}
{\def\RCS#1#2\endRCS{%
  \ifx$#1%
    \@RCS $#2 \endRCS
  \else
    \@RCS $*: #1#2$ \endRCS
  \fi}%
 \def\@RCS $#1: #2,v #3 #4 #5 #6$ \endRCS{%
   \gdef\filename{#2}%
   \gdef\fileversion{v#3}%
   \gdef\filedate{#4}%
   \gdef\docdate{#4}}%
\RCS feynmf.dtx,v 1.5 1994/05/28 12:10:04 ohl Exp \endRCS}%
\ProvidesPackage{feynmf}[\filedate\space LaTeX2e package]
\typeout{Package: `feynmf'
   \fileversion\space <\filedate> (tho) PRELIMINARY TEST RELEASE}
\wlog{English documentation \@spaces<\docdate> (tho)}
\let\mdqrestore\relax
\@ifundefined{mdqoff}{}{%
  \mdqoff
  \let\mdqrestore\mdqon}
\newwrite\@outfmf
\def\fmfcmd#1{%
  \immediate\write\@outfmf{#1}\ignorespaces}
{\catcode`\%=11\gdef\p@rcent{%}}
\edef\fmf@fileversion{\fileversion}
\def\fmffile#1{%
  \def\thefmffile{#1}%
  \immediate\openout\@outfmf=\thefmffile.mf\relax
  \fmfcmd{\p@rcent\space \thefmffile.mf -- do not edit, %
          generated automatically by \jobname.tex^^J%
          input feynmf^^J%
          \p@rcent\space tracingonline:=tracingtitles:=1;^^J%
          require_RCS_revision "\expandafter\@gobble\fmf@fileversion";}%
  \batchmode
  \font\f@ynmf=\thefmffile
  \errorstopmode
  \ifx\f@ynmf\nullfont
    \def\f@ynmf{feynmf character:}%
    \typeout{%
      feynmf: File \thefmffile.tfm not found:^^J%
      feynmf: Process \thefmffile.mf with METAFONT and then %
              reprocess this file.}%
  \else
    \typeout{%
      feynmf: File \thefmffile.tfm found.^^J%
      feynmf: Nevertheless, if the picture has changed, %
              reprocess \thefmffile.mf.^^J%
      feynmf: If dimension have changed, reprocess \thefmffile.mf %
              and \jobname.tex.}%
  \fi
  \setcounter{fmfchar}{0}}
\let\thefmffile\relax
\newcounter{fmfchar}
\def\endfmffile{%
  \fmfcmd{\p@rcent\space the end.^^J%
          end.^^J%
          endinput;}%
  \let\thefmffile\relax
  \immediate\closeout\@outfmf}
{\catcode`\#=11\gdef\sh@rp{#}}
\let\sharp\sh@rp
\def\fmf@char#1#2{%
  \ifx\thefmffile\relax
    \errhelp={Outside a fmffile environment, I have no clue as to where^^J%
              the METAFONT commands should go.   I will use fmfdeflt.mf^^J%
              for this character, but you'd better fix your code!}
    \errmessage{I detected a fmfchar environment outside of fmffile}
    \fmffile{fmfdeflt}
  \fi
  \stepcounter{fmfchar}%
  \fmfcmd{beginchar(\thefmfchar, #1*\the\unitlength\sh@rp, %
                                 #2*\the\unitlength\sh@rp, 0);^^J%
            "feynmf: \thefmfchar";}%
  \fmfcmd{LaTeX_unitlength:=\the\unitlength;}%
  \fmfinit
  \fmfpen{thin}}
\def\fmfchar(#1,#2){%
  \fmf@char{#1}{#2}%
{\f@ynmf \char\value{fmfchar}}%
  \ignorespaces}
\def\endfmfchar{%
  \fmfposition
  \fmfdraw
  \fmfcmd{endchar;}}
\@namedef{fmfchar*}(#1,#2){%
  \begin{picture}(#1,#2)
    \fmf@char{#1}{#2}%
    {\catcode`\%=14\relax
      \grepfile{%
        \thefmffile.\thefmfchar}{%
        \thefmffile.log}{%
        \thefmffile.t\thefmfchar}}%
\put(0,0){{\f@ynmf \char\value{fmfchar}}}%
      \ignorespaces}
\@namedef{endfmfchar*}{%
    \endfmfchar
    {\catcode`\%=14\relax
      \InputIfFileExists{\thefmffile.t\thefmfchar}{}{%
        \typeout{%
          feynmf: Label file \thefmffile.t\thefmfchar\space not found:^^J%
          feynmf: Process \thefmffile.mf with METAFONT and then %
                  reprocess this file.}}}%
  \end{picture}}
\def\fmfframe(#1,#2)(#3,#4)#5{%
  \leavevmode
  \hbox{\vbox{\vskip#2\unitlength\par
              \hbox{\hskip#1\unitlength#5\hskip#3\unitlength}\par
              \vskip#4\unitlength}}}
\def\fmfpen#1{\fmfcmd{pickup pencircle scaled #1;}}
\def\grepfile#1#2#3{%
  \begingroup
    \edef\pattern{\csname*grep*#1*\endcsname}%
    \immediate\openin\grep@infile #2\relax
    \ifeof\grep@infile
    \else
      \grep@outopenfalse
      \endlinechar=-1
      \catcode`\\=12\relax
      \loop
        \read\grep@infile to \grep@lbuf
        \ifeof\grep@infile
          \grep@contfalse
        \else
          \grep@conttrue
          \ifx\grep@lbuf\empty
          \else
            \expandafter\grep@aline\grep@lbuf\sentinel
            \ifx\pattern\grep@tag
              \ifgrep@outopen
              \else
                 \immediate\openout\grep@outfile #3\relax
                 \immediate\write\grep@outfile{\p@rcent\space #3 %
                    -- generated automatically from #2}%
                 \immediate\write\grep@outfile{\p@rcent\space
                    Think twice before editing THIS file!}%
                 \grep@outopentrue
              \fi
              \immediate\write\grep@outfile{\grep@val}%
            \fi
          \fi
        \fi
      \ifgrep@cont
      \repeat
      \ifgrep@outopen
        \immediate\closeout\grep@outfile
      \fi
    \fi
    \immediate\closein\grep@infile
  \endgroup}
\newread\grep@infile
\newwrite\grep@outfile
\newif\ifgrep@cont
\newif\ifgrep@outopen
\def\grep@aline#1#2\sentinel{%
  \ifx:#1%
    \grep@splitlbuf#2\sentinel
  \else
    \edef\grep@tag{\csname*grep*\endcsname}%
    \def\grep@val{}%
  \fi}
\def\grep@splitlbuf#1:#2\sentinel{%
  \edef\grep@tag{\csname*grep*#1*\endcsname}%
  \def\grep@val{#2}}
\def\fmfinit{\fmfcmd{vinit;}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\fmf#1#2{\fmfcmd{vconnect ("#1", #2);}}
\def\fmfforce#1#2{\fmfcmd{vforce ((#1),#2);}}
\def\fmfshift#1#2{\fmfcmd{vshift((#1),#2);}}
\def\fmflabel#1#2{\fmfcmd{vlabel ("#1", #2);}}
\def\fmfv#1#2{\fmfcmd{vvertex ("#1", #2);}}
\def\fmfblob#1#2{\fmfcmd{vblob ((#1),#2);}}
\def\fmfdot#1{\fmfcmd{vdot (#1);}}
\def\fmfincoming#1{\fmfcmd{vincoming(#1);}}
\def\fmfoutgoing#1{\fmfcmd{voutgoing(#1);}}
\def\fmfsurround#1{\fmfcmd{vsurround(#1);}}
\def\fmfincomingn#1#2{\fmfcmd{vincomingn(#1,#2);}}
\def\fmfoutgoingn#1#2{\fmfcmd{voutgoingn(#1,#2);}}
\def\fmfsurroundn#1#2{\fmfcmd{vsurroundn(#1,#2);}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\fmfposition{\fmfcmd{vposition;}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\fmfdraw{\fmfcmd{vdraw;}}
\def\fmfL(#1,#2,#3)#4{\put(#1,#2){\makebox(0,0)[#3]{#4}}}
\mdqrestore
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput
%% 
%% End of file `feynmf.sty'.
