tikz-feynman 中的引力子

tikz-feynman 中的引力子

引力子(在费曼图中)基本上是两条波浪线。我对这种类型的图很感兴趣:

类似的图表,但带有光子线。

但是单波浪线应该变成双波浪线。生成上图的代码如下:

\documentclass{article}
\usepackage{tikz}
\usepackage[compat=1.1.0]{tikz-feynman}
\usepackage[active,pdftex,tightpage]{preview}
\PreviewEnvironment[{[]}]{tikzpicture}

\begin{document}

\feynmandiagram[layered layout,inline=(a.base),horizontal=a to c] {
a -- [charged scalar,momentum'={[arrow shorten=0.2]\(p\)}] b -- [double,double distance=0.5ex, photon, out=135, in=45, loop, min distance=1.5cm,momentum={[arrow shorten=0.35]\(k\)}] b,
b -- [charged scalar,momentum'={[arrow shorten=0.2]\(p\)}] c,
};

\end{document}

double,double distance=0.5ex我在光子传播器中添加了,但显然photon覆盖了该样式。有人知道如何将波浪线加倍吗?

答案1

graviton您可以使用snake装饰和定义新键double。选项amplitudesegment length和可以根据您的喜好进行调整。pre length箭头与 等重复装饰效果不佳,因此我制作了两个循环,一个带有和动量箭头,另一个带有。post lengthmomentumsnakedraw=nonegraviton

在此处输入图片描述

\documentclass{article}
\usepackage{tikz}
\usepackage[compat=1.1.0]{tikz-feynman}

\tikzset{graviton/.style={decorate, decoration={snake, amplitude=.4mm, segment length=1.5mm, pre length=.5mm, post length=.5mm}, double}}

\begin{document}

\feynmandiagram[layered layout,inline=(a.base),horizontal=a to c] {
a -- [charged scalar,momentum'={[arrow shorten=0.2]\(p\)}] b -- [draw=none, out=135, in=45, loop, min distance=1.5cm, text=black, momentum={[arrow shorten=0.35]\(k\)}] b
  -- [graviton, out=135, in=45, loop, min distance=1.5cm] b -- [charged scalar,momentum'={[arrow shorten=0.2]\(p\)}] c,
};

\end{document}

答案2

另一种解决方案:绘制两次路径,一次粗且黑,一次细且白:

\feynmandiagram[layered layout,inline=(a.base),horizontal=a to c] {
        a -- [charged scalar,momentum'={[arrow shorten=0.2]\(p\)}] b -- [double,double distance=0.5ex, photon, out=135, in=45, loop, min distance=1.5cm, line width=0.05cm] b,
        b -- [photon, out=135, in=45, loop, min distance=1.5cm, white, text=black, momentum={[arrow shorten=0.35]\(k\)}]
        b -- [charged scalar,momentum'={[arrow shorten=0.2]\(p\)}] c,
    };

在此处输入图片描述

相关内容