TeX - LaTeX Asked on September 25, 2021
I wonder how to draw this Feynman diagram.
I read the document about tikz-Feynman, but it seems that the document does not explain the above somewhat complicated diagram.
It it also rather simple to do with tikz-feynman
if the coordinates of the vertices are specified manually.
documentclass{article}
usepackage{tikz-feynman}
begin{document}
begin{tikzpicture}
begin{feynman}
vertex (a) at (-2,2);
vertex (b) at (2,2);
vertex (c) at (0,0);
vertex (d1) at (-0.4,-0.4);
vertex (d2) at (-1.6,-1.6);
vertex (d3) at (-2,-2);
vertex (e) at (2,-2);
diagram*{
(a) -- [fermion] (c),
(b) -- [anti fermion] (c),
(c) -- [scalar] (d1),
(d1) -- [anti charged scalar] (d2),
(d1) -- [fermion, half left] (d2),
(d1) -- [anti fermion, half right] (d2),
(d2) -- [scalar] (d3),
(c) -- [charged scalar] (e)
};
end{feynman}
end{tikzpicture}
end{document}
Correct answer by Vincent on September 25, 2021
It is very simple with pstricks
: I define vertices as empty nodes, using polar coordinates, and connect them with psline
s, using the ArrowInside
key then add two complementary elliptic arcs.
documentclass[x11names, 12pt, border=6pt]{standalone}
usepackage{pst-node, pst-plot}
usepackage{pst-arrow}
begin{document}
psset{plotstyle=curve, linejoin=1, arrowinset=0, arrowsize=6pt, ArrowInside=->}
begin{pspicture}(-3,-3)(3,3)
pnodes(0,0){O}(4;135){A}(4;45){B}(4;-45){C}(4;-135){D}(2;-135){I}
psline(A)(O)(B)
psline[linestyle=dashed, dash=5pt 5pt](D)(O)(C)
pscustom{rotate{45}%
psellipticarcn[arrows=->](I)(1.2,0.7){90}{-105}%psellipse(I)(1.2,0.6)
psellipticarcn[arrows=->](I)(1.2,0.7){270}{435}
}%
end{pspicture}
end{document}
Answered by Bernard on September 25, 2021
For compare purpose.
Compile with Asymptote.
unitsize(1.5cm);
size(300);
draw((0,0)--(1,1),MidArrow(5bp));
draw((-1,1)--(0,0),MidArrow(5bp));
draw((-1,-1)--(0,0),dashed,MidArrow(5bp));
draw((0,0)--(1,-1),dashed,MidArrow(5bp));
pair M=relpoint((-1,-1)--(0,0),.5);
path Ellipse=rotate(degrees(dir((-1,-1)--(0,0))),M)*ellipse(M,.4,.2);
draw(reverse(Ellipse),Arrow(5bp,FillDraw(),reltime(Ellipse,.3)));
draw(reverse(Ellipse),p=invisible,Arrow(5bp,FillDraw(black,black),reltime(Ellipse,.79)));
Answered by user213378 on September 25, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP