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'd like to draw some bow-tie diagrams, which are diagrams for modelling risk, particularly for businesses like oil and gas and transport.

In the centre, there is a "top event", and there are zero or more "threats" and "consequences" on the left and right hand sides respectively. The threats and consequences can have zero or more "controls", which stop threats causing the top event, or mitigate the consequences if a top event occurs. The controls can have zero or more "escalation factors", which are child nodes that prevent the control from being effective.

It's a pretty basic qualitative model and rather like a tree. There is proprietory software to draw these models but the images are hideous.

I'm quite new to Tikz but the Tikz manual is a thing of wonder. What is the best way to draw one using Tikz? Should I use a mind map?

share|improve this question
Can you post a picture of what you would like to have? Did you try something already? Perhaps you could post a MWE too? – Count Zero Apr 18 '13 at 21:24
@johntait.org kindly absorb your comments and images inside question for clarity with EDIT:.In this way question gets pushed back into TeX.SX front page roll – texenthusiast Apr 19 '13 at 5:35
Also kindly place a good quality screenshot of image example inside the question so it becomes standalone irrespective of broken urls over time to benefit future users/viewers. may be MWE to get good attention. – texenthusiast Apr 19 '13 at 5:51
up vote 11 down vote accepted

There are many options for tree-like diagrams with LaTeX as dirtree, qtree, pst-tree and tikz packages, with or without library trees and others (shape, etc.).

An example with TikZ:



\begin{tikzpicture}[level distance=5em,sibling distance=4em,every node/.style={fill=green!50,rectangle,rounded corners, inner sep=1em}
child[grow=right] {node[fill=cyan!50]{1}
child {node{c}} child {node{b}} child {node{a}}
} % con linea en blanco nuevo child empieza aqui
child[grow=down] { node[fill=cyan!50]{2}
child {node{f}} child {node{e}} child {node{d}}
child[grow=left] { node[fill=cyan!50]{3}
child {node[fill=yellow,circle]{End}} child {node{h}} child {node{g}}
}; %ojo con el punto y coma final




share|improve this answer

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.