在我的代码中,我需要绘制一些带有几条线的费曼图,如下所示:
为了绘制该图像,我通常使用以下代码:
\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}
]
结果如下:
正如您所见,它有点丑陋,而且编译起来很费劲。有人有什么有用的想法吗?提前谢谢。
答案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}