使用以下脚本,我可以绘制左侧面板。
\documentclass[11pt]{article}
\usepackage{tikz}
\usetikzlibrary{positioning,arrows}
\usetikzlibrary{decorations.pathmorphing}
\usetikzlibrary{decorations.markings}
\begin{document}
\tikzset{
particle/.style={thick,draw=blue, postaction={decorate},
decoration={markings,mark=at position .5 with {\arrow[blue]{triangle 45}}}},
gluon/.style={decorate, draw=black,
decoration={snake,aspect=0.53,segment length=5pt,amplitude=3pt}}
}
\begin{tikzpicture}[node distance=1cm and 1.5cm]
\coordinate[label=left:$ $] (e1);
\coordinate[left=of e1,label=left:$ $] (e00);
\coordinate[right=of e1,label=left:$ $] (e0);
\coordinate[above right=of e1,label=above:$ $] (e2);
\coordinate[below right=of e1,label=below:$ $] (e3);
\coordinate[right=of e3,label=right:$ $] (e4);
\coordinate[right=of e2,label=right:$ $] (e5);
\coordinate[right=of e0,label=right:$ + $] (e6);
\coordinate[right=of e6,label=right:$ $] (e60);
\coordinate[right=of e60,label=left:$ $] (e7);
\coordinate[left=of e7,label=right:$ $] (e700);
\coordinate[above right=of e7,label=above:$ $] (e8);
\coordinate[below right=of e7,label=below:$ $] (e9);
\coordinate[right=of e9,label=right:$ $] (e10);
\coordinate[right=of e8,label=right:$ $] (e11);
\draw[gluon] (e00) -- (e1);
\draw[particle] (e1) -- (e2);
\draw[particle] (e3) -- (e1);
\draw[particle] (e2) -- (e3);
\draw[gluon] (e3) -- (e4);
\draw[gluon] (e2) -- (e5);
\fill[black] (e1) circle (.1 cm);
\fill[black] (e2) circle (.1 cm);
\fill[black] (e3) circle (.1 cm);
\draw[gluon] (e700) -- (e7);
\draw[particle] (e7) -- (e8);
\draw[particle] (e9) -- (e7);
\draw[particle] (e8) -- (e9);
\draw[gluon] (e9) -- (e11);
\draw[gluon] (e8) -- (e10);
\fill[black] (e7) circle (.1 cm);
\fill[black] (e9) circle (.1 cm);
\fill[black] (e8) circle (.1 cm);
\end{tikzpicture}
\end{document}
右侧面板与左侧面板非常相似,只是线条不同。如有任何建议,我们将不胜感激。
答案1
可能只有你知道这些空标签是干什么用的,但我保留了它们。答案是,你可以使用in
和out
键来绘制弯曲的曲线。
\draw[gluon] (e1) to[out=90,in=180] (e00);
\draw[gluon] (e7) to[out=-90,in=180] (e11);
当然,你必须适当地设置坐标。
\documentclass[11pt]{article}
\usepackage{tikz}
\usetikzlibrary{positioning,arrows}
\usetikzlibrary{decorations.pathmorphing}
\usetikzlibrary{decorations.markings}
\begin{document}
\tikzset{
particle/.style={thick,draw=blue, postaction={decorate},
decoration={markings,mark=at position .5 with {\arrow[blue]{triangle 45}}}},
gluon/.style={decorate, draw=black,
decoration={snake,aspect=0.53,segment length=5pt,amplitude=3pt}}
}
\begin{tikzpicture}[node distance=1cm and 1.5cm]
\coordinate[label=left:$ $] (e1);
\coordinate[right=of e1,label=left:$ $] (e0);
\coordinate[above right=of e1,label=above:$ $] (e2);
\coordinate[below right=of e1,label=below:$ $] (e3);
\coordinate[right=of e3,label=right:$ $] (e4);
\coordinate[right=of e2,label=right:$ $] (e5);
\coordinate[above=of e5,label=left:$ $] (e00);
\coordinate[right=of e0,label=right:$ + $] (e6);
\coordinate[right=of e6,label=right:$ $] (e60);
\coordinate[right=of e60,label=left:$ $] (e7);
\coordinate[above right=of e7,label=above:$ $] (e8);
\coordinate[left=2cm of e8,label=right:$ $] (e700);
\coordinate[below right=of e7,label=below:$ $] (e9);
\coordinate[right=of e9,label=right:$ $] (e10);
\coordinate[below=of e10,label=right:$ $] (e11);
\draw[gluon] (e1) to[out=90,in=180] (e00);
\draw[particle] (e1) -- (e2);
\draw[particle] (e3) -- (e1);
\draw[particle] (e2) -- (e3);
\draw[gluon] (e3) -- (e4);
\draw[gluon] (e2) -- (e5);
\fill[black] (e1) circle (.1 cm);
\fill[black] (e2) circle (.1 cm);
\fill[black] (e3) circle (.1 cm);
\draw[gluon] (e700) -- (e8);
\draw[particle] (e7) -- (e8);
\draw[particle] (e9) -- (e7);
\draw[particle] (e8) -- (e9);
\draw[gluon] (e9) -- (e10);
\draw[gluon] (e7) to[out=-90,in=180] (e11);
\fill[black] (e7) circle (.1 cm);
\fill[black] (e9) circle (.1 cm);
\fill[black] (e8) circle (.1 cm);
\end{tikzpicture}
\end{document}