summaryrefslogtreecommitdiff
path: root/macros/latex209/contrib/feynman/fermionsetup.tex
blob: 552a236117b17eb315c67d22741765cb48e2e8fa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
%                        FERMIONSETUP(7).TEX
%  CALLED BY FEYNMAN(34).TEX.
% USED FOR GENERATING FERMION LINES IN FEYNMAN DIAGRAMS IN LATEX.
\global\newcount\fermionlength  %  THE TOTAL FERMION LINE LENGTH.
\global\newcount\fermionlengthx
\global\newcount\fermionlengthy
\global\newcount\fermionfrontx  %}(x,y) co-ord of left of fermion
\global\newcount\fermionfronty  %}
\global\newcount\fermionbackx
\global\newcount\fermionbacky
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\gdef\ALLfermion{  % READ IN FROM FEYNMAN \selectfermion
\global\fermionfrontx=\particlefrontx \global\fermionfronty=\particlefronty
% Error messages for overly-long lines.  See FEYNMAN for negative-lengths.
\ifnum\unitboxnumber > 50000
\message{   *** WARNING *** Fermion of length
\the\unitboxnumber\space requested ***   }
\ifnum\unitboxnumber > 80000
\message{   *** Reducing fermion length to 30000 (max 80000) ***   }
\global\unitboxnumber=30000 \fi \fi  % end of length error
\global\fermionlength=\unitboxnumber % The TOTAL line length
\global\particleadjustx=0   \global\particleadjusty=0 %Default
\global\numlineparts = 1    \global\numupperunits=1
\global\upperlineadjx=-200  \global\upperlineadjy=0
\global\fermionlengthx=\fermionlength    \global\fermionlengthy=\fermionlength
\gslanttest(\fermionlengthx,\fermionlengthy)  % See FEYNMAN22.TEX (FOR \XDIR).
\global\multiply\fermionlengthx by \XDIR  %  In keeping with photons and gluons.
\global\multiply\fermionlengthy by \YDIR  %  In keeping with photons and gluons.
\global\unitboxheight=\fermionlengthy   \global\unitboxwidth=\fermionlengthx   
\global\advance \fermionlengthx by \particleadjustx
\global\advance \fermionlengthy by \particleadjusty
\global\particlelengthx=\fermionlengthx
\global\particlelengthy=\fermionlengthy  
\boxlengthdefault    \rearcoords    \midcoords
\global\fermionbackx=\particlebackx     \global\fermionbacky=\particlebacky
\ifcase\LINECONFIGURATION  %\REG case
\ifnum\XDIR=0 
\gdef\upperunitbox{\line(\XDIR,\YDIR){\boxlengthy}} %\N or \S
\else
\gdef\upperunitbox{\line(\XDIR,\YDIR){\boxlengthx}}
\fi
\else \UNIMPERROR
\fi
}