\documentclass{standalone} \usepackage{tikz} \usetikzlibrary{decorations.pathmorphing,decorations.markings} \begin{document} \begin{tikzpicture} \foreach \i in {1,...,2}{ \draw[postaction=decorate, decoration={markings, mark=at position .5 with {\arrow{>}}}](4*\i-2,0)--(4*\i,0); \draw[decorate, decoration={snake}](4*\i,3)--++(0,-3); \fill(4*\i,0)circle(0.1); } \foreach \i in {1,...,2}{ \draw[postaction=decorate, decoration={markings, mark=at position .5 with {\arrow{>}}}](4*\i-4,0)--(4*\i-2,0); \draw[decorate, decoration={snake}](4*\i-2,2)--++(0,-2); \fill(4*\i-2,0)circle(0.1); } \draw[postaction=decorate, decoration={markings, mark=at position .5 with {\arrow{>}}}](8,0)--(10,0); \draw(1,0.25)node{$1$}; \draw(3,0.25)node{$2$}; \draw(5,0.25)node{$1$}; \draw(7,0.25)node{$2$}; \draw(9,0.25)node{$1$}; \draw(1,-0.25)node{$\mathbf k$}; \draw(3,-0.25)node{$\mathbf k+l_1b$}; \draw(5,-0.25)node{$\mathbf k+m_2b'$}; \draw(7,-0.25)node{$\mathbf k+l_3b$}; \draw(9,-0.25)node{$\mathbf k$}; \draw(2,2.25)node{$\tau^{(1)}_{l_1}(\mathbf k+l_1b)$}; \draw(4,3.25)node{$\tau^{(2)}_{m_2}(\mathbf k+l_1b+m_2b')$}; \draw(6,2.25)node{$\tau^{(1)}_{l_3}(\mathbf k+m_2b'+l_3b)$}; \draw(8,3.25)node{$\tau^{(2)}_{0}(\mathbf k+l_3b)$}; \end{tikzpicture} \end{document}