中间有箭头的蛇形线

中间有箭头的蛇形线

在我的代码中,我需要绘制一些带有几条线的费曼图,如下所示:

蛇形线

为了绘制该图像,我通常使用以下代码:

\tikzset{White/.style={
  draw=white, 
  postaction={decorate}, 
  decoration={markings,mark=at position 0.5 with {\arrow[black]{triangle 45} } }
  }
}
\tikzset{Snake/.style={decorate,decoration={snake}}} 

\begin{tikzpicture}[node distance=5cm]
  \node(A) {};
  \node (B) [right of=A] {};
  \draw[White] (A) -- (B);
  \draw[Snake] (A) -- (B);
\end{tikzpicture}     

但是这种代码不切实际,所以我尝试使用:

\tikzstyle{MomPotential}=[fixed point arithmetic,
     decoration={snake},
     decorate,
     postaction={decoration={markings,mark=at position 0.6 with arrow{triangle 45}}},
     decorate}
 ]

结果如下:

蛇线2

正如您所见,它有点丑陋,而且编译起来很费劲。有人有什么有用的想法吗?提前谢谢。

答案1

如果您接受\blacktriangleright符号而不是arrow{triangle 45},则不需要两个装饰,而需要一个装饰和一个节点:

\documentclass[tikz,border=2mm]{standalone}
\usetikzlibrary{decorations.pathmorphing,positioning}
\usepackage{amssymb}

\tikzset{
    Snake/.style={decorate, decoration={snake}}
    }
\begin{document}

\begin{tikzpicture}
\node (A) {A};
\node[right=2cm of A] (B) {B};

\draw[Snake] (A)--(B) node[midway]{$\blacktriangleright$};
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容