| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| latex:feynman [2024/07/18 09:32] – [Forcing vertices at desired (x,y) positions] iwn | latex:feynman [2026/03/08 16:24] (current) – 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)]]; |
| * [[https://twiki.cern.ch/twiki/bin/viewauth/CMS/SUSYSimplifiedModelDiagrams|ready-made SUSY diagrams (images)]], with the [[https://github.com/CMS-SUS-XPAG/SUSYDiagrams|code (GitHub)]]; | * [[https://twiki.cern.ch/twiki/bin/viewauth/CMS/SUSYSimplifiedModelDiagrams|ready-made SUSY diagrams (images)]], with the [[https://github.com/CMS-SUS-XPAG/SUSYDiagrams|code (GitHub)]]; |
| * [[http://osksn2.hep.sci.osaka-u.ac.jp/~taku/osx/feynmp_latexit.html|how to set up feynMP in LaTeXiT on Mac OS X]] to make Feynman diagrams as standalone images (strongly recommended); | * [[http://osksn2.hep.sci.osaka-u.ac.jp/~taku/osx/feynmp_latexit.html|how to set up feynMP in LaTeXiT on Mac OS X]] to make Feynman diagrams as standalone images (strongly recommended); |
| * [[https://www.overleaf.com/learn/latex/Feynman_diagrams#Other_packages_for_drawing_Feynman_diagrams|Excelent tutorial by Overleaf]]; | * [[https://www.overleaf.com/learn/latex/Feynman_diagrams#Other_packages_for_drawing_Feynman_diagrams|Excellent tutorial by Overleaf]]; |
| * [[latex:feynman_file|macro for typesetting Feynman graphs in a LaTeX file]]; | * [[latex:feynman_file|macro for typesetting Feynman graphs in a LaTeX file]]; |
| * [[latex:feynman_equation_file|using Feynman diagrams in equation in a LaTeX text]]; | * [[latex:feynman_equation_file|using Feynman diagrams in equation in a LaTeX text]]; |
| </WRAP></WRAP> | </WRAP></WRAP> |
| |
| 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 [[https://ctan.math.illinois.edu/macros/latex/contrib/feynmf/fmfman.pdf|feynMF manual]] for all the available line styles, line options, vertex options and all their parameters. |
| |
| <WRAP group><WRAP half column 60% centeralign> | <WRAP group><WRAP half column 60% centeralign> |
| ==== Vertex positioning and distribution ==== | ==== Vertex positioning and distribution ==== |
| |
| As documented in the [[http://www.pd.infn.it/TeX/doc/latex/feynmf/manual.pdf|feynMF manual]], the external vertices are by default (or explicitly with ''\fmfcurved'') positioned on a curve: | As documented in the [[https://ctan.math.illinois.edu/macros/latex/contrib/feynmf/fmfman.pdf|feynMF manual]], the external vertices are by default (or explicitly with ''\fmfcurved'') positioned on a curve: |
| <WRAP group><WRAP third column 6%> | <WRAP group><WRAP third column 6%> |
| \\ | \\ |
| ===== Forcing vertices at desired (x,y) positions ===== | ===== 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. The alternative is to use intermediate mode with MetaPost which is explained in a [[#intermediate_modehow_to_use_metapost|section below]]. | 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> | <WRAP group><WRAP half column> |
| ====== 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''. |
| |
| You can learn more about ''MetaPost'' in the [[https://www.tug.org/docs/metapost/mpman.pdf|manual]] or [[http://www.pragma-ade.com/general/manuals/metafun-s.pdf|this tutorial]]. The [[http://www.pd.infn.it/TeX/doc/latex/feynmf/manual.pdf|feynmf manual]] and [[https://arxiv.org/pdf/hep-ph/9505351.pdf|this paper]] contain some examples, and the author also put some advanced ones on [[http://einrichtungen.ph.tum.de/T30e/HEP/computing/feynmf/feynmf.html|this webpage]]. Examples on this wiki page that make use of ''MetaPost'' intermediately of directly are: | You can learn more about ''MetaPost'' in the [[https://www.tug.org/docs/metapost/mpman.pdf|manual]] or [[http://www.pragma-ade.com/general/manuals/metafun-s.pdf|this tutorial]]. The [[https://ctan.math.illinois.edu/macros/latex/contrib/feynmf/fmfman.pdf|feynmf manual]] and [[https://arxiv.org/pdf/hep-ph/9505351.pdf|this paper]] contain some examples, and the author also put some advanced ones on [[http://einrichtungen.ph.tum.de/T30e/HEP/computing/feynmf/feynmf.html|this webpage]]. Examples on this wiki page that make use of ''MetaPost'' intermediately of directly are: |
| * [[latex:feynman#neutron_beta_decay_with_spectator_quarks|neutron decay]], | * [[latex:feynman#neutron_beta_decay_with_spectator_quarks|neutron decay]], |
| * [[latex:feynman#deep_inelastic_scattering|deep inelastic scattering]], | * [[latex:feynman#deep_inelastic_scattering|deep inelastic scattering]], |