我正在尝试找到一些非常简单的示例代码费曼图. 与以下任何或所有图片相似的东西
我找到了一些示例代码在 texample.net 上,但由于我是 TikZ 新手,我无法真正调整它来生成像上述示例一样简单的东西。 我将不胜感激任何帮助 :)。
编辑:我设法将代码简化为一个接近我想要的较小的示例:
\documentclass[a4paper,12pt]{article}
\usepackage{tikz}
\usetikzlibrary{decorations.pathmorphing,decorations.markings,trees}
\begin{document}
\tikzset{
photon/.style={decorate, decoration={snake}, draw=red},
particle/.style={draw=blue, postaction={decorate},
decoration={markings,mark=at position .5 with {\arrow[draw=blue]{>}}}},
antiparticle/.style={draw=blue, postaction={decorate},
decoration={markings,mark=at position .5 with {\arrow[draw=blue]{<}}}},
gluon/.style={decorate, draw=black,
decoration={snake,amplitude=4pt, segment length=5pt}}
}
\begin{tikzpicture}[
thick,
% Set the overall layout of the tree
level/.style={level distance=1.5cm},
level 2/.style={sibling distance=3.5cm},
]
\coordinate
child[grow=left]{
edge from parent [gluon]
child {
edge from parent [particle]
node [above] {$g$}
}
child {
edge from parent [antiparticle]
node [below] {$g$}
}
node [above=3pt] {$g$}
}
% I have to insert a dummy child to get the tree to grow
% correctly to the right.
child[grow=right, level distance=0pt] {
child {
edge from parent [antiparticle]
node [above] {$g$}
}
child {
edge from parent [particle]
node [below] {$g$}
}
};
\end{tikzpicture}
\end{document}
但是,如果我不想要胶子的线圈装饰,而是想要一条直虚线,我会将线
gluon/.style={decorate, draw=black,
decoration={snake,amplitude=4pt, segment length=5pt}}
为了
gluon/.style={draw=black,dashed}
但是,这也会使得胶子左边的两个粒子变成虚线。有人能建议如何解决这个问题吗?
答案1
据我所知,“虚线”样式选项是设置/tikz/dash pattern
为虚线样式的简写(PGF 手册 v2.1,第 157 页)。然后,该样式将对路径的其余部分保持有效,直到您再次更改虚线图案。由于其他样式未指定虚线图案,因此它们将继续使用有效的样式。尝试在(反)粒子和胶子的定义中添加“固体”,它应该会起作用。
答案2
我不知道您是否有兴趣,但如果您只需要绘制“标准”图表,您可以看看feynmf
专为此设计的包!