Home
feynMF: Drawing Feynman Diagrams with LATEX and METAFONT
Contents
1. available through the XT X interface No knowledge of METAFONT is necessary 13 fmfleft fmfright fmfbottom fmftop fmf surround fmf curved fmfstraight fmfleftn fmfrightn fmfbottomn fmftopn fmfsurroundn fmf UV Vv v Vv 4 3 v1 2 3 vA v3 Va v3 Ui UVa Us UVa v D wp p aas ep a W 1 V2 U3 4 ur U6 Figure 5 Curved galleries VA v2 V3 v4 UA U3 U3 v2 UVa VU U2 Uz UV4U1 U1 Figure 6 Straight galleries 2 5 1 External vertices Positioning of external vertices has to done explicitely The technical reason is that they would otherwise collapse with their neighbors but practical reasons also suggest to give the user full control here fmfleft v1 places the vertices in the comma separated list v1 equidistantly on a smooth path on the left side of the diagram fmfright v1 does the same thing on the right Similarly fmfbottom and fmftop while fmfsurround v1 places its arguments on smooth path surrounding the diagram Per default the galleries on which we place the external vertices are curved as in figure 5 but straight galleries are also available The macros fmfcurved and fmfstraight switch between these alternatives The macro fmfleftn is similar to fmfleft but fmfleftn v n places the vertices v 1 v n Analogously for the macros fmfrightn fmfbottomn fmftopn and fmfsurroundn 2 5 2 Arcs and internal vertices This is the the
2. 15w vp fmfdot vq v1 fmffreeze fmfi plain vpath __ip __vp shifted thick 0 2 fmfi plain vpath __ip __vp shifted thick 1 2 As it stands all vertices come out too far to the right because the greater number of outgoing lines pulls them over Adding fmf phantom makes the bond between the incoming vertices and the interactions tighter and produces a better balanced picture fmfleft ip il fmfright oq1 oq2 d1 0q3 d2 d3 01 fmf fermion ip vp vq oq3 fmf phantom ip vp fmf fermion vp oq1 fmf fermion vp oq2 fmf photon vl vq fmf fermion il vl ol fmf phantom il v1 fmfblob 15w vp fmfdot vq vl fmffreeze fmfi plain vpath __ip __vp shifted thick 0 2 fmfi plain vpath __ip __vp shifted thick 1 2 Equivalently we could add tension to the lines in question and we will get the same result fmfleft ip il fmfright oq1 oq2 d1 0q3 d2 d3 01 fmf fermion tension 2 ip vp fmf fermion vp vq 0q3 fmf fermion vp ogq1 fmf fermion vp oq2 fmf photon vl vq fmf fermion tension 2 il vl fmf fermion vl ol fmfblob 15w vp fmfdot vq vl fmffreeze fmfi plain vpath __ip __vp shifted thick 0 2 fmfi plain vpath __ip __vp shifted thick 1 2 Conversely specifing a tension lt 1 will make the corresponding arcs more loose 28 Reconsider the box graph on page 20 and reduce the tension on the inner
3. Architecture of feynMF the two modes of feynMF immediate mode and vertex mode both interact with TFX and METAFONT or META O T respectively but operate on different data types Early user reponses have been very encouraging There seems to be a rela tively steep learning curve for those IXTF0d users that have to find out how to run METAFONT on their systems But once this purely technical obstacle has been surmounted users have been enthusiatic as well about the quality of the generated graphs as about the ease of use of feynMF fmffile 2 Usage In addition to this manual there exists also a concise description of feynMF in a journal article 6 as well as a three part tutorial 7 2 1 PTX package and environments Instructing ATX to use feynMF is as simple as usepackage feynmf If you have META O T then you can use it alternatively by placing usepackage feynmp in your TFX source feynMF has to switch interactions mode and switches to errorstopmode be cause it is impossible in TEX to switch back Ifa different default is required for automated preprint processing in particular it can be specified as a package option usepackage errorstop feynmf usepackage scrol1 feynmf usepackage batch feynmf usepackage nonstop feynmf All descriptions that should go into one METAFONT file are placed inside a fmffile environment which takes the name of the METAFONT file as an argu ment begin fmf
4. Explanation fill interior pull edges in lt 0 or out gt 0 label angle force placement of the label at the given angle from the vertex label dist place label at a distance dist foreground color META O T only background color META O T only Table 5 Available polygon options 2 5 4 Color If META O T is used for rendering the diagrams vertices and arcs can be colored The corresponding options give a warning message under METAFONT and are otherwise ignored Two colors are available for vertices and arcs foreground and background Both can either be specified as a linear combination of the predefined colors white black red green and blue or as RBG triples red green blue Note that as always commata have to be doubled in option arguments There fore both foreground 1 0 1 and foreground red blue are valid options setting the foreground color to magenta For arcs the background color is used only for the interior of doubled lines While the color feature is rarely used in papers or books it can be very useful for jazzing up your transparencies See page 27 for a not very serious example 2 5 5 Examples After the main features of the vertex mode have been introduced it is time for a couple of illustrative examples that are taken from The Real World As a first example consider drawing a straightforward box diagram fa miliar from K K D D and B B mixing The commands for the labels are no
5. Hfmfrcyg Lens usage 16 nal vertices fmfreuse subitem fmf reused dusagq 30 17 external 14 fmfright subitem fmfright usage 14 vertices inter fmfrightn subitem b kighibe s Nusagt414 nal vertices fmfrpolyn subitem fmfrpoln Qsage 1aH internal 16 17 fmfset subitem fmiseping lcagef3 1 31 vertices vertices 33 44
6. derived from web2c if r KPSE_DOT NAME mf then MT_PKDESTDIR KPSE_DOT MT_TFMDESTDIR KPSE_DOT MT_NAMEPART fi The automagic tools will also not notice when a diagram has changed These problems suggest that it is a generally a good idea to invoke METAFONT ex plicitely instead of relying on the automagic tools Running META O T is usually trivial because not printer specific mode is needed mp META O T file 2 4 The feynmf perl script UNIX users will be able to take advantage of the feynmf perl script that auto mates the invocation of TEX and META O T In particular it tries to guess the correct METAFONT mode and magnification The latter is often different from 1 in slide classes Here is the man page of feynmf NAME feynmf Process LaTeX files using FeynMF SYNOPSIS feynmf hvqncfT t tfm t tfm m mode file file feynmf help version quiet noexec clean force notfm tfm tfm tfm tfm mode mode file file DESCRIPTION The most complicated part of using the FeynMF style appears to be the proper invocation of Metafont The feynmf script provides a convenient front end and will automagically invoke Metafont with the proper mode and magnifincation It will also avoid cluttering system font directories and offers an option to clean them OPTIONS h help Print a short help text v version Print the version of feynmf 12 q quie
7. which shouldn t be a problem except for some impoverished commercial implementations the document can be typset from the TEX source alone by running FTX METAFONT and TEX again the latter step might have to be repeated to get cross references right 2 Another possibility which doesn t require METAFONT on the recipient s side is to distribute the TFX source the tfm and gf files or pk files respectively along with the label files with extension tn where n as an l0 There is also a very primitive but unfortunately popular operating system which re stricts filenames to eight characters with a three character extension On this system only 99 graphs can be placed into one METAFONT file because auxiliary files will not be unambiguous if more than two digits are used foo tex fd mf do not edit A input feynmf usepackage feynmf beginchar 1 100 1pt 50 1pt 0 Sand vinit begin fmffile fd Ese begin fmf char 100 50 vfreeze er vdraw end fmf char endchar end fmffile font bitmap fd 300gf be os oes lo E q F a latex foo LATEX labels font metric z fd t1 information E eer fd tfm device independent output file printer foo dvi lpr Figure 3 Interdependency of files in a feynMF application The arrows show which files are updated in the two IATFX passes the METAFONT pass and the final dvi translation step integer Distributing the METAFONT log f
8. 21Now that you know I have also displayed the label options used 29 begin fmfsubgraph 3w 3h 4w 4h subgraphsample b end fmf subgraph begin fmfsubgraph 45w 45h 1w 1h subgraphsample c end fmf subgraph end fmf graph More serious applications will use this feature to group together related diagrams and use other METAFONT drawing commands for graphical elements that are not available in the ATEX picture environment 2 6 2 Reusing diagrams fmfkeep After saving a pointer with fmfkeep name inside a fmf graph or fmf graph fmfreuse environment the diagram can be reused later by fmfreuse name This works across fmffile environments Here s an example that uses centered parboxes to place diagrams into equa tions The celebrated cancelation of quadratic divergencies in scalar selfenergies in supersymmetric field theories can be written as begin eqnarray parbox 20mm begin fmf graph 20 15 fmfkeep boson fmfleft i fmfright o fmf dashes i v v o end fmfgraph amp propto amp NLambda 2 NN parbox 20mm begin fmf graph 20 15 fmfkeep fermion fmfleft i fmfright o fmf dashes i vi fmf dashes v2 o fmf fermion left tension 3 v1 v2 vi end fmfgraph amp propto amp NLambda 2 NN parbox 20mm fmfreuse boson quad quad parbox 20mm fmfreuse fermion amp propto ln Lambda 2 end eqnarray The result is Saja Loe x A 1 SO x A 2 RUER d
9. 7 which is generated by calling the TEX macro def EulerHeisenberg 1 31 Figure 7 Higher order terms in the Euler Heisenberg lagrangian begin fmf graph 40 25 fmfpen thick fmfsurroundn e 1 begin fmffor n 1 1 1 fmf photon e n i n end fmffor fmf cyclen fermion tension 1 8 i 1 end fmf graph with the arguments 4 6 8 and 10 respectively Similarly we can draw the diagrams from many particle physics in figures 8 and 9 def PPRing 1 begin fmf graph 20 20 fmf surroundn v 1 fmfdotn v 1 fmfcyclen fermion right 0 25 v 1 fmfcyclen fermion left 0 25 v 1 end fmfgraph def PHRing 1 begin fmf graph 20 20 fmf surroundn v 1 fmfdotn v 1 fmfcyclen fermion right 0 25 v 1 fmfrcyclen fermion right 0 25 v 1 end fmfgraph 2 7 Immediate mode In addition to the automatic layout of vertices feynMF features an immediate mode in which feynMF s drawing commands operate directly on METAFONT s 32 fmfi fmfiv fmfipath fmfipair gt 2 Figure 8 Particle particle ring diagrams OD Figure 9 Particle hole ring diagrams pairs and paths You might want to consult The METAFONT Book 4 or the META O T manual 5 for further information on the available path expressions 2 7 1 Arcs Immediate mode s brother of fmf fmfit style opt val H p draws a line of style style on path p Use the vpath functi
10. In all arguments that are METAFONT pairs i e points you can use the variable w and h which are pre defined to the width and the height of the whole diagram respectively E g the center is specified as 5w 5h and the lower right corner as w 0 The center and the four corners of the current subgraph see the fmf subgraph environment on page 29 are available as c nw ne sw and se for north west etc fmf shift dist v1 shifts the position of the vertices v1 by dist from the automatic layout This command is only useful after a fmf freeze of the corresponding vertex fmffixed dist v1 fixes the distance between subsequent vertices in the list ul to dist This command should be used with care because 19Don t be confused by the fmfiv command It is described below see section 2 7 2 and takes the same arguments as the fmfv command We use it here for convenience to place multiple vertices at the same point i e the center 24 fmffixedx fmffixedy it is possible to overconstrain the layout of the graph and the error messages will be obscure for a novice user fmffixedx dzr v1 is identical to fmffixed dzr whatever v1 and fmffixedy dy v1 is identical to fmffixed whatever dy v1 These commands can be used to fix relative positions in one coordinate while allowing movement in the other coordinate 2 5 8 Skeletons The s
11. eae eA ee X 34 2 725 Examples s s i e 5 ta cba 34 2 8 Raw METAFONT 2 2 ee 35 2 8 1 Extending feynMF _ 36 2 9 Common traps trouble shooting and frequently asked questions FAQS xt boyd se ek hb we Mela ed Qh d ys wey ete a ad a 39 29 1 Value is too large 39 2 9 2 Diagrams in the document are never updated 40 2 9 3 Disgrams show up in the wrong spot 40 2 9 4 Spurious labels show up 40 210 Known bugs 0000 aa a ween ho AS ASA ta BO BU a 41 2 10 1 Chaotic manual e 41 2 10 2 Delayed error messages o r r r 41 2 10 3 Multiple tadpoles o o 41 2 10 4 Hard limits 1 Introduction 1 1 Purpose and scope In recent years TEX 1 and ATEX 2 have revolutionized the way we share information in theoretical physics and other areas Not only does TEX provide typographical capabilities which transcend those of commercial wordproces sors substantially TEX documents are also completely portable Since imple mentations are available on essentially all computers in use in the community documents can be shared without the usual restrictions of proprietary data for mats This has enabled us to collaborate on papers with colleagues on the other side of the globe to replace the mailing of hard copy preprints by electronic transmission and to submit these papers electronically to the publisher This p
12. fmf gluon tension 0 v2 v6 fmf gluon tension 0 v3 v5 Which method is more intuitve is largely a matter of taste and at the discretion of the user The crossed version of this diagram is best drawn using the rubout option fmfleft i1 fmfright ol o2 fmf photon i1 v3 fmf quark ol v1i v2 v3 v4 v5 02 fmffreeze fmf gluon v1 v4 fmf gluon rubout v2 v5 If rubout is selected it defaults to 2 but it can be changed to any reasonable value gt 1 The current implementation should work for almost all user defined line styles However it does not work correctly for the predefined double line styles yet Another instructive example is the following imagine you want to draw a typical non resonant contribution to efe 4f The obvious solution doesn t look right fmfleft i1 i2 fmfright ol1 02 03 04 fmf fermion i1 vi i2 fmf boson v1 v2 fmf fermion ol1 v2 v3 04 fmf boson v3 v4 fmf fermion 03 v4 02 Again we should start with a skeleton fmfleft i1 i2 fmfright ol 02 03 04 fmf fermion i1 vi i2 fmf boson vi1 v2 fmf fermion ol1 v2 v3 04 and add the second W later fmfleft i1 i2 fmfright ol 02 03 04 fmf fermion i1 vi i2 fmf boson v1 v2 fmf fermion o1 v2 v3 04 26 fmffreeze fmf boson v3 v4 fmf fermion 03 v4 02 Here s another example that uses stretchable arcs Diagrams of this kind are known as rainbow diagrams If
13. s feynman package 8 is implemented on top of the stan dard TEX picture environment 2 This makes it completely portable no need for a correct METAFONT installation but it requires manual layout and the graphics output is though very useful less than perfect e Jos Vermaseren s axodraw package 9 uses specials to access PostScript primitives for drawing diagrams This approach is inherently not portable the ubiquity of PostScript printers makes this a minor point though but as flexible as the present one Nevertheless it still requires manual layout for all diagrams e Last but not least I have to mention Thomas Leathrum s mfpic 10 which provided the inspiration for moving feynMF s user interface from METAFONT to T X It might not have been unreasonable to design and implement feynMF as a package on top of mfpic but closer inspection shows that feynMF and mfpic are fairly orthogonal mfpic is most useful for handling simple graphical building blocks in formally unconstrained contexts feynMF on the other hand excels in the formal context of Feyn man diagrams or any other labeled graphs for that matter which can be drawn automatically from a specification 1 3 Historical note Parts of this code have a rather long history Some of the drawing primitives started in 1989 as feynman mf a library of METAFONT macros for drawing Feynman diagrams in my thesis The layout had to be specified completely by hand which re
14. the straight line connecting the center of the picture with the vertex v 2 The reference point of the box is chosen such that the contents of the box is on the outside of the vertex with respect to the center of the diagram It is chosen from the four corners and the four midpoints of the sides Therefore the four external particles in the B B mixing diagram on page 21 are labelled simply by fmflabel bar b i1 fmf label d i2 fmflabel bar d o1 fmf label b 02 Here is a more systematical demonstration of the default placement of labels fmf surroundn v 8 fmfdotn v 8 fmflabel v_1 v1 fmflabel v_2 v2 fmflabel v_3 v3 fmflabel v_4 v4 fmflabel v_5 v5 eu fmflabe1l v_6 v6 fmflabel v_7 v7 fmflabel v_8 v8 v2 U8 18Note again that as of version 1 03 it is no longer necessary to escape TEX control se quences in arguments Old files will continue to work because noexpand is temporarily dis abled 23 120 180 120 60 60 fmffreeze fmfforce fmf shift fmffixed And here is a demonstration of the explicit placement of labels fmfivid sh circle d f 1 d si 2thin c fmfiv 1 120 1 a 120 1 d 2w c fmfiv l 60 1 a 60 1 d 2w c fmfiv 1 0 1 a 0 1 d 2w c fmfiv 1 60 1 a 60 1 d 2w c fmfiv 1 120 1 a 120 1 d 2w c fmfiv 1 180 1 a 180 1 d 2w c There is no equivalent to fmf label1 for arcs Here options to the fmf
15. able 1 Available line styles dot_len The supported options are collected in table 21 Note that each of the dot separated components of the options can be abbreviated For example 1 d is equivalent to label dist The result of ambiguous matches is however unde fined 13One particulary useful further option would be smooth allowing for several lines joined smoothly Early experimentation has shown however that the results are not always what one expects and that there is a lot of room for abuse 15 fmfn fmf cyclen fmfrcyclen fmf pen fmfv Explanation draw a tighter gt 1 or more loose lt 1 arc label side force placement of the label on the left or right label dist place label at a distance dist label pos relative position of the label not imple mented yet optional tag for disambiguating arcs width of the line rubout scale factor for crossing out lines doesn t work properly for doubled lines yet foreground color META O T only background background color for doubled lines META O T only Table 2 Available line options Note that because the options are separated by single commata commata inside arguments to options label comes to mind have to be doubled similar to quotes in Fortran Arcs that return to their origin are allowed I will refer to them as tadpoles but some options have slightly different semantics tension is here a inverse scale factor fo
16. and paths and vice versa Novice users with little experience in METAFONT programming should start with vertex mode to get their job done Later immediate mode can be used to create more and more complex diagrams It is possible to create most diagrams that can actually be calculated in vertex mode Immediate mode is most useful for extending line feynMF and for drawing diagrams with fancy decorations A word on portability feynMF is implemented as a ATEX package But it should be straightforward to adapt it to other T X macro packages because BTEX macros have been used for convenience only and can easily be replaced or provided in a compatibility package The IXT X specific environment construct can also easily be replaced by the equivalent construct in another macro package 1 5 Conclusion It goes without saying that feynMF is not perfect There might be cases where using a graphical drawing tool with a mouse can give more pleasing results in less time But in most cases feynMF will give satisfactory results without any fine tuning These will be reproducible and independent from the computer it is running on Which is a partial explanation if not excuse for its slightly incoherent structure IAT RX VERTEX MODE IMMEDIATE MODE Objects fmfforce i f vertices Objects l arcs pairs polygons paths fmfcmd Commands A fmfi fmfv imfiv fmfleft fmfiequ METAFONT Figure 2
17. command have to be used The default placement rules put the label on the outside at the midpoint of a curved arc If the arc is straight one should use the label side option to push the label either to the left or to the right This label dist option is treated analogously to same option for vertices Therefore the four internal particles in the B B mixing diagram on page 21 are labelled simply by adding options to the fmf commands fmf fermion label bar t bar c bar u label side right v1 v3 fmf fermion label t c u label side right v4 v2 fmf photon label W label side left v1 v2 fmf photon label W label side right v3 v4 2 5 7 Manipulating the layout The automatic layout algorithms of feynMF are rather simple therefore it is sometimes necessary to allow for manual intervention from time to time Calculate the positions of the vertices based on the arcs which are defined up to this point Usually this calculation is performed automatically at the end of the fmfgraph environment Calling it explicitely is useful for later adding arcs that should not enter the calculation The layout is chosen to minimize the overall length of all arcs The length of each arc is weighted with the tension option whose default value is 1 See section 2 5 8 for more information on fmffreeze fmfforce pos u1 forces the position pos of the vertices v1 bypassing and overwriting the automatic layout
18. e Oy x nA 3 2 6 3 Grouping fmfgroup Make the enclosed fmfset assignments local to this environment 30 fmfset fmfshrink fmftrace fmfnotrace fmfdisplay fmfstopdisplay fmffor thin thick arrow len imm arrov_ang D curty 1en dash_1en dot_ten zigzag_widt ick width of zig zag lines decor_size 5mm default size of vertex decors dot_size diameter of dots wiggly_len length of one wiggle wiggly_slope inclination of wiggles zigzag_len 2m length of a zig zag period Table 7 Available style parameters 2 6 4 Changing parameters This command can be used to change the parameters in table 7 as follows fmfset parameter value Note that these parameters are not stored in the graph data structure for the individual vertices and arcs Instead the current values at the time of fmfdraw are used 2 6 5 Shrinking Shrink the linewidths and similar parameters in the enclosed section 2 6 6 Debugging Enable and disable tracing of the layout decisions This is not necessarily printed in an intuitive format but can be helpful for debugging Enable online displays fmfstopdisplay will halt METAFONT everytime a graph is complete 2 6 7 Multiple vertices and arcs The environment begin fmffor var from step to body end fmffor executes body multiple times setting var to from from step to An application of this above feynMF feature is shown in figure
19. ectures gi de bean ee ee Hee A 6 15 onchision 2 2 amp ja 2 SA tA ed dud Sob dete tA eA ee 6 2 Usage 8 2 1 BT X package and environments 8 2 2 Auxiliary files tes ord foes hen eee aa Bi ALS g q 9 2 3 Running METAFONT o o e e e e 10 2 4 The feynmf perl SCTipt r r ee s 12 2 5 Vertek ModE bn Era a ees la ea 13 2 5 1 External vertices 14 2 5 2 Arcs and internal vertices o 14 2 5 39 Polygons lt 2 amarante oh q 18 2 54 AGO Dia Bldg a eee venience be h h es 19 2 5 0 Examples a mi a e e ea bbe ped heed eoaega 19 2 5 0 gt Labels a som s sus Pat toe we ee BRE 2 23 2 5 7 Manipulating the layout 24 2 90 37 Skeletons Z x acs 2a a a a eke eee 4 25 25 97 Pulling strings 24 4044 ole a Ge weg 27 2 6 Miscellaneous coommands 00004 29 2 64 Graphsin graphs u ee a a 4 29 2 6 2 Reusing diagrams 30 26 37 1 CPOUPING S Neu stn Q ake ee A T Y U S a Y 30 2 6 4 Changing parameters o 31 2 6 5 Shrinking 4 6056 na s s etna rado o 31 256 6 Debugging z u ke Le da 31 2 6 7 Multiple vertices and arcs o a 31 2 7 Immediate mode e 32 2 15 APCS ro 2 2 Me m Gee Ee ee ct ata ie ELIE Q aes 33 Dike NOPtICOS amp gh keke He E to ee X k eae dee yak S 33 21 3 Declarations ogo BEES eee ee e U a 33 24 Assignments 2 4 ose ak une ee
20. esulting font will not be usable You can look up the correct METAFONT mode in the file modes mf that comes with the METAFONT distri bution Among the more common laser printers are laserjet for HP Laserjets at 300dpi 1jfour for HP Laserjets at 600dpi nexthi for NeXT laser printers at 400dpi etc A non trivial part can be instructing TEX and your favorite dvi driver how to find the generated tfm and gf resp pk files This is highly system depen dent and can be trivial as in the standard UNIX T X installations where no further action is required or almost impossible without system priviledges as under MVS Please consult your local guide or wizards on this point See also section 2 9 2 for common problems with dvi drivers Some recent T X implementations e g web2c with kpathsea version 2 6 or later are able to generate tfm files on the fly Using such implementations run ning XIX twice should suffice and METAFONT will be invoked automagically in the background Note however that the automagically invoked tools might also 12See section 2 9 1 for the typical error message and for additional information on printer modes 11 9 e 4 ge e encapsulated PostScript file fd 2 printer lpr install the fonts corresponding to the Feynman diagrams in a system direc tory where they don t belong Adding the following lines to the maketex site script will prevent this mishap in the teT X distribution for UNIX which is
21. eyond the standard model are likely to need a lot of different line styles The aficionados of majorana neutrinos might find the following two useful fmfcmd style_def majorana expr p cdraw p cfill harrow reverse p 5 cfill harrow p 5 enddef style_def alt_majorana expr p cdraw p cfill tarrow reverse p 55 cfill tarrow p 55 enddef Note the use of the harrow and tarrow functions which return an arrow head on the given fraction of the path with reference points at the head harrow or tail tarrow The arrow function used above is equivalent to marrow p 5 which has the reference point at the center of the ar rowhead Having the three different reference point available is important for supporting arcs of substantially differing lengths A problem of the current implementation is that the endpoints of double lines don t match smoothly at vertices fmfpen thick fmfleftn 1 2 fmfrightn r 2 fmfpolyn shaded z 4 fmf dbl_plain_arrow 12 z3 fmf dbl_plain_arrow 11 z4 fmf dbl_plain_arrow z1 r1i fmf dbl_plain_arrow z2 r2 One way around is to add dots of the right size at the vertices after the arcs have been drawn fmfpen thick fmfleftn 1 2 fmfrightn r 2 fmfpolyn shaded z 4 fmf dbl_plain_arrow 12 z3 fmf dbl_plain_arrow 11 z4 fmf dbl_plain_arrow z1 r1 fmf dbl_plain_arrow z2 r2 fmffreeze fmfdraw fmfvn d siz 2thick d sh circle z 4 37 Wit
22. feynMF Drawing Feynman Diagrams with TFX and METAFONT Thorsten Oh Technische Hochschule Darmstadt SchloBgartenstr 9 D 64289 Darmstadt Germany December 30 1997 Abstract feynMF is a TX package for easy drawing of professional quality Feynman diagrams with METAFONT or META O T feynMF lays out most diagrams satisfactorily from the structure of the graph without any need for manual intervention Nevertheless all the power of METAFONT or META O T is available for obscure cases Copying feynMF is free software you can redistribute it 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 war ranty 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 This is feynmf dtx version v1 08 revision 1 30 date 1996 12 02 Te mail Thorsten Oh1CPhysik TH Darmstadt de Contents 1 Introduction 4 1 1 Purpose and scope en sei tE d 2 00002 eee nee 4 1 2 Relation to similar packages o 5 132 Historical note ada z Q eee Ee a ROO he ew 6 TA Archit
23. file METAFONT file end fmffile 8 As given this applies to IAT X But the installation file feynmf209 ins allows to generate special versions feynmf209 sty and feynmp209 sty which are compatible with the obsolete IATRX version 2 09 These files are to be used as documentstyle options documentstyle feynmf209 or documentstyle feynmp209 If you cannot use epsf sty for including PostScript files you can either hack feynmp209 sty or upgrade to IAT X2e Please keep in mind that feynMF has been developed for IATRX 2e and the IAT X 2 09 compatibility version will always be a retrofitted hack I will accept bug reports for the 2 09 version but I urge everybody to move to IAT X2e which is the one and only supported IATRX right now 9feynMF understands an option pre 1 03 that is of interest for veteran users usepackage pre 1 03 feynmf or usepackage pre 1 03 feynmp The purpose of this option is to enable processing of old input files pre v1 02 that use noexpand in labels Since the method for processing these files can clash in rare cases with TAT X 2 s font loading procedure it has been disabled by default fmfgraph fmfgraph fmfframe Upto 255 graphs can be placed into one METAFONT file Currently feynMF does not check that the 255 graph limit per file is not overrun Note that the filename for the METAFONT file given in the argument of the fmffile environment must no
24. fmf fermion 11 G1 fmf fermion 12 G2 fmf fermion K1 ri fmf fermion K2 r2 fmf fermion left 5 tension 5 G3 K3 fmf fermion right 5 tension 5 G4 K4 To conclude this first picture show here s a self energy in scalar 4 theory showing the simplicity of the tadpole feature fmfpen thick fmfleft i fmfright o fmf plain i v v o fmfdot v Scalar theory needs a little manual intervention to force the second on the opposite side fmfpen thick fmfleft i fmfright o fmf plain i v v o fmf plain left 90 v v fmfdot v 22 V4 U5 O U6 fmflabel 2 5 6 Labels Let us now come back to the examples on page 21 and discuss how to add the labels The macro fmflabel label v is equivalent to fmfv label label v and adds the label label to the vertex v In the current implementation there can be only a single label for each vertex Thus earlier calls to fmflabel for the same vertex will be overwritten label will be placed with the put command of the ATEX picture environment Note that the fmfgraph environment must be used to use labels they will silently disappear in fmfgraph fmflabel gives the user no control on the placement of the the label use the fmfv macro for a more fine grained control The label is placed using the following algorithm 1 The reference point of the box containing label is placed at the distance 3thick on the continuation of
25. hout the fmffreeze fmfdraw the arcs would know about the dots and would be shortened A more elegant solution is to define line styles with dots at the head fmfcmd vardef endpoint_dot expr p save oldpen pen oldpen oldpen currentpen pickup oldpen scaled 3 cdrawdot p pickup oldpen enddef fmfcmd style_def hd_double expr p draw_double p endpoint_dot point infinity of p enddef fmfcmd style_def hd_dbl_plain_arrow expr p draw_hd_double p shrink 1 5 cfill arrow p endshrink enddef tail fmfcmd style_def td_double expr p draw_double p endpoint_dot point 0 of p enddef fmfcmd style_def td_dbl_plain_arrow expr p draw_td_double p shrink 1 5 cfill arrow p endshrink enddef or both fmfcmd style_def htd_double expr p draw_double p endpoint_dot point 0 of p endpoint_dot point infinity of p enddef fmfcmd style_def htd_dbl_plain_arrow expr p draw_htd_double p shrink 1 5 cfill arrow p endshrink enddef 38 2 9 2 9 1 which can be used as follows to give an equivalent result fmfpen thick fmfleftn 1 2 fmfrightn r 2 fmfpolyn shaded z 4 fmf hd_dbl_plain_arrow 12 z3 fmf hd_dbl_plain_arrow 11 z4 fmf td_dbl_plain_arrow z1 r1 fmf td_dbl_plain_arrow z2 r2 Common traps trouble shooting and frequently asked questions FAQs Value is too large The following will be one of the most frequent errors Value
26. iles is a possible alternative for the latter but discouraged because these are prone to be erased acci dentally 2 3 Running METAFONT Processing your document with IXT X will generate one or more METAFONT files which you will have to process with METAFONT On UNIX systems METAFONT is invoked as mf mode METAFONT mode input METAFONT file from the shell Here METAFONT file is to be replaced by the name of the input file which is determined by the argument to the fmffile environment see section 2 1 and METAFONT mode is the proper METAFONT mode for your particular printer Please consult your local guide or local wizards about how to run METAFONT on other systems 11UNIX was a trademark of UNIX Systems Laboratory but is rumored to have been donored to X Open 10 foo tex fd mp do not edit input feynmp usepackage feynmp beginchar 1 100 1pt 50 1pt 0 dane vinit begin fmffile fd ek begin fmf char 100 50 vfreeze er vdraw end fmf char endchar end fmffile o o La IATpX labels fd t2 latex foo encapsulated PostScript file device independent output file foo dvi Figure 4 Interdependency of files in a feynMF application using META O T The arrows show which files are updated in the two XTX passes the META O T pass and the final dvi translation step Note that METAFONT mode must be specified otherwise METAFONT will fail or the r
27. ing the following features e Simplicity and conciseness for common diagrams E g the scattering dia gram in figure 1 can be specified completely in five lines of ATEX 1TEX is a trademark of the American Mathematical Society 2TAT X might be a trademark of Addison Wesley Publishing Company 3PostScript is a trademark of Adobe Systems Inc 4METAFONT is a trademark of Addison Wesley Publishing Company 5 John Hobby s META O Tis a modified version of METAFONT which generates encap sulated PostScript output META O T can be build trivially on top of the web2c version of TeX and METAFONT for UNIX Ports to other systems should be simple SfeynMF is not anybody s trademark Figure 1 Simple scattering diagram begin fmfgraph 40 30 fmfpen thick fmfleft i1 i2 fmfright o1 o2 fmf fermion il v1 o1 fmf fermion i2 v2 02 fmf photon label q v1 v2 fmfdot v1 v2 end fmfgraph e Expressiveness for complicated diagrams see the examples below e Extensibility e g see section 2 8 1 e Arbitrary T X labels This point is more important than it may seem at first glance because most graphical layout systems lack the power to produce complicated mathematical expressions Having matching fonts in text equations and diagrams is also an important esthetical feature 1 2 Relation to similar packages Before we start a couple of words about some complementary packages on the market are in order e Michael Levine
28. ingle most powerful concept for adjusting feynMF s layout decisions is the use of skeletons By issuing a fmffreeze after specifying a subgraph skeleton we can fix the location of the skeleton as if the other arcs were not there We can then successively add more subgraphs whose layout will be chosen with the skeleton remaining fixed Similar effects can be achieved by giving some arcs a vanishing tension Consider the following example suppose we want to draw a ladder dia gram contributing to the quark form factor Simply linking in the gluons does not produce a satisfactory result fmfleft i1 fmfright ol o2 fmf photon i1 v4 fmf quark ol v1 v2 v3 v4 v5 v6 v7 02 fmf gluon v1 v7 fmf gluon v2 v6 fmf gluon v3 v5 What went wrong Obviously the gluons are bonding the quark lines too strongly The fix is simple just create a skeleton excluding the gluons fmfleft ii fmfright o1 o2 fmf photon i1 v4 fmf quark ol v1 v2 v3 v4 v5 v6 v7 02 and add the gluons later fmfleft i1 fmfright ol o2 fmf photon i1 v4 fmf quark ol v1 v2 v3 v4 v5 v6 v7 02 fmffreeze fmf gluon v1 v7 fmf gluon v2 v6 fmf gluon v3 v5 Alternatively we can use a vanishing tension which will effectively ex clude the gluons from the layout decisions fmfleft ii fmfright o1 o2 fmf photon i1 v4 25 XX A fmf quark ol v1 v2 v3 v4 v5 v6 v7 02 fmf gluon tension 0 v1 v7
29. is too large 4097 lt recently read gt beginchar gt rdp EXPR3 w hround charwd hppp h 1 685 char 64 40 2 84526pt 25 2 84526pt 0 It can have one of two causes 2214 METAFONT was invoked without specifying the mode This case is easily fixed by looking up the correct METAFONT mode in the file modes mf that comes with the METAFONT distribution This mode must be specified on the command line as mode laserjet for HP Laserjets at 300dpi as mode 1jfour for HP Laserjets at 600dpi as mode nexthi for NeXT laser printers at 400dpi etc just to name three of the more common laser printers in the physics community The diagrams are too large for the printer at hand This case is actually not very likely because even at 1200dpi the diagrams can be as large as 86mm For the popular laserprinter resolution of 300dpi even 346mm are possible Last time I checked the diagrams for this manual could be generated for a Linotype Linotronic 300 at 2540dpi mode linosuper but failed in the standard proof mode at 2601 72dpi In fact in the current modes mf file the Chelgraph IBX at 9600dpi and the Alphatype CRS at 5333 1 3dpi are the only typesetters that can not be used to typeset this manual would be trivial to shrink the diagrams by 1 to make them work in proof mode acci dentally the largest diagram is 40mm wide while 4096 2601 72dpi corresponds to 39 99mm However 1 prefer METAFONT t
30. lines fmfleft i1 i2 fmflabel bar b i1 fmflabe1 d i2 fmfright o1 o2 fmflabel bar d o1 fmf labe1 b o2 fmf fermion il vi fmf fermion tension 5 label bar t bar c bar u 1 side right v1 v3 fmf fermion v3 o1 fmf fermion o2 v4 fmf fermion tension 5 label t c u 1 side right v4 v2 fmf fermion v2 i2 fmf photon tension 2 label W 1 side left v1 v2 fmf photon tension 2 label W 1 side right v3 v4 fmfdotn v 4 This result is much nicer than the original 2 6 Miscellaneous commands 2 6 1 Graphs in graphs fmfsubgraph The fmfsubgraph environment contains a subgraph for which the galleries will be placed inside the rectangle of width width and height height with lower left corner at x y begin fmf subgraph x y width height body end fmf subgraph The center and four corners are available as c nw ne sw and se for north west etc Because of the restrictions on the overall size of the diagram in META FONT this environment will mainly be useful for preparing transparencies with META O T Here is a not very serious application of this feature def subgraphsample 1 fmfleftn 1i 2 fmfrightn 10 2 fmf plain 1i1 1v1 fmf plain 101 1v2 fmf plain 102 1v3 fmf plain 1i2 1v4 fmfcyclen plain tension 0 3 1v 4 begin fmf graph 40 30 subgraphsamplef a
31. me after the corresponding source line has been read Since TEX doesn t allow to access the current source line number there is no way to store this information along with the other information on the graph I can only hope to have enough sanity checks in place some day that error messages from META FONT won t occur 2 10 3 Multiple tadpoles Currently feynMF will not layout multiple tadpoles at a single vertex auto matically This could be fixed in principle but these fixes would cause other problems which are more inconvenient than having to lay out tadpoles manually 2 10 4 Hard limits Currently the most severe limitation lies in the size of the generated pictures The largest number METAFONT can represent internally is 4095 99998 and this is also the largest value any coordinate measured in pixels can assume At the most popular laserprinter resolution of 300 dots per inch dpi this corre sponds to a horizontal and vertical extension of about 346mm which is plenty and we re more likely to hit the internal limits on the complexity of a picture However at the proof mode resolution of 2601 72dpi this is reduced to slightly less than 40mm and we re running the risk of arithmetic overflow in internal calculations much earlier There are two potential solutions of different scope and complexity e Since John Hobby s META O T is now available without a non disclosure agreement from AT amp T one solution is to replace METAFONT b
32. most frequently used macro in feynMF applications fmf style opt val H v1 v2 connects the vertices v1 v2 with a line of style style using a set of options opt with optional value val If a vertex is not known yet it is added to the diagram Note that the actual drawing is not done immediately because the positions can only be calculated when all vertices are known The currently available styles are collected in table 1 Most names should be self explanatory and are not discussed further The dashes dots phantom and plain styles can optionally be decorated with an arrow as shown above All styles including curly wiggly and zigzag can be doubled But arrows are not available for the latter three because esthetically pleasing results can not be expected The phantom style is special because it only enters the vertices and does not cause a line to be drawn This is extremely useful for advanced layout features as explained below If you need a line styles that is not listed in table 1 see section 2 8 1 for how to define your own line styles 14 229990999 een QM erry ron asnos E ema dashes_arrow W us al dash_len dbl_dashes scalar dash_len dash_len dbl_dashes_arrow dots dot_len dots_arrow usu s ali dot len o oooooooooooooooo dbl_dots dot_len dbl_dots_arrow o o o o o o o ieo o o o o o ma l nt pina tert electron guar ana l e PP ena W T
33. n feynMF and increase its memory requirements It is therefore better to allow users to define their own styles This is done with the METAFONT macro style_def which defines a macro that will be called to do the drawing and registers this macro with feynMF so that it can be used in the first argument to fmf The macro takes one argument of type path and is responsible for drawing the arc on this path If META O T s color functionality is to be used the color aware functions cdraw cfill cfilldraw ccutdraw and cdrawdot should be used instead of draw etc After the following style_def a new style crossed will be available fmfcmd vardef cross_bar expr p len ang len 2 0 len 2 0 rotated ang angle direction length p 2 of p shifted point length p 2 of p enddef style_def crossed expr p cdraw p ccutdraw cross_bar p 5mm 45 ccutdraw cross_bar p 5mm 45 enddef it can be used just like any other style fmfleft i fmfright o fmf plain i v o fmf crossed v v fmfdot v And here is an esthetically questionable attempt at wiggly lines with arrows fmf cmd style_def wiggly_arrow expr p cdraw wiggly p shrink 2 cfill arrow p endshrink enddef 36 Note how the shrink macro which is the METAFONT equivalent of the fmfshrink environment is used to temporarily double the dimensions of the arrowhead which is constructed by the arrow macro In particular theorists b
34. o 5w 1h fmfiequ xm 0 1h fmfiequ xp w 1h fmfiequ ym 5w 0 fmfiequfyp 5w h fmfiv l x 1 a 135 1 d 2mm xp fmfiv 1l y x 2 1 a 135 1 d 2mm yp fmfpen thin fmfcmd draw xm xp draw ym yp fmfpen thick fmfiequ xs xpart xp o fmfiequ fys ypart yp o fmfcmd draw o xs ys for n 9 upto 10 o xs n 10 ys n 10 2 endfor end fmf graph Finally for the curious here is how to draw the circular gluons in figure 10 fmfi gluon fullcircle scaled 5w shifted 5w 5h fmfifgluon reverse fullcircle scaled 5w shifted 5w 5h 2 8 Raw METAFONT Some more advanced features of feynMF are more conveniently accessed through raw METAFONT commands This can either be achieved by preparing a METAFONT input file or by using fmfcmd extensively The latter apprach is usally more convenient fmfcmd The fmfcmd macro writes its argument into the METAFONT input file generated by feynMF While some experience in using METAFONT doesn t hurt here this 35 approach can simplify the production of complex diagrams considerably Note that no semicolon is appended the user has to provide it explicitely 2 8 1 Extending feynMF A prominent example for using raw METAFONT is provided by the option to add new styles for arcs There is of course always one more style that must be added to the default list But increasing this list without bounds will eventually slow dow
35. o give an error message if the user forgot to specify the mode It is much more obscure when METAFONT works without errors but the dvi driver fails to find the generated bitmap file 231f someone wants to use feynMF with one of these high end typesetters I would be glad to try to help them out with kludges 39 2 9 2 Diagrams in the document are never updated There are two known reasons why diagrams may not be updated the document after the source file has been changed e Some dvi file previewers e g xdvi 1 under UNIX do not reread font information if the tfm or pk files have changed even though they reread the dvi file ifit has changed Therefore you have to restart such previewers if you have made changes in diagrams to see these changes on the screen e Some dvi drivers e g dvips 1 under UNIX do not work with the gf files directly but convert them with an external program to pk format first On later occasions the dvi driver will then use the pk file which is out of date with respect to the sources and the gf file The only known fix is to delete the pk fils before running the dvi driver 2 9 3 Disgrams show up in the wrong spot If you are using feynMF with I4TX s Nincludeonly feature you should watch out for the following situation includeonly bar1 bar3 begin fmffile foograph include bar1 include bar2 include bar3 end fmffile where bar1 tex defines graph 1 bar2 tex graph 2 and bar3 tex define
36. omm 90 1995 340 Thorsten Ohl CERN Computer Newsletter 220 1995 22 221 1995 46 222 1996 24 Micheal J S Levine Comp Phys Comm 58 1990 181 Jos Vermaseren Comp Phys Comm 83 1994 45 axodraw is available from CTAN cf p 42 in the graphics directory Thomas E Leathrum mfpic available from CTAN cf p 42 in the graphics directory Tim Stelzer and Bill Long Comp Phys Comm 81 1994 357 Wolfgang Kilian Doctoral Thesis Technical University Darmstadt 1994 Alan Jeffrey Lists in TRX s Mouth TUGboat 199 Distribution feynMF is available by anonymous internet ftp from any of the Comprehensive TEX Archive Network CTAN hosts ftp shsu edu ftp tex ac uk ttp dante de in the directory macros latex contrib supported feynmf It is also available from the host crunch ikp physik th darmstadt de in the directory 42 pub oh1 feynmf Unsupported snapshots of my work in progress are provided as pub oh1 feynmf versions feynmf current tar gz There are two mailing lists feynmf announce crunch ikp physik th darmstadt de feynmf bugs crunch ikp physik th darmstadt de open for subscription The former should carry only important announcements of new versions in particular To subscribe send mail to the electronic mailing list manager majordomo crunch ikp physik th darmstadt de and not to the lists itself The following commands on a line in the body of the mail not in the subject a
37. on in p af ter fmffreeze to access the METAFONT path connecting two vertices vpath tag from to The optional numeric tag can be used together with a matching tag option to fmf to disambiguate arcs that connect the same vertices You have to prepend each name of a vertex in vpath s arguments with two underscores e g vi becomes __v1 This is necessary for avoiding name clashes with some reserved words in METAFONT sparks in DEK s terminology 2 7 2 Vertices Immediate mode s brother of fmfv fmfivt shape val opt val H v draws a vertex at position v Note that here v isa METAFONT pair and not a feynMF vertex name The former s equivalent of the latter can be accessed after fmffreeze with the vloc function vloc verter Again you have to prepend the name of the vertex in vloc s argument with two underscores e g vi becomes __v1 2 7 3 Declarations The argument s are declared METAFONT paths The argument s are declared METAFONT pairs coordinates 33 fmfiequ fmfiset 2 7 4 Assignments Establish equality for the two arguments i e fmfiequ lval rval translates to lval rval Assign the second argument to the first i e fmfiset lval rval translates to lval rval Specifying equality of two variables is a very different operation from assignment in METAFONT See The METAFONT Book 4 for details on METAFONT s builtin equation solver 2 7 5 E
38. ortability comes with a price though TeX and Tex do not address the issue of graphical information apart from the rudimentary but very useful capabilities of the ATEX picture environment and similar packages 3 As an de facto standard for the inclusion of more complex graphics has emerged the inclusion of PostScript files The complete document can then be printed on any PostScript device Still there are areas where complementary approaches seem worth pursuing In particular this is the case if the graphical information is highly formalized like the case at hand Feynman diagrams are specified by their topology and the type of particles connecting the vertices Thus a given diagram can be reproduced from a very concise specification if the software is able to choose a reasonable layout semi automatically METAFONT 4 and META O T 5 appear to be the perfect tool for such a purpose since 1 METAFONT is part of any reasonable TeX installation thus available to all potential users 2 both have very powerful graphics primitivs which allow high quality out put and 3 both have builtin linear algebra which allows us to choose a layout auto matically Still providing at least the basic interface in ATX macros seems appropriate for boosting the acceptance among the less technically oriented parts of the audience Thus feynMF 6 7 was conceived feynMF is unique among packages for drawing Feynman diagrams in combin
39. quired a long edit process preview cycle and made feynman mf awkward to use Nevertheless it suited my and other s neeeds and survived for five years without major modifications Early in 1994 I became aware of Thomas Leathrum s mfpic 10 This inspired me to shift the user interface from METAFONT to BT X because this allows a smoother blending of the IATEX picture environment with feynMF for the purpose of labeling the graphs While doing this and after having been taught by Tim Stelzer s and Bill Long s MADGRAPH 11 that simply minimizing the length of the graph gives much better results than I had anticipated I added the graph manipulation and layout code 1 4 Architecture Even though there has never been a proper design phase in the development of feynMF a certain structure has emerged which is depicted in figure 2 A user who is aware of this architecture should be able to use feynMF more effectively The most crucial aspect of the architecture is the existence of two distinct modes with different fundamental datatypes e vertex mode which deals with graphs as structures consisting of vertices and arcs and almost never deals with their physical locations e immediate mode which deals with METAFONT paths and pairs i e co ordinates and allows complete control over the physical locations It is of course possible to mix these modes in advanced applications Commands are provided to translate vertices and arcs to pairs
40. r META O T only Table 3 Available vertex options nism as above is in effect The available shapes are listed in various filling styles in table 415 The tilings gray10 gray25 gray75 and gray90 are available in ad dition to gray50 Customized tilings can be created with the METAFONT func tion tile_from_string It should be noted however that tilings are gobbling up memory at high speed and should be used with discretion The halftones can be accessed by giving any number from 2 to 99 which will denote the per centage of saturation 30 and 70 here Again commata inside arguments to options have to be doubled Draw a blob of the specified diameter at the vertices Incidentally fmfblob diameter v1 is equivalent to fmfv decor shape circle decor filled shaded decor size diameter v1 Draw a dot at the vertices given as arguments fmfdot v1 is equivalent to fmfv decor shape circle decor filled full decor size 2thick v1 The macro fmfvn is similar to fmfv but fmfvn opt val opt val JH wIH n places the vertices v 1 v n The macros fmfdotn and fmfblobnare similar to the fmfdot and fmfblob but fmfdotn v n places the vertices v 1 v n Analogously for fmfblobn 151f the variable feymfwizard is true e g after calling the fmfwizard macro it is also possible to specify any METAFONT expression that evaluates to a path Nat
41. r the tadpole whose default size is 2 3 of the average distance the neighboring vertices If left or right are specified they give the direction in degrees of the preferred gap into which the tadpole is placed By default the largest gap is chosen for all tapoles at a given vertex which will therefore overlap This is neither a bug nor a feature but a limitation The macro fmfn is similar to fmf but fmfn style opt val H v H m connects the vertices v 1 v n The macro fmfcyclen style v n cyclically connects the vertices v 1 v n fmfrcyclen operates in reverse order Pick up a pen of the specified size fmfpen weight is used for changing the weight i e thickness of the lines Predefined sizes are thin and thick Declare vertices with options fmtv opt val opt val t v1 This is used for adding labels to a vertex and for specifying other decoration Supported options are collected in table 3 Here the same abbreviation mecha 14Note that as of version 1 03 it is no longer necessary to escape TFX control sequences in arguments Old files will continue to work because noexpand is temporarily disabled 16 fmfblob fmfdot fmfvn fmfdotn fmfblobn label angle force placement of the label at the given ene ithe sete EE decoration filled fill shade or hatch decoration rotate decoration foreground color META O T only background colo
42. re useful subscribe feynmf announce unsubscribe feynmf announce help Index Numbers written in italic refer to the page where the corresponding entry is described the ones underlined to the code line of the definition the rest to the code lines where the entry is used T notfm 13 dots dots 17 fmfblobn subitem fmfblobn usage 17 C clean 13 fmfbottom subitem fmfbottom usage 14 force 13 environments fmffile fmfbottomn subitem fmfbottomn usage 14 h help 12 i 8 fmfcmd subitem fmfcmd usage 35 m mode mode environments fmf for 31 fmfcurved subitem fmfcurved usage 14 mode 13 environments fmfgraph fmfeyclen subitem fmfcyclen usage 16 D TMOEKEC 13 9 i fmfdisplay subitem fmfdisplay usage 31 gt s PO fmfdot subitem Vfmfdot usage 17 Saa mAAR tfm 1 fmfdotn Nsubitem fmfdotn usage 17 V version 12 environments fmfgroup 90 fmffile fmffile en arcs arcs 14 16 33 environments fmf shrink vironment 91 fmffixed subitem fmffixed usage 24 blobs blob 1 edx i obs blobs 7 environments fnfsubgraph fmffixedx subitem fmffixedx usage 25 99 fmffixedy subitem fmffixedy usage 25 color color 19 fmffor fmff crossed ares erossed extensions extensions 36 Mor imitor en ares 36 external ver vironment 31 fives eternal fmfforce subitem fmfforcet usage 24 defining new ver
43. s graph 3 If you now proceeded to add graphs to bar1 tex you will notice that a second graph is accepted but instead of the new third graph the old graph 3 appears What happens is that IATFX stores the value of the counter for fmf graphs in each aux file so that because bar2 tex is not processed this counter is always reset to 3 at the beginning of bar3 tex Even though this situation appears to be contrived it actually occured in real life applications and the resulting error is very confusing The only fix for this problem would be to use a private counter behind ATEX s back Unfortunately it appears that this will violate the principle of minimal surprise even more It is therefore usually a good idea to reprocess the complete document when the number of graphs has changed in an included file The other solution is to have a separate fmfgraph environment for each included file 2 9 4 Spurious labels show up If spurious labels show up in your diagrams this is most likely caused by old label files e g foo t n still lying around Just delete these files and rerun TEX and METAFONT or META O T respectively 40 2 10 Known bugs 2 10 1 Chaotic manual This is being worked on It should probably be rewritten from scratch but I don t have enough time at the moment this is a spare time activity 2 10 2 Delayed error messages This can t be fixed The problem is that errors can manifest themselves only a long ti
44. t Don t echo the commands being executed n noexec Don t execute LaTeX or Metafont c clean Offer to delete font files that have accidentally been placed in a system di rectory by the MakeTeXTFM and MakeTeXPK scripts these scripts are run by tex and latex in the background This option has only been tested with recent versions of UNIX TeX f force Don t ask any questions T notfm Don t try to prepare fake tfm files for the first run t tfm tfm Don t try guess the names of the tfm files to fake for the first run and use the given name s instead This option can be useful if our incomplete parsing of the LaTeX input files fails m mode mode mode Select the METAFONT mode mode The default is guessed or localfont if the guess fails file Main LaTeX input files file Other LaTeX input files that are included by the main file AUTHOR Thorsten Ohl lt Thorsten Ohl Physik TH Darmstadt de gt BUGS The preparation of tfm files is not foolproof yet because we can parse TeX files only superficially This script has only been tested for recent teTeX distributions of UNIX TeX though it will probably work with other versions of UNIX TeX The author will be grateful for portability suggestions even concerning Borg operating systems for the benefit of those users that are forced to live with DOS or Windows 2 5 Vertex mode These basic features of feynMF are or rather should be
45. t be identical to the EXTRX source file name because the METAFONT log would be overwritten and TFX can no longer access the information in this log file It should be obvious that any umber of diagrams can be generated by using more than one fmffile environment with different filenames The fmfgraph environment contains the description of a single Feynman dia gram which will be placed a the location of the environment Arguments are the width and the height of the diagram in units of unitlength begin fmf graph width height end fmf graph This environment does not support labels use fmfgraph if your diagrams contains labels Same as fmfgraph but enclosed in a picture environment of the same size and supporting TEX labels begin fmf graph width height end fmf graph Allows to allocate additional space around a fmfgraph since the labels or the diagram itself might overshoot fmf frame left top right bottom box puts an invisible frame of the given dimensions measured in unitlength around box 2 2 Auxiliary files feynMF needs to share information between METAFONT and IXT X For this task several auxiliary files are needed The flow of information depicted in figures 3 and 4 looks much more complicated than it is The important feature is that there a two sets of files which can be used to distribute a document 1 Iff the recipient has a working METAFONT installation
46. t shown here they are discussed in section 2 5 6 Let us start the diagram and pick up a thick pen begin fmfgraph 40 25 fmfpen thick 19 Table 6 Some of the available polygon shapes Note that pull 1 0 is identical to pull for straight lines but very different for smooth lines The incoming and outcoming vertices are placed on the left and right hand side respectively fmfleft i1 i2 fmfright ol1 o2 Now we tell feynMF how the arcs are connected fmf fermion il vi v3 o1 fmf fermion 02 v4 v2 i2 fmf photon v1 v2 fmf photon v3 v4 b d Finally we tell feynMF to draw dots at the vertices and we re done fmfdotn v 4 end fmf graph 20 With a little effort the layout of this diagram can actually be improved by enlarging the inner box see page 29 below Here is the resonant s channel contribution to ete 4f From now on we do no longer display the begin fmf graph 40 25 fmfpen thick end fmf graph environment surrounding all pictures fmfleftn i 2 fmfrightn o 4 fmf fermion i1 vi i2 fmf photon v1 v2 fmfblob 15w v2 fmf photon v2 v3 fmf fermion ol1 v3 02 fmf photon v2 v4 Vu fmf fermion 04 v4 03 Ol e_ a And the resonant t channel contribution fmfleftn i 2 e c fmfrightn o 4 fmf fermion il vi v2 i2 fmf photon v1 v3 fmf fermion ol1 v3 02 fmf photon v2 v4 Vu fmf fermion 04
47. tices 14 fmfframe subitem fmfframe usage 9 styles defining fmffreeze subitem fmffreeze usage 24 new styles 36 file 13 fmfgraph fmfgraph displays on file si 13 environment 9 line displays fmf subitem fmf frifragh hf graph online 31 fmfblob subitem fmfblobfenvimage tT 9 43 fmfgroup fmf group fmfshift subitem fmiknef tisphywsagai4 environment 30 fmfshrink fmfshrink displays 31 fmfi subitem fmfit usa e 38inment 31 OPTIONS 12 fmfiequ subitem fithifeqapdishhyaze 34 subitem fmfstopdisplay usage 31 fmfipair subitem fimigaaiehiAusagedBBHem phfaiiaivadshitamateage 14 fmfipath subitem fmifspbehaph viasiesitesjaph 31 fmfiset subitem fmfiset eNubemeteng 29 polygons polygons 18 fmfiv subitem fmf m sumesugbt33 subitem lfmfsurround usage 14 fmfkeep Asubitem fipkeepountusage 3 ubitemspaigmfsurrougdghindusage 14 fmflabel Asubitem s fitaper bsubiteg fmftop nusagagagt fmfleft Asubitem f mfV GPDA usagepbitem fmftopnterhesageddd 36 fmfleftn Asubitem rheferese Musica Eabiera sas maspiBl 29 fmfn subitem Vfmfrf mfwusagek 8pitem Vfmfv usage 16 fmfnotrace subitem NP tracafUbitea okt sintunipousegaphlds 22 fmfpen subitem fmfpent usage 16 tracing tracing 31 fmfpoly NAsubitem ffi ie ids Bales ay 5 i fmfpolyn subitem V mfpglyn usage 18 vertices exter fmfreyclen subitem
48. urally this has to used with great care because strange errors can be triggered by typos 16META O T will give true halftones if your printer supports them while METAFONT tries to mimic them The dithering algorithm of the latter will be improved in the future 17The old numeric arguments in the range 1 1 continue to work but are considered obsolete 17 square CIE EELE pentagon hexagon ae Table 4 Available vertex shapes and fill styles 2 5 3 Polygons Complex vertices with arcs attached at the corners can be contructed with polygons which share some characteristics with arcs and vertices fmfpoly The macro fmfpoly style opt val v1 v2 places the vertices v1 v2 on the corners of a regular polygon The orientation of the polygon is fixed to be mathematically positive i e counter clockwise Note that this can have strange results if the orientation is opposite to the orientation of the vertices the corners are connected to The available options are collected in table 5 The effects of some options are depicted in table 6 Note that is is technically impossible to fix the size of a polygon The size can be controlled by specifying a tension for the edges which acts like the tension of normal arcs fmfpolyn The macro fmfpolyn style v 4 n is similar to fmfpoly but connects fmfrpolyn the vertices v 1 v n fmfrpolyn operates in reverse order 18
49. v4 03 Two point loop diagrams pose another set of problems We must have a way of specifying that one or more of the lines connecting the two vertices are not connected by a straight line The options left right and straight offer the possibility to connect two vertices by a semicircle detour either on the left or on the right Since by default all lines con tribute to the tension between two vertices the tension option allows us to reduce this tension The next examples shows both options in action The lower fermion line is given an tension of 1 3 to make is symmetrical with the upper line with consists of three parts The loop photon is using a detour on the right and does not contribute any tension fmfleft i1 i2 fmfright o1 fmf fermion tension 1 3 il1 vi fmf plain v1 v2 fmf fermion v2 v3 fmf photon right tension 0 v2 v3 21 fmf plain v3 i2 fmf photon v1 01 The optional argument to left and right can be used to deform the corresponding contour as in the following example The default value of left and right is 1 fmfleft i fmfright o fmf plain i vi fmf plain v2 o fmf dots left 5 tension 0 3 v1 v2 vi fmffreeze fmf plain left v1 v2 v1 fmf dashes left 1 5 vi v2 vi Polygons are particulary useful for depicting non perturbative contribu tions fmfpen thick fmfleftn 1 2 fmfrightn r 2 fmfrpolyn shaded label Gamma G 4 fmfpolyn empty label k K 4
50. xamples Here is a non trivial example of immediate mode which shows some useful tricks The non trivial aspect of the diagram in question is that it has lines broken in two denoting particles coupling to a condensate We start the diagram with a skeleton the phantom lines are shown as thin lines for clarity fmfleft i fmfright o fmf dots i vi fmf dots v2 o fmf phantom left tension 0 2 tag 1 v1 v2 ces fmf phantom left tension 0 2 tag 2 v2 v1 fmfdot vi v2 fmfposition Add the fermions to the skeleton fmfipath p fmfiset p1 vpathi __v1 __v2 fmfiset p2 vpath2 __v2 __v1 fmfi fermion subpath 0 length p1 3 of p1 aed fmfi fermion subpath 2length p1 3 length p1 of p1 fmfi fermion subpath 0 length p2 3 of p2 fmfi fermion subpath 2length p2 3 length p2 of p2 Add condensates and a gluon def cond 1 2 fmfiv d sh cross d ang 1 d siz 5thick 2 cond 30 point length p1 3 of p1 cond 30 point 2length p1 3 of pi cond 30 point length p2 3 of p2 cond 30 point 2length p2 3 of p2 fmfi gluon point length p1 10 of p1 point 1ilength p1 12 of pi def vert 1 fmfiv d sh circle d f 1 d siz 2thick 1 vert point length p1 12 of pi vert point 11length p1 12 of pi 34 Figure 10 Circular gluons Here s an interesting abuse of feynMF see the next section for fmfcmd begin fmfgraph 40 40 fmfipair o xm xp ym yp fmfiequ f
51. y META O T which doesn t suffer from the size limitations This comes with a small price paid in reduced portability of the generated output but as already stated above in the case of axodraw the ubiquity of PostScript printers and the free GhostScript interpreter makes this a minor point e The more ambitious solutions would be virtual graphs i e graphs which are larger than the current limit enforced by numeric overflow at higher resolutions This could be implemented by calculating the layout of a miniature graph and afterwards distributing the full graph among several METAFONT characters Acknowledgements I am most grateful to Wolfgang Kilian who pushed feynMF s predecessor feynman mf to its limits 12 Discussions with him triggered a lot of good 41 ideas Thanks also to my students and the people on The Net for suggestions portability fixes and for volunteering as guinea pigs References 1 2 10 11 12 13 Donald E Knuth The Tg Xbook Addison Wesley Reading MA 1986 Leslie Lamport ATRX A Documentation Preparation System Addison Wesley Reading MA 1985 Michel Goosens Frank Mittelbach and Alexander Samarin The ATpx Companion Addison Wesley Reading MA 1994 Donald E Knuth The METAFONTbook Addison Wesley Reading MA 1986 John D Hobby A User s Manual for META O T Computer Science Re port 162 AT amp T Bell Laboratories April 1992 Thorsten Ohl Comp Phys C
52. you re using META O T and are watching this on a color device you ll see why fmfpen thick fmfleft i1 d1 fmfright o1 d2 fmfn plain i 4 fmf plain i4 v 04 fmfn plain o 4 fmffreeze fmf gluon left fore red i1 o1 fmf gluon left fore green i2 02 fmf gluon left fore blue i3 03 fmfdotn i 3 fmfdotn o 3 fmfv d sh circle d f empty d si 2w b 1 0 1 1 Sigma v Experience has shown that the method advocated in this section is more effective than fuzzing around with fractional tension parameters Using fmfshift or fmfforce should be a last resort only 2 5 9 Pulling strings If you add to any arc one or more phantom arcs they will cause a tighter bonding between the vertices involved fmf fermion v1 v2 fmf phantom v1 v2 which is equivalent to fmf fermion tension 2 v1 v2 The phantom arc has to be added before any fmffreeze involving these ver tices of course Here is an example from deep inelastic scattering fmfleft ip il fmfright oq1 o0q2 d1 0q3 d2 d3 01 fmf fermion ip vp vq 0q3 20Don t be confused by the fmfi command It is described below see section 2 7 1 and takes the same arguments as the fmfv command We use it here for adding to more lines parallel to the incoming proton line They do not enter the layout decisions 27 fmf fermion vp oq1 fmf fermion vp oq2 fmf photon vl vq fmf fermion il vl ol fmfblob
Download Pdf Manuals
Related Search
Related Contents
Altes Skript Programmieren in C - Technische Universität München Battery Manager 1.6.3 Installation Manual Design and Implementation of a 2D Acceleration engine for a Video VISY-X - FAFNIR GmbH Le contrat didactique Bernard Sarrazy Gestão da Manutenção de um Sistema de Cozedura na Copyright © All rights reserved.
Failed to retrieve file