home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 8
/
FreshFishVol8-CD1.bin
/
useful
/
text
/
tex
/
pastex
/
macros
/
latex2e
/
inputs
/
feynmf.sty
< prev
next >
Wrap
Text File
|
1994-06-09
|
9KB
|
249 lines
%%
%% This is file `feynmf.sty', generated
%% on <1994/6/9> 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\