TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?


share|improve this question
I think you can have a look to High level digital design in TikZ: all basics concepts to let you start are explained. – Claudio Fiandrino Mar 27 '14 at 15:59
You might also have looked at this question about box diagrams. It has a TikZ answer very like the one you got below, and two Metapost solutions. – Thruston Mar 27 '14 at 19:17
up vote 7 down vote accepted

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


  minimum height=1.5cm, 
  minimum width=3cm, align=center

\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);
share|improve this answer
Thanks a lot, you save me lot of time – user29186 Mar 27 '14 at 16:54
You are welcome. – Jesse Mar 27 '14 at 17:00
@user29186 it'd be great if you could 'upvote' Jesse's nice answer :) Reputation is the currency of our site, and by upvoting you'll give Jesse 10 reputation points, and some votes that will be counted towards tag-related badges – cmhughes Mar 27 '14 at 17:15
@cmhughes -- Much obliged, fingers touching my forehead. :-) – Jesse Mar 27 '14 at 17:39

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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