« home

Feynman Diagram 3

physicsquantum field theorycetztikz

Feynman Diagram 3

  Download

PNGPDFSVG

  Code

  LaTeX

feynman-diagram-3.tex (14 lines)

\documentclass[tikz]{standalone}

\usetikzlibrary{patterns}

\begin{document}
\begin{tikzpicture}
  \draw (-2,0) node[left] {$\varphi_a$} -- (0,0) -- (1.5,1.5) node[above right] {$\varphi_b$} (0,0) -- (1.5,-1.5) node[below right] {$\varphi_c$};
  \draw[->,yshift=5pt] (-1.7,0) -- (-0.7,0) node[midway,above] {$p_1$};
  \draw[<-,yshift=5pt] (0.4,0.4) -- (1.2,1.2) node[midway,above left] {$p_2$};
  \draw[<-,xshift=5pt] (0.4,-0.4) -- (1.2,-1.2) node[midway,above right] {$p_3$};
  \draw[fill=white,postaction={pattern=north east lines}] (0,0) circle (0.25) node[right=5pt] {$\Gamma_{k,abc}^{(3)}(p_1,p_2,p_3)$};
\end{tikzpicture}
\end{document}

  Typst

feynman-diagram-3.typ (43 lines)

#import "@preview/cetz:0.3.4": canvas, draw
#import "@preview/modpattern:0.1.0": modpattern
#import draw: line, content, circle

#set page(width: auto, height: auto, margin: 8pt)

#let hatched = modpattern(
  (.1cm, .1cm),
  std.line(start: (0%, 100%), end: (100%, 0%), stroke: 0.5pt),
  background: white,
)

#canvas({
  // Define styles and constants
  let arrow-style = (
    mark: (end: "stealth", fill: black, scale: .3),
    stroke: (thickness: 0.5pt),
  )

  // Draw main lines
  line((-2, 0), (0, 0), name: "in")
  line((0, 0), (1.5, 1.5), name: "up")
  line((0, 0), (1.5, -1.5), name: "down")

  // Add phi labels
  content("in.start", $phi_a$, anchor: "east", padding: 1pt)
  content("up.end", $phi_b$, anchor: "south-west", padding: 1pt)
  content("down.end", $phi_c$, anchor: "north-west", padding: 1pt)

  line((-1.7, 0.15), (-0.7, 0.15), ..arrow-style, name: "p1")
  content((rel: (0, 0.3), to: "p1"), $p_1$)

  line((1., 1.2), (0.3, 0.5), name: "p2", ..arrow-style)
  content((rel: (-0.3, 0.3), to: "p2"), $p_2$)

  line((1.4, -1.2), (0.6, -0.4), name: "p3", ..arrow-style)
  content((rel: (0.3, 0.3), to: "p3"), $p_3$)

  // Draw vertex with hatched pattern
  circle((0, 0), radius: 0.25, fill: hatched, name: "vertex")
  content((rel: (0.35, -.05), to: "vertex"), $Gamma_(k,a b c)^((3))(p_1,p_2,p_3)$, anchor: "west")
})