# Gravitons with tikz-feynman

Gravitons (in Feynman diagrams) are basically two wavy lines. I am interested in this type of diagram here: However, the single wavy line should become a double wavy line. The code used to generate the above image is this:

\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}


I added a double,double distance=0.5ex to the photon propagator, but apparently the photon overrides that style. Does anybody know how to double the wavy line?

• The feynman package is still tikz. So you can e.g. draw a regular circle and decorate it the way you describe. See the decoration-lib in tikz. Nov 7, 2022 at 22:01

You can define a new key graviton using the snake decoration and double. Options amplitude, segment length, pre length and post length can be adjusted to your liking. The momentum arrow does not work well with repeating decorations like snake, so I made two loops, one with draw=none and the momentum arrow, and a second with graviton. \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}

• This works great. It's a bit odd that the "waviness" is different from the photon line, though, if you compare it closely you can spot some differences.
– Jens
Nov 10, 2022 at 16:40
• @Jens: You can play with the graviton decoration if you like. decoration={snake, amplitude=.4mm, segment length=2.13mm} is a bit closer to the photon, but I liked the look of the pre- and post lengths. Nov 10, 2022 at 17:07

An alternative solution: draw the path twice, once thick and black and once thin and white:

\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,
}; • Nice and creative idea!
– Jens
Nov 10, 2022 at 16:40
• Not really, It's how double lines are drawn normally, it just happens automatically Nov 10, 2022 at 16:52