How to draw a induced charge under soliton - Feynman diagram?

Can someone illuminate line-by-line clear, how to draw this diagram?

Just a clear LaTex code is enough. Thank you!!

Either for the case: (1) in an equation or (2) in the figure. • this is what I already drew, so that above is what I tried. My graph. – wonderich Mar 23 '14 at 23:06
• but I draw it using non-LaTex format. I will like to know a way to do it in LaTex. Thank you. – wonderich Mar 24 '14 at 2:28

This seems to do the trick. You can adjust the amplitude and frequency of the two snakes fairly straightforwardly.

\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}


This is the result: Edit: Maybe older distributions don't support multiple indices, so remove the foreach loop completely, by changing the part of the dotted lines and "X"s to

% 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};

• JanisL you are surely an field theory expert! Thank you! – wonderich Mar 24 '14 at 5:51
• actually when I compile it, it does not really work, some error may occur at: { \draw[densely dashed] (\p)--+(\r:.5); \node[scale=.7,rotate=90+\r] at ($(\p)+(\r:.7)$) {$\mathsf X$}; } Is something wrong there? – wonderich Mar 24 '14 at 5:58
• Well, it should work with the LiveTex 2013 distribution. Maybe try changing $\mathsf X$ to just \sf X, I can't think of anything else that might go wrong. What does the error say exactly? – Jānis Lazovskis Mar 24 '14 at 12:09
• Hi JanisL, thanks for the reply. I use TexShop 2.47 for Mac. This line seems to be problemnatic: \foreach \p\r in {a/0,b/60,c/120,e/240,f/300}{ \draw[densely dashed] (\p)--+(\r: 0.5); \node[scale=.7,rotate=90+\r] at ($(\p)+(\r:0.7)$) {\sf X}; } If we remove this commands, there are no problem at all. – wonderich Mar 24 '14 at 14:50
• @idear and Jãnis, the version of TeXShop makes no matter. It is just an editor. The year release of TeXLive, however, does matter. You both can run tlmgr update --all in the terminal to ensure any version differences aren't the issue. – Sean Allred Mar 24 '14 at 15:41