6

I am trying to draw this diagram using tikz, but I am only beginner and have some problems mainly with drawing arrows in this way. I also want nodes with round corners. Anybody can help me?

screenshot

2

1 Answer 1

9

This solution draw the diagram via tikz. Two styles are defined for blocks and lines respectively. To draw a line, label.anchor is used where anchor=north, south, east, and west.

enter image description here

Code

\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning,arrows}
\tikzset{
block/.style={
  draw, 
  rectangle, 
  minimum height=1.5cm, 
  minimum width=3cm, align=center
  }, 
line/.style={->,>=latex'}
}
\begin{document}
\begin{tikzpicture}

\node[block] (a) {Sociogram\\ Develoment};
\node[block, above right = 0.2cm and 2cm of a] (b) {Inter-Action \\Modeling};
\node[block, below =2cm of b]   (c){Responsibilites\\ Modeling};
\node[block, right =2cm of b]   (d){Interaction\\ Modeling};
\node[block, right =2cm of c]   (e){Work in-group\\ Task Modeling};

\draw[line] (a.north) |- (b.west);
\draw[line] (a.south) |- (c.west);
\draw[line] (e.north) -- (d.south);
\draw[line] ([xshift=-1cm]b.south) -- ([xshift=-1cm]c.north);
\draw[line] ([xshift=1cm]c.north) -- ([xshift=1cm]b.south);
\draw[] (b.east) -- ++(10pt,0) coordinate[yshift=-1.7cm](l){} |- (c.east);
\draw[<->,>=latex'] (d.west) -- ++(-10pt,0) coordinate[yshift=-1.7cm,](r){} |- (e.west);
\draw[-] ([xshift=1cm]c.north) -- ([xshift=1cm]b.south);
\draw[line] (l) -- (r);
\end{tikzpicture}
\end{document}
0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .