User Tools

Site Tools


latex:feynman_file

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
latex:feynman_file [2023/02/04 15:23] – [Method 1: feynmp-auto] iwnlatex:feynman_file [2023/02/04 16:45] (current) iwn
Line 1: Line 1:
 ====== Generating Feynman diagrams in a LaTeX file ====== ====== Generating Feynman diagrams in a LaTeX file ======
  
-You may need to compile the LaTeX file with ''-shell-escape''+You may need to compile the LaTeX file twice with ''-shell-escape''. 
-If you use TeXShop for macOS, you can include the following at the top of your document to compile with ''pdflatexmk -shell-escape'':+ 
 +If you use TeXShop for macOS, you can include the following at the top of your document to automatically compile with ''pdflatexmk -shell-escape'':
 <code latex> <code latex>
 % !TEX program = pdflatexmk % !TEX program = pdflatexmk
 % !TEX parameter = -shell-escape % !TEX parameter = -shell-escape
 </code> </code>
 +However, for Mac users however, [[http://osksn2.hep.sci.osaka-u.ac.jp/~taku/osx/feynmp_latexit.html|feynmp in LaTeXiT]] is a better option to quickly build of Feynman diagrams as standalone images and use ''\includegraphics''.
  
 ===== Method 1: feynmp-auto ===== ===== Method 1: feynmp-auto =====
Line 15: Line 17:
 </code> </code>
  
-===== Method 2: Macro ===== 
  
-Add this macro to the preamble:+<code latex feynman_auto.tex> 
 +% !TEX program = pdflatexmk 
 +% !TEX parameter = -shell-escape 
 +% https://wiki.physik.uzh.ch/cms/latex:feynman_file#method_1feynmp-auto 
 +% https://www.overleaf.com/learn/latex/Feynman_diagrams#Other_packages_for_drawing_Feynman_diagrams 
 +\documentclass[a4paper,12pt]{article} 
 +\usepackage[margin=2.4cm]{geometry} % margins 
 +\usepackage{amsmath} 
 +\usepackage{graphicx} 
 +\usepackage{feynmp-auto} 
 + 
 +\begin{document} 
 + 
 +This is a test file for Feynman diagrams. You need to compile twice: once to compile and save the Feynman diagrams, twice to include them in the typeset PDF file. 
 + 
 +\begin{figure}[h] 
 +\vspace{10mm} 
 +\centering 
 +\begin{fmffile}{feynman-compton} 
 +  \begin{fmfgraph*}(150,100) 
 +    \fmfleft{i1,i2} 
 +    \fmfright{o1,o2} 
 +    \fmflabel{$\gamma$}{i2} 
 +    \fmflabel{$e^-$}{i1} 
 +    \fmflabel{$\gamma$}{o1} 
 +    \fmflabel{$e^-$}{o2} 
 +    \fmf{photon}{i2,v2} 
 +    \fmf{fermion}{i1,v1,v2,o2} 
 +    \fmf{photon}{v1,o1} 
 +  \end{fmfgraph*} 
 +\end{fmffile} 
 +\vspace{5mm} 
 +\caption{Feynman diagram for Compton scattering} %\label{compton} 
 +\end{figure} 
 + 
 +\end{document} 
 +</code> 
 + 
 + 
 +===== Method 2: feynmp-auto (standalone) ===== 
 + 
 +To create a standalone Feynman diagram, use the ''standalone'' class: 
 + 
 +<code latex feynman_standalone.tex> 
 +% !TEX program = pdflatexmk 
 +% !TEX parameter = -shell-escape 
 +% Author: Izaak Neutelings (February 2023) 
 +\documentclass[10pt,border=2pt]{standalone} 
 +\usepackage{amsmath} 
 +\usepackage{feynmp-auto} 
 + 
 +\begin{document} 
 + 
 +\fmfframe(0,15)(0,15){ % padding (LTRB) 
 +\begin{fmffile}{feynman-compton} 
 +  \begin{fmfgraph*}(110,80) 
 +    \fmfleft{i1,i2} 
 +    \fmfright{o1,o2} 
 +    \fmflabel{$\gamma$}{i2} 
 +    \fmflabel{$e^-$}{i1} 
 +    \fmflabel{$\gamma$}{o1} 
 +    \fmflabel{$e^-$}{o2} 
 +    \fmf{photon}{i2,v2} 
 +    \fmf{fermion}{i1,v1,v2,o2} 
 +    \fmf{photon}{v1,o1} 
 +  \end{fmfgraph*} 
 +\end{fmffile} 
 +
 + 
 +\end{document} 
 +</code> 
 + 
 +To create one multiple PDF with one Feynman diagram per page, add the option ''multi=page,crop'' to the ''standalone'' class and wrap each ''fmffile'' around the ''page'' environment: 
 +<code latex> 
 +% !TEX program = pdflatexmk 
 +% !TEX parameter = -shell-escape 
 +% Author: Izaak Neutelings (February 2023) 
 +\documentclass[10pt,border=2pt,multi=page,crop]{standalone} 
 +\usepackage{amsmath} 
 +\usepackage{graphicx} 
 +\usepackage{feynmp-auto} 
 + 
 +\begin{document} 
 + 
 +\begin{page} 
 +\fmfframe(0,15)(0,15){ % padding (LTRB) 
 +\begin{fmffile}{feynman-compton} 
 +  \begin{fmfgraph*}(110,80) 
 +    \fmfleft{i1,i2} 
 +    \fmfright{o1,o2} 
 +    \fmflabel{$\gamma$}{i2} 
 +    \fmflabel{$e^-$}{i1} 
 +    \fmflabel{$\gamma$}{o1} 
 +    \fmflabel{$e^-$}{o2} 
 +    \fmf{photon}{i2,v2} 
 +    \fmf{fermion}{i1,v1,v2,o2} 
 +    \fmf{photon}{v1,o1} 
 +  \end{fmfgraph*} 
 +\end{fmffile} 
 +
 +\end{page} 
 + 
 +\begin{page} 
 +\fmfframe(0,15)(0,15){ % padding (LTRB) 
 +\begin{fmffile}{feynman-scat} 
 +  \begin{fmfgraph*}(110,80) 
 +    \fmfleft{i1,i2} 
 +    \fmfright{o1,o2} 
 +    \fmflabel{$\mu^-$}{i1} 
 +    \fmflabel{$e^-$}{i2} 
 +    \fmflabel{$\mu^-$}{o1} 
 +    \fmflabel{$e^-$}{o2} 
 +    \fmf{fermion}{i1,v1,o1} 
 +    \fmf{fermion}{i2,v2,o2} 
 +    \fmf{photon,label=$\gamma$}{v1,v2} 
 +  \end{fmfgraph*} 
 +\end{fmffile} 
 +
 +\end{page} 
 + 
 +\end{document} 
 +</code> 
 + 
 + 
 +===== Method 3: Macro ===== 
 + 
 +This is a handy macro that allows you to compile Feynman graphs in LaTeX documents, without the need for extra scripts ([[https://tex.stackexchange.com/questions/20241/how-to-use-kile-with-feynmf-or-feynmp|source]]).  
 <code latex> <code latex>
 \usepackage{feynmp} \usepackage{feynmp}
Line 35: Line 163:
 </code> </code>
  
 +Simply include the macro in the preamble. (Tested only in TeXShop on a Mac.)
  
-The file contains a handy macro that allows you to compile Feynman graphs in LaTeX documents, without the need for extra scripts ([[https://tex.stackexchange.com/questions/20241/how-to-use-kile-with-feynmf-or-feynmp|source]]). Simply include the macro in the preamble. (Tested only in TeXShop on a Mac.) For Mac users however, [[http://osksn2.hep.sci.osaka-u.ac.jp/~taku/osx/feynmp_latexit.html|feynmp in LaTeXiT]] is a better option to quickly build of Feynman diagrams as standalone images. +<code latex feynman_macro.tex> 
- +% !TEX program = pdflatexmk 
-{{ latex:feynman.png ? 2000 }} +% !TEX parameter = -shell-escape 
- +https://wiki.physik.uzh.ch/cms/latex:feynman_file#method_1feynmp-auto 
-<code latex feynman.tex> +% https://www.overleaf.com/learn/latex/Feynman_diagrams#Other_packages_for_drawing_Feynman_diagrams 
-\documentclass[10pt,a4paper]{article}+\documentclass[a4paper,12pt]{article}
 \usepackage[margin=2.4cm]{geometry} % margins \usepackage[margin=2.4cm]{geometry} % margins
 \usepackage{amsmath} \usepackage{amsmath}
Line 66: Line 195:
  
 \begin{figure}[h] \begin{figure}[h]
-  \vspace{10mm} +\vspace{10mm} 
-  \centering +\centering 
-  \begin{fmffile}{compton}+\begin{fmffile}{feynman-compton}
   \begin{fmfgraph*}(150,100)   \begin{fmfgraph*}(150,100)
     \fmfleft{i1,i2}     \fmfleft{i1,i2}
- \fmfright{o1,o2} +    \fmfright{o1,o2} 
- \fmflabel{$\gamma$}{i2} +    \fmflabel{$\gamma$}{i2} 
- \fmflabel{$e^-$}{i1} +    \fmflabel{$e^-$}{i1} 
- \fmflabel{$\gamma$}{o1} +    \fmflabel{$\gamma$}{o1} 
- \fmflabel{$e^-$}{o2} +    \fmflabel{$e^-$}{o2} 
- \fmf{photon}{i2,v2} +    \fmf{photon}{i2,v2} 
- \fmf{fermion}{i1,v1,v2,o2} +    \fmf{fermion}{i1,v1,v2,o2} 
- \fmf{photon}{v1,o1}+    \fmf{photon}{v1,o1}
   \end{fmfgraph*}   \end{fmfgraph*}
-  \end{fmffile} +\end{fmffile} 
-  \vspace{5mm} +\vspace{5mm} 
-  \caption{Feynman diagram for Compton scattering} %\label{compton}+\caption{Feynman diagram for Compton scattering} %\label{compton}
 \end{figure} \end{figure}
  
 \end{document} \end{document}
 </code> </code>
 +
 +
 +===== Output =====
 +
 +{{ latex:feynman:feynman-auto.png ? 2000 }}
latex/feynman_file.1675520612.txt.gz · Last modified: 2023/02/04 15:23 by iwn