Both sides previous revisionPrevious revisionNext revision | Previous revision |
latex:feynman [2023/02/05 15:55] – [Top quark pair production] iwn | latex:feynman [2024/08/24 17:50] (current) – [How to make Feynman diagrams in LaTeX] iwn |
---|
| |
* [[https://www.ctan.org/pkg/feynmf|downloadable package on CTAN]]; | * [[https://www.ctan.org/pkg/feynmf|downloadable package on CTAN]]; |
* [[http://www.pd.infn.it/TeX/doc/latex/feynmf/manual.pdf|feynMF manual (T. Ohl, 1997)]]; | * [[https://ctan.math.illinois.edu/macros/latex/contrib/feynmf/fmfman.pdf|feynMF manual (T. Ohl, 1997)]]; |
* for advanced stuff with ''MetaPost'', check out [[https://www.tug.org/docs/metapost/mpman.pdf|the MetaPost manual (J.D. Hobby, 2017)]], [[https://arxiv.org/pdf/hep-ph/9505351.pdf|this paper]], [[http://www.pragma-ade.com/general/manuals/metafun-s.pdf|this tutorial]] and [[latex:feynman#intermediate_modehow_to_use_metapost|this section]]; | * for advanced stuff with ''MetaPost'', check out [[https://www.tug.org/docs/metapost/mpman.pdf|the MetaPost manual (J.D. Hobby, 2017)]], [[https://arxiv.org/pdf/hep-ph/9505351.pdf|this paper]], [[http://www.pragma-ade.com/general/manuals/metafun-s.pdf|this tutorial]] and [[latex:feynman#intermediate_modehow_to_use_metapost|this section]]; |
* [[http://osksn2.hep.sci.osaka-u.ac.jp/~taku/osx/fmfsamples.pdf|feynMF examples (T. Yamanaka, 2006)]]; | * [[http://osksn2.hep.sci.osaka-u.ac.jp/~taku/osx/fmfsamples.pdf|feynMF examples (T. Yamanaka, 2006)]]; |
Checkout the [[http://www.pd.infn.it/TeX/doc/latex/feynmf/manual.pdf|feynMF manual]] for all the available line styles, line options, vertex options and all their parameters. | Checkout the [[http://www.pd.infn.it/TeX/doc/latex/feynmf/manual.pdf|feynMF manual]] for all the available line styles, line options, vertex options and all their parameters. |
| |
<WRAP group><WRAP half column 55% centeralign> | <WRAP group><WRAP half column 60% centeralign> |
**Table 1**: Available line styles of ''\fmf''. | \\ \\ \\ \\ |
{{ latex:fmfmp_line_styles_table.png ? 420 }} | **Table 1**: Available line styles for ''\fmf''. |
</WRAP><WRAP half column 37% centeralign > | {{ latex:fmfmp_line_styles_table.png ? 500 }} |
**Table 2**: Available line options of ''\fmf''. | </WRAP><WRAP half column 36% centeralign > |
{{ latex:fmfmp_line_options_table.png ? 270 }} | **Table 2**: Available style parameters for ''\fmf''. |
| {{ latex:fmfmp_line_styles_table2.png ? 600 }} |
\\ | \\ |
**Table 3**: Available vertex options of ''\fmfv''. | **Table 3**: Available line options for ''\fmf''. |
{{ latex:fmfmp_vertex_options_table.png ? 300 }} | {{ latex:fmfmp_line_options_table.png ? 600 }} |
| \\ |
| **Table 4**: Available vertex options for ''\fmfv''. |
| {{ latex:fmfmp_vertex_options_table.png ? 600 }} |
</WRAP></WRAP> | </WRAP></WRAP> |
| |
\fmfleft{i0,i1,i2} | \fmfleft{i0,i1,i2} |
\fmfright{o1,o2,o3,o4} | \fmfright{o1,o2,o3,o4} |
% fermions | % outgoing fermions |
\fmf{fermion}{o1,v21,o2} | \fmf{fermion}{o1,v21,o2} |
\fmf{fermion}{o3,v22,o4} | \fmf{fermion}{o3,v22,o4} |
\fmf{phantom}{i2,v22} | \fmf{phantom}{i2,v22} |
\fmffreeze | \fmffreeze |
% HWW | % H -> WW |
\fmf{dashes,tension=1.5}{i1,v1} | \fmf{dashes,tension=1.5}{i1,v1} |
\fmf{boson}{v1,v21} | \fmf{boson}{v1,v21} |
</WRAP></WRAP> | </WRAP></WRAP> |
| |
| ===== Forcing vertices at desired (x,y) positions ===== |
| |
| If you do not like puzzling with phantom lines and tension, you could force the vertex at an exact location using ''\fmfforce{(0.4w,0.7h)}{v}'', which places the vertex ''v'' at the x position that is 40% of the width from the left, and at the y position that is 70% of the height from the bottom. (Note however that the feynMF manual states it should be used as a last resort only.) The alternative is to use intermediate mode with MetaPost which is explained in a [[#intermediate_modehow_to_use_metapost|section below]]. |
| |
| It is also possible to use ''\fmfshift'' to shift vertices. This can be used for outgoing point created with ''\fmfleft'' etc., but also internal vertices after they have been frozen with ''\fmffreeze''. |
| |
| <WRAP group><WRAP half column> |
| <code latex> |
| \begin{fmffile}{feyngraph} |
| \begin{fmfgraph}(150,150) |
| \fmfstraight |
| \fmfleft{i} |
| \fmfright{o1,o2,o3,o4} |
| % force vertex locations |
| \fmfforce{(0.40w,0.50h)}{v} |
| \fmfforce{(0.68w,0.20h)}{v1} |
| \fmfforce{(0.68w,0.80h)}{v2} |
| % H -> WW |
| \fmf{dashes,tension=1.5}{i,v} |
| \fmf{boson}{v,v1} |
| \fmf{boson}{v,v2} |
| % outgoing fermions |
| \fmf{fermion}{o1,v1,o2} |
| \fmf{fermion}{o3,v2,o4} |
| \end{fmfgraph} |
| \end{fmffile} |
| </code> |
| </WRAP><WRAP half column> |
| \\ \\ \\ |
| {{ latex:hww_phantom.png ? 0x260 }} |
| \\ \\ |
| </WRAP></WRAP> |
| |
===== Adding momentum arrows ===== | ===== Adding momentum arrows ===== |
====== Intermediate mode: How to use MetaPost ====== | ====== Intermediate mode: How to use MetaPost ====== |
| |
If you don't like puzzling with ''phantom'' lines and tension, you can gain greater control by using ''feynMP'''s "intermediate mode" to use ''MetaPost'' more directly. ''\fmfipairs'' and ''\fmfiequ'' gives the ability to exactly position vertices, and ''\fmfi'' allow to draw straight and curved lines between these points. | If you don't like puzzling with ''phantom'' lines and tension, you can use ''\fmfforce'' as explained in a [[#forcing_vertices_at_desired_x_y_positions|section above]]. You can gain even greater control by using ''feynMP'''s "intermediate mode" to use ''MetaPost'' more directly. ''\fmfipairs'' and ''\fmfiequ'' gives the ability to exactly position vertices, and ''\fmfi'' allow to draw straight and curved lines between these points. |
| |
The next level is executing ''MetaPost'' commands directly with ''\fmfcmd''. | The next level is executing ''MetaPost'' commands directly with ''\fmfcmd''. |