I'm looking for a way to create a leontief-gozintograph that looks similar to this one:

enter image description here

I searched at http://www.texample.net/tikz/examples/ without success. Is there anyone who already have been creating something like this?


3 Answers 3


This is a tikz solution.

enter image description here


  adim/.style={rectangle,minimum width=50,minimum height= 20,draw,thick},
  nn/.style={rectangle,minimum width=210, minimum height=20,draw,thick},

  \node (UR) [adim] at (5,4)  {B60};
  \node (UL) [adim] at (-1,4) {A80};
  \node (C)  [adim] at (2,2)  {C100};
  \node (B)  [nn]   at (2,0)  {Konsum};
\draw[thick,->] (UL.north)  to[out=90, in=180, looseness=6]node[above]{a} (UL.west);
\draw[thick,->] (UR.north) to[out=90, in=0, looseness=6] node[above]{36} (UR.east);
\draw[thick,->] ($(UR.west)+(0,0.2)$) -- ($(UL.east)+(0,0.2)$) node[midway,above]{18};
\draw[thick,->] ($(UL.east)+(0,-0.2)$) -- ($(UR.west)+(0,-0.2)$) node[midway,below]{4};
\draw[thick,->] (UR) -- ($(B.north)+(3,0)$) node[midway,right]{15};
\draw[thick,->] (UL) -- ($(B.north)+(-3,0)$) node[midway,left]{14};
\draw[thick,->] (C) -- ($(B.north)+(0,0)$) node[midway,left]{48};
\draw[thick,<-] (UR.south west) -- (C.north east) node[midway,above]{6};
\draw[thick,->] (UR.south) -- (C.south east) node[midway,below]{b};
\draw[thick,<-] (UL.south east) -- (C.north west) node[midway,above]{c};
\draw[thick,->] (UL.south) -- (C.south west) node[midway,left]{40};
\draw[thick,->] ($(C.north east)+(-0.2,0)$) to[out=100,in=80] node[above]{30} ($(C.north west)+(0.2,0)$);
  • Thank your very much for sharing this. During the last two hours I also tried to handle it with Tikz. But the solution of mine isn't as close to the gozintograph as yours.
    – user39628
    Jan 19, 2014 at 15:59
  • @user39628 -- Glad I can help. Thank you too.
    – Jesse
    Jan 19, 2014 at 16:04

A PSTricks solution:



 {\psset{offset = #1, arrows = ->}
 {\psset{offset = 8pt, linestyle = none}
  \ncput{\small #4}
  \ncput{\small #5}}%
 {\psset{offset = -8pt, linestyle = none}
  \ncput{\small #5}}%


\psset{unit = 0.5}
  \rput(9.5,7.3){\small 30}
  \rput(19.1,11.8){\small 36}



  • +1: Can you make it with psmatrix such that no absolute coordinates are used explicitly? :-) Jan 20, 2014 at 6:53
  • @CodeMocker Probably. :) However, I have almost no time the next two days so you are (of course) welcome to give an answer. Jan 20, 2014 at 7:03

Here's another tikz solution that is based on Jesse's code:

\tikzset{adim/.style={rectangle,minimum width=50,minimum height= 20,draw,thick}, nn/.style={rectangle,minimum width=210, minimum height=20,draw,thick},}
\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=7cm, thick,main node/.style={draw,font=\sffamily\Large\bfseries}]
 \node (B) [adim] at (5,4)  {B 60};
 \node (A) [adim] at (-1,4) {A 80};
 \node (C)  [adim] at (2,2)  {C 100};
 \node (K)  [nn]   at (2,0)  {Konsum}; 
 \path[every node/.style={font=\sffamily\small}]
      ($(C.north west)+(0,-0.2)$) edge [bend right=8] node[right] {c} (A)
      ($(C.north east)+(0,-0.2)$) edge [bend left=8] node[midway,above,left] {6}(B)
      (C)   edge node {150}(K)
      ($(C.north east)+(-0.2,0)$) edge [out=100,in=80] node[above]{30} ($(C.north west)+(0.2,0)$)
      (A) edge [bend right=8] node[midway,below,left]  {40} ($(C.south west)+(0,0.275)$)
          edge [bend left=8] node[midway,above] {104}(B)
          edge node[midway,left]{14} ($(K.north)+(-3,0)$)
      ($(A.north east)+(-0.2,0)$) edge [out=100,in=80] node[above]{a} ($(A.north west)+(0.2,0)$)
      (B) edge [bend left=8] node[midway,below,right]  {105} ($(C.south east)+(0,0.275)$)
          edge [bend left=8] node[midway,below] {106}(A)
          edge node[midway,right]{15} ($(K.north)+(3,0)$)
      ($(B.north east)+(-0.2,0)$) edge [out=100,in=80] node[above]{30} ($(B.north west)+(0.2,0)$);


  • 2
    You should provide a complete MWE. :-)
    – DJJerome
    Jan 20, 2014 at 0:12

You must log in to answer this question.

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