如何用 tikz-feynman 绘制戴森方程的费曼图

如何用 tikz-feynman 绘制戴森方程的费曼图

我正在尝试绘制像这样的费曼图。我查阅了手册,但在 tikz-feynman 中没有提到这种粗或双传播线。 在此处输入图片描述

答案1

tikz-feynman有两个键在这里很重要,with arrow,它需要一个位置, 和arrow size,它允许我们更改箭头的大小。因此,为了获得带箭头的双线传播器,您可以使用

double,double distance=0.5ex,thick,with arrow=0.5,arrow size=0.3em

以下代码可以实现这一点。我决定不依赖布局算法,因为这对于此图来说有点不必要。因此,您可以使用 编译以下内容pdflatex,特别是将其上传到 arXiv。

\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz-feynman}
\begin{document}
\[ 
\vcenter{\hbox{\begin{tikzpicture}
  \begin{feynman}
    \vertex (i);
    \vertex [right=2cm of i] (o);
    \diagram*{
      (i) --[double,double distance=0.5ex,thick,with arrow=0.5,arrow size=0.3em] (o)      
    };
  \end{feynman}
\end{tikzpicture}}}
~=~
\vcenter{\hbox{\begin{tikzpicture}
  \begin{feynman}
    \vertex (i);
    \vertex [right=1.5cm of i] (o);
    \diagram*{
      (i) --[fermion] (o)     
    };
  \end{feynman}
\end{tikzpicture}}}~+~
\vcenter{\hbox{\begin{tikzpicture}
  \begin{feynman}
    \vertex (i);
    \node[right=1.5cm of i,draw,fill=white,circle] (v){$\Sigma$};
    \vertex [right=1.5cm of v] (o);
    \diagram*{
      (i) --[fermion] (v),        
      (v) --[double,double distance=0.5ex,thick,with arrow=0.5,arrow size=0.3em]  (o)
    };
  \end{feynman}
\end{tikzpicture}}}
\]
\end{document}

在此处输入图片描述

答案2

pstricks为了好玩,使用和 的简短代码pst-feyn

\documentclass[border=3pt]{standalone}
\usepackage{fourier-otf}
\usepackage{pstricks-add, pst-feyn}
\usepackage{auto-pst-pdf}
\pagestyle{empty}

\begin{document}

\psset{linejoin=1}
\begin{pspicture}(-2,-0.5)(5.2,0.5)
\pnodes(-1.9,0){D1}(-0.4,0){D2}(0,0){O}(0.4,0){L1}(1.2,0){L2}(1.6,0){I}(2,0){M1}(3,0){M2}(3.3,0){J}(3.6,0){E1}(5.1,0){E2}
\psArrowLine[doubleline, linewidth=1pt](D1)(D2) \rput(O){ = }\psArrowLine(L1)(L2)\rput(I){+}\psArrowLine(M1)(M2)\Cnodeput[radius= 0.3](J){S}{$ \Sigma $}\psArrowLine[doubleline, linewidth=1pt](E1)(E2)
  \end{pspicture}

\end{document} 

在此处输入图片描述

答案3

附录另一个选项:feyn包。

可以使用声明的包来实现绘图。语法不太简单。我添加了我的 MWE:

\documentclass[a4paper,12pt]{article}
\usepackage{amsmath,amssymb}
\usepackage{feyn}
\usepackage{newtxmath}
\begin{document}
Feynman diagram for Dyson equation is:
\begin{equation}
  \feyn{ms mA} \quad = \quad \feyn{fA} \quad + \quad \feyn{fA c ms mA} \mkern-71mu \Sigma
\end{equation}

\end{document}

在此处输入图片描述


我承认我的最小文档不适合标签(也因为它是用 Mathcha 经过适当调整实现的),但对于没有 MWE 的新手,我将其绘制为欢迎使用 TeX.SE。此绘图应该非常接近所附图像。

PS:没看过tikz-feynman手册。

在此处输入图片描述

\documentclass[a4paper,12pt]{article}
\usepackage{tikz,mathtools}
\usepackage{xcolor}
\usepackage{newtxmath}
\begin{document}
\tikzset{every picture/.style={line width=0.75pt}}
\begin{tikzpicture}[x=0.75pt,y=0.75pt,yscale=-1,xscale=1]
\draw  [color={rgb, 255:red, 255; green, 255; blue, 255 }  ,draw opacity=1 ][fill={rgb, 255:red, 155; green, 155; blue, 155 }  ,fill opacity=1 ] (76.5,70.5) -- (348,70.5) -- (348,110.5) -- (76.5,110.5) -- cycle ;
\draw    (80.4,90.2) -- (121,90.7) ;
\draw    (80.4,92.4) -- (121,92.9) ;
\draw  [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ,fill opacity=1 ] (93.6,87.6) -- (93.6,87.6) -- (107.43,91.55) -- (93.6,95.5) -- (93.6,95.5) -- cycle ;
\draw    (171.2,91.8) -- (202,91.8) ;
\draw  [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ,fill opacity=1 ] (183.6,89.4) -- (183.6,89.4) -- (190.55,91.7) -- (183.6,94) -- (183.6,94) -- cycle ;
\draw    (243.6,91.4) -- (274.4,91.4) ;
\draw  [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ,fill opacity=1 ] (256,89) -- (256,89) -- (262.95,91.3) -- (256,93.6) -- (256,93.6) -- cycle ;
\draw  [fill={rgb, 255:red, 255; green, 255; blue, 255 }  ,fill opacity=1 ] (274.4,91.4) .. controls (274.4,83.45) and (280.85,77) .. (288.8,77) .. controls (296.75,77) and (303.2,83.45) .. (303.2,91.4) .. controls (303.2,99.35) and (296.75,105.8) .. (288.8,105.8) .. controls (280.85,105.8) and (274.4,99.35) .. (274.4,91.4) -- cycle ;
\draw    (303.6,90.2) -- (339.4,90.2) ;
\draw    (303.6,92.4) -- (339.4,92.4) ;
\draw  [fill={rgb, 255:red, 0; green, 0; blue, 0 }  ,fill opacity=1 ] (316.8,87.6) -- (316.8,87.6) -- (330.63,91.55) -- (316.8,95.5) -- (316.8,95.5) -- cycle ;
\draw (145,93) node    {$=$};
\draw (222,91) node    {$+$};
\draw (288.5,90.5) node    {$\Sigma $};
\end{tikzpicture}
\end{document}

相关内容