I want to connect two tikz nodes with a line which should not overlap the other nodes. It additionally should branch below the node and run into the top again. I also want to label the edge/line.
I wrote this code:
\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{calc,trees,positioning,arrows,chains,shapes.geometric,%
decorations.pathreplacing,decorations.pathmorphing,shapes,%
matrix,shapes.symbols}
\begin{document}
\tikzset{
>=stealth',
punktchain/.style={
rectangle,
rounded corners,
draw=black, very thick,
text width=14em,
minimum height=3em,
text centered,
on chain},
line/.style={draw, thick, <-},
every join/.style={->, thick,shorten >=1pt},
}
\begin{tikzpicture}
[node distance=.6cm,
start chain=going below,]
\node[punktchain, join] (intro) {Introduction};
\node[punktchain, join] (initRun) {InitialRun};
\node[punktchain, join] (nthRun) {nTh Run};
\node[punktchain, join] (conc) {Conclusion};
\path[line] (nthRun.north east) -- ++(1,0) |- node{Iteration} (nthRun.south east);
\end{tikzpicture}
\end{document}
This leads into the following result (left), what I want is on the right (red color not intended, just for clarification)

How can this be done using tikz?

linestyle withredline/.style={draw,ultra thick, red,->,>=latex}and replace thepathwith\draw[redline] (nthRun.south) |- ++(0,-.3) -| ($(nthRun.east) +(5mm,0)$) node[right]{Iteration}|- ($(nthRun.20) +(0,.3)$) -- (nthRun.20) ;? – percusse Jan 02 '12 at 19:13