3

enter image description here

I am newbie in tikz and I would like to create a contour for a math document. Is it possible to produce the following diagram in tikz? If not, could you tell me an 'easy' solution other than the inclusion of the image with graphicx.

Thank you!

  • 5
    Just posting an image of what you want without posting any attempt by yourself to draw the diagram (which is not so difficult) is simply asking people to code for you. Of course, since there are people who might be willing to do that for you, you might get lucky, but you'd probably get more help if you showed us what you have tried. The basic structure shouldn't be too hard, and then you can ask questions about how to get some of the details. Related: How to draw these diagrams (closed contours) using TikZ or PSTricks? – Alan Munn Dec 23 '14 at 17:22
  • Ok Alan, I will try to do it first with geogebra. – user56980 Dec 23 '14 at 17:31
8

It's not so hard with TikZ, it just requires some learning and working with it. Here is code for you to start, inspired by Gonzalo, follow the Link given by Alan to learn more.

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations.markings}
\begin{document}
\begin{tikzpicture}[decoration={markings,
    mark=at position 1cm   with {\arrow[line width=1pt]{stealth}},
    mark=at position 4.5cm with {\arrow[line width=1pt]{stealth}},
    mark=at position 7cm   with {\arrow[line width=1pt]{stealth}},
    mark=at position 9.5cm with {\arrow[line width=1pt]{stealth}}
  }]
  \draw[thick, ->] (-2,0) -- (4,0) coordinate (xaxis);
  \draw[thick, ->] (0,-3) -- (0,4) coordinate (yaxis);
  \node[below] at (xaxis) {$\mathrm{Re}(s)$};
  \node[left]  at (yaxis) {$\mathrm{Im}(s)$};
  \path[draw,blue, line width=0.8pt, postaction=decorate] (0,3)
    -- node[midway, above, black] {$C_1$} (3,3)
    -- node[midway, right, black] {$C_N$}(3,-2)
    -- node[midway, below, black] {$C_2$} (0,-2);
\end{tikzpicture}
\end{document}

Contour example

If you think you can solve your task using TikZ now, you could go ahead and extend it.

0

Many thanks Stefan. I have now a nice tikz code for my contour:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations.markings}
\begin{document}
\begin{tikzpicture}
\draw[thick, ->,color=gray] (-2,0) -- (4,0) coordinate (xaxis);
\draw[thick, ->,color=gray] (0,-3) -- (0,4) coordinate (yaxis);
\node[below] at (xaxis) {$\mathrm{Re}(s)$};
\node[right]  at (yaxis) {$\mathrm{Im}(s)$};
\path[draw,blue, line width=0.8pt] (0,3)
--(3,3) node[midway, above, black] {$C_1$} 
   node[pos=0.3,black]{$>$}
--(3,-2) node[pos=0.4, right, black] {$C_N$}
   node[pos=0.3,black,rotate=-90]{$>$}
   node[pos=0.53, right, black] {$N+\frac 1 2$}
   node[pos=0.8,black,rotate=-90]{$>$}
--(0,-2) node[pos=0.4, below, black] {$C_2$} 
   node[pos=0.5,black]{$<$}
   node[left,black] {$N$}
--(0,-1.2) node[pos=0.4,black,rotate=+90]{$>$}
--(0.45,-1.2) node[pos=0.6,black]{$>$}
arc(-90:0:0.2) node[black,rotate=90]{$>$}
   node[right,black]{$-b$}
arc(0:90:0.2)    
--(0,-0.8) node[pos=0.5,black]{$<$}
--(0,-0.2) node[pos=0.4,black,rotate=90]{$>$}
arc(270:180:0.2) node[black,rotate=90]{$>$} arc(180:90:0.2)   
--(0,2) node[pos=0.4,black,rotate=90]{$>$}
   node[pos=0.6,black,right]{$C$}
--(1.35,2) node[pos=0.5,black]{$>$}
arc(-90:0:0.2) node[black,rotate=90]{$>$}
   node[right,black]{$-a$}
arc(0:90:0.2)
--(0,2.4) node[pos=0.5,black]{$<$}
--(0,3) node[pos=0.5,black,rotate=90]{$>$}
   node[black,left]{$N$};
% Les poles en y=-b
\foreach \x in {0.45,0.15,...,-1.05} {
\draw[thick,line width=1.5pt](\x-0.07,-1-0.07)--(\x+0.07,-1+0.07);
\draw[thick,line width=1.5pt](\x+0.07,-1-0.07)--(\x-0.07,-1+0.07);
}
% Les poles sur l'axe reel
\foreach \x in {0,0.3,...,2.1} {
\draw[thick,line width=1.5pt](\x-0.07,-0.07)--(\x+0.07,+0.07);
\draw[thick,line width=1.5pt](\x+0.07,-0.07)--(\x-0.07,+0.07);
}
\draw (2.3,0) node[rectangle,fill=white]{$\backslash\backslash$};
\foreach \x in {2.8,3.2} {
\draw[thick,line width=1.5pt](\x-0.07,-0.07)--(\x+0.07,+0.07);
\draw[thick,line width=1.5pt](\x+0.07,-0.07)--(\x-0.07,+0.07);
}
% Les poles en y=-a
\foreach \x in {1.35,1.05,...,-1.05} {
\draw[thick,line width=1.5pt](\x-0.07,2.2-0.07)--(\x+0.07,2.2+0.07);
\draw[thick,line width=1.5pt](\x+0.07,2.2-0.07)--(\x-0.07,2.2+0.07);
}
\end{tikzpicture}
\end{document}

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.