我刚刚发现feynMF
包裹,一个非常简洁的绘制费曼图的工具。
我继续画了一些图表,我将把它们放在这里,只是为了为这个问题设定正确的精神。我制作了这个
有了这个
\documentclass{article}
\usepackage{feynmf}
\begin{document}
$\begin{fmffile}{Diagram}
\begin{fmffile}{Diagram}
\begin{fmfgraph*}(40,15)
\fmfpen{thin}
\fmfleft{i}
\fmfright{o}
\fmf{plain}{i,o}
\fmfdot{i,o}
\fmfv{l.a=-90,l=$x$}{i}
\fmfv{l.a=-90,l=$y$}{o}
\end{fmfgraph*}
\quad + \quad
\begin{fmfgraph*}(40,15)
\fmfpen{thin}
\fmfleft{i}
\fmfright{o}
\fmf{plain}{i,v,v,o}
\fmfdot{i,o,v}
\fmfv{l.a=-90,l=$x$}{i}
\fmfv{l.a=-90,l=$y$}{o}
\fmfv{l.a=-90,l=$z$}{v}
\end{fmfgraph*}
\quad + \quad
\begin{fmfgraph*}(40,15)
\fmfpen{thin}
\fmfleft{i}
\fmfright{o}
\fmf{plain}{i,v1,v2,o}
\fmf{plain,left,tension=0.05}{v1,v2,v1}
\fmfdot{i,o,v1,v2}
\fmfv{l.a=-90,l=$x$}{i}
\fmfv{l.a=-90,l=$y$}{o}
\fmfv{l.a=-90}{v1,v2}
\fmflabel{$z_{1}$}{v1}
\fmflabel{$z_{2}$}{v2}
\end{fmfgraph*}
\quad + \enskip \dots
\end{fmffile}
\end{fmffile}$
\end{document}
然后我想画几个断开的图。这就是我卡住的地方。我试图得到这个
我承认这不是很漂亮,但我希望你能明白我的意思。但是,到目前为止,我尝试的所有方法都没有编译成功。有没有人足够熟悉 feynMF 可以帮我解决?
答案1
我联系了 的创建者 Thorsten Ohl,feynMF
并询问他是否可以用他的软件包实现断开连接的图表。他诚实地回答道
...它需要比我喜欢的更多的技巧,但这是可能的。
在我看来,他的解决方案看起来非常好:
要重现或修改此输出,请使用以下代码
\documentclass{article}
\usepackage{graphicx}
\usepackage{feynmp}
\setlength{\unitlength}{1mm}
\DeclareGraphicsRule{*}{mps}{*}{}
\begin{document}
\begin{fmffile}{\jobname-pics}
\begin{center}
\begin{fmfgraph*}(30,30)
\fmfpen{thin}
\fmftop{t}
\fmfbottom{b}
\fmf{phantom}{t,v1,b}
\fmffreeze
\fmfi{plain}{vloc(__v1){(1,1)}..vloc(__t)..{(1,-1)}vloc(__v1)}
\fmfi{plain}{vloc(__v1){(-1,-1)}..vloc(__b)..{(-1,1)}vloc(__v1)}
\fmfdot{v1}
\fmfv{l=$z_1$,l.angle=180,l.dist=3thick}{v1}
\end{fmfgraph*}\qquad
\begin{fmfgraph*}(30,45)
\fmfpen{thin}
\fmftop{t}
\fmfbottom{b}
\fmf{phantom}{t,v1,v2,b}
\fmffreeze
\fmfi{plain}{vloc(__v1){(1,1)}..vloc(__t)..{(1,-1)}vloc(__v1)}
\fmfi{plain}{vloc(__v2){(-1,-1)}..vloc(__b)..{(-1,1)}vloc(__v2)}
\fmfi{plain}{vloc(__v1){(1.5,-1)}..{(-1.5,-1)}vloc(__v2)}
\fmfi{plain}{vloc(__v2){(-1.5,1)}..{(1.5,1)}vloc(__v1)}
\fmfdot{v1,v2}
\fmfv{l=$z_1$,l.angle=180,l.dist=3thick}{v1}
\fmfv{l=$z_2$,l.angle=180,l.dist=3thick}{v2}
\end{fmfgraph*}\qquad
\begin{fmfgraph*}(30,60)
\fmfpen{thin}
\fmftop{t}
\fmfbottom{b}
\fmf{phantom}{t,v1,v2,v3,b}
\fmffreeze
\fmfi{plain}{vloc(__v1){(1,1)}..vloc(__t)..{(1,-1)}vloc(__v1)}
\fmfi{plain}{vloc(__v3){(-1,-1)}..vloc(__b)..{(-1,1)}vloc(__v3)}
\fmfi{plain}{vloc(__v1){(1.5,-1)}..{(-1.5,-1)}vloc(__v2)}
\fmfi{plain}{vloc(__v2){(1.5,-1)}..{(-1.5,-1)}vloc(__v3)}
\fmfi{plain}{vloc(__v3){(-1.5,1)}..{(1.5,1)}vloc(__v2)}
\fmfi{plain}{vloc(__v2){(-1.5,1)}..{(1.5,1)}vloc(__v1)}
\fmfdot{v1,v2,v3}
\fmfv{l=$z_1$,l.angle=180,l.dist=3thick}{v1}
\fmfv{l=$z_2$,l.angle=180,l.dist=3thick}{v2}
\fmfv{l=$z_3$,l.angle=180,l.dist=3thick}{v3}
\end{fmfgraph*}
\end{center}
\begin{center}
\begin{fmfgraph*}(30,50)
\fmfpen{thin}
\fmftop{t}
\fmfbottom{b}
\fmf{phantom}{t,v1,dummy1,dummy2,v2,b}
\fmffreeze
\fmfi{plain}{vloc(__v1){(1,-1)}..{(-1,-1)}vloc(__v2)}
\fmfi{plain}{vloc(__v2){(-1,1)}..{(1,1)}vloc(__v1)}
\fmfi{plain}{vloc(__v1){(1,-3)}..{(-1,-3)}vloc(__v2)}
\fmfi{plain}{vloc(__v2){(-1,3)}..{(1,3)}vloc(__v1)}
\fmfdot{v1,v2}
\fmfv{l=$z_1$,l.angle=90,l.dist=3thick}{v1}
\fmfv{l=$z_2$,l.angle=-90,l.dist=3thick}{v2}
\end{fmfgraph*}
\end{center}
\end{fmffile}
\end{document}