.PS r = 0.2 define(`node',`circle rad r sprintf("%g", $1)') define(`tree',`[ifelse(eval($1<=1),1,`node($2)', `tree(eval($1 - 1), int(($2)/10)) tree(eval($1 - 1), $2 - 11) with .nw at last [].ne + (0.1,0) node($2) at (last [].x+2nd last [].x)/2,last [].n.y+0.25 line from last circle.c to 2nd last [].n chop r chop 0 line from last circle.c to last [].n chop r chop 0 ') ]') tree(4, 1000) .PE