有人可以逐行清楚地说明如何绘制此图吗?
只需一个清晰的 LaTex 代码就足够了。谢谢!!
无论是哪种情况:(1)在等式中,还是(2)在图中。
答案1
这似乎很管用。你可以相当直接地调整两条蛇的振幅和频率。
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc,arrows,decorations.pathmorphing,decorations.markings}
\begin{document}
% How big you want the black circles on the ellipse
\newcommand\nodesize{.035cm}
\begin{tikzpicture}
% Left part of diagram
\draw[decorate,decoration={snake,amplitude=.5mm,segment length=2mm}] (0,0)--(1,0);
\draw[fill=black] (1,0) circle (.07);
\node at (1,.4) {$J^\mu$};
\node at (1.4,0) {$=$};
\draw (3,0) ellipse (.7 and .5);
% Black dots
\node[circle,fill=black,inner sep=\nodesize] (a) at (3.7,0){};
\node[circle,fill=black,inner sep=\nodesize] (b) at (3.35,.43){};
\node[circle,fill=black,inner sep=\nodesize] (c) at (2.65,.43){};
\node[circle,fill=black,inner sep=\nodesize] (d) at (2.3,0){};
\node[circle,fill=black,inner sep=\nodesize] (e) at (2.65,-.43){};
\node[circle,fill=black,inner sep=\nodesize] (f) at (3.35,-.43){};
% Arrow tips
\draw[draw=none,decoration={markings,mark=at position 1 with {\arrow[thick]{stealth}}},postaction={decorate}] (2.3,0) to [out=90,in=180] (3.05,.5);
\draw[draw=none,decoration={markings,mark=at position 1 with {\arrow[thick]{stealth}}},postaction={decorate}] (3.7,0) to [out=270,in=0] (2.95,-.5);
% Dotted lines and "X"s
\foreach \p\r in {a/0,b/60,c/120,e/240,f/300}{
\draw[densely dashed] (\p)--+(\r:.5);
\node[scale=.7,rotate=90+\r] at ($(\p)+(\r:.7)$) {$\mathsf X$};
}
% Squiggly line to ellipse
\draw[decorate,decoration={snake,amplitude=.5mm,segment length=2mm}] (d)--+(180:.6);
\end{tikzpicture}
\end{document}
结果如下:
编辑:也许较旧的发行版不支持多个索引,因此请foreach
通过将虚线和“X”的部分更改为,完全删除循环
% Dotted lines and "X"s
\draw[densely dashed] (a)--+(0:.5);
\node[scale=.7,rotate=90] at ($(a)+(0:.7)$) {\sf X};
\draw[densely dashed] (b)--+(60:.5);
\node[scale=.7,rotate=150] at ($(b)+(60:.7)$) {\sf X};
\draw[densely dashed] (c)--+(120:.5);
\node[scale=.7,rotate=210] at ($(c)+(120:.7)$) {\sf X};
\draw[densely dashed] (e)--+(240:.5);
\node[scale=.7,rotate=310] at ($(e)+(240:.7)$) {\sf X};
\draw[densely dashed] (f)--+(300:.5);
\node[scale=.7,rotate=30] at ($(f)+(300:.7)$) {\sf X};