% !TEX program = pdflatexmk
% !TEX parameter = -shell-escape
% Author: Izaak Neutelings (March 2026)
% Instructions: To compile via command line, run the following twice
%   pdflatex -shell-escape tension.tex
\documentclass[11pt,border=-2pt,multi=page,crop]{standalone}
\usepackage{feynmp-auto}
\usepackage{pgffor} % for \foreach
\usepackage{xcolor} % for \color

% DEFINE fmfpicture ENVIRONMENT
\usepackage{environ} % for \NewEnviron
\NewEnviron{fmfpicture}[3]{%
  \begin{page}% to create standalone page
    \fmfframe(#1)(#2){% padding (L,T)(R,B)
    \begin{fmffile}{feynmp-#3}% auxiliary files (use unique name!)
      \BODY % main code
    \end{fmffile}%
    }% close \fmfframe
  \end{page}%
}

% INDICATE VERTICES
\newcommand{\showvertices}[1]{%
  \foreach \v/\a in {#1}{%
    \begingroup\edef\tmpcmd{\endgroup\noexpand\fmfv{%
      d.sh=circle,d.f=full,d.si=2,f=(.9,,.2,,.2),l.d=4,%
      label=\noexpand\color{red}\noexpand\tiny\v,l.a=\a}{\v}}%
    \tmpcmd% excute
  }% close \foreach
}

\begin{document}

% FORCE with coordinates
\begin{fmfpicture}{4,5}{4,5}{force-coords} % padding (LTRB)
  \begin{fmfgraph*}(120,120) % dimensions (WH)
    % external vertices
    \fmfstraight
    \fmfleft{i1}
    \fmfright{o4,o3,o2,o1}
    \fmfforce{(.75w,.83h)}{v1}
    \fmfforce{(.75w,.17h)}{v2}
    % main
    \fmf{fermion}{o1,v1,o2}
    \fmf{fermion}{o3,v2,o4}
    \fmf{dashes,tension=1.5}{i1,v}
    % decay
    \fmf{boson}{v,v1}
    \fmf{boson}{v,v2}
  \end{fmfgraph*}
\end{fmfpicture}

% FORCE with relative coordinates
\begin{fmfpicture}{4,5}{4,5}{force-relative} % padding (LTRB)
  \begin{fmfgraph*}(120,120) % dimensions (WH)
    % external vertices
    \fmfstraight
    \fmfleft{i1}
    \fmfright{o4,o3,o2,o1}
    \fmfforce{0.5*(vloc(__o1)+vloc(__o2))+(-0.25w,0)}{v1}
    \fmfforce{0.5*(vloc(__o3)+vloc(__o4))+(-0.25w,0)}{v2}
    % main
    \fmf{fermion}{o1,v1,o2}
    \fmf{fermion}{o3,v2,o4}
    \fmf{dashes,tension=1.5}{i1,v}
    % decay
    \fmf{boson}{v,v1}
    \fmf{boson}{v,v2}
  \end{fmfgraph*}
\end{fmfpicture}

\end{document}