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.

enter image description here

  • 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.




% How big you want the black circles on the ellipse

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


This is the result:

enter image description here

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
  • 2
    @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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.