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