title: Control layout using graphviz twopi
body: <p>I am trying to draw a graph showing search prefixes using twopi. I have a simple input file and am getting this output:</p>
  
  <p><a href="http://www.freeimagehosting.net/uploads/th.ac6cd51528.png">alt text http://www.freeimagehosting.net/uploads/th.ac6cd51528.png</a>
  <a href="http://www.freeimagehosting.net/image.php?ac6cd51528.png">(full image)</a></p>
  
  <p>Here is the input file:</p>
  
  <pre><code>digraph search {
  
  // ordering=out;
  // color=blue;
  // rank=same;
  // overlap=scale;
   rankdir=LR;
   root=root;
   ranksep=1.25;
   overlap=true;
  
  "root";
  
  a [color=none,fontsize=12];
  b [color=none,fontsize=12];
  c [color=none,fontsize=12];
  d [color=none,fontsize=12];
  e [color=none,fontsize=12];
  f [color=none,fontsize=12];
  #g [color=none,fontsize=12];
  h [color=none,fontsize=12];
  i [color=none,fontsize=12];
  j [color=none,fontsize=12];
  k [color=none,fontsize=12];
  l [color=none,fontsize=12];
  m [color=none,fontsize=12];
  n [color=none,fontsize=12];
  o [color=none,fontsize=12];
  p [color=none,fontsize=12];
  q [color=none,fontsize=12];
  r [color=none,fontsize=12];
  s [color=none,fontsize=12];
  t [color=none,fontsize=12];
  u [color=none,fontsize=12];
  v [color=none,fontsize=12];
  w [color=none,fontsize=12];
  x [color=none,fontsize=12];
  y [color=none,fontsize=12];
  
  #ga [color=none,fontsize=12];
  gb [color=none,fontsize=12];
  gc [color=none,fontsize=12];
  gd [color=none,fontsize=12];
  ge [color=none,fontsize=12];
  gf [color=none,fontsize=12];
  gg [color=none,fontsize=12];
  gh [color=none,fontsize=12];
  gi [color=none,fontsize=12];
  gj [color=none,fontsize=12];
  gk [color=none,fontsize=12];
  gl [color=none,fontsize=12];
  gm [color=none,fontsize=12];
  gn [color=none,fontsize=12];
  go [color=none,fontsize=12];
  gp [color=none,fontsize=12];
  gq [color=none,fontsize=12];
  gr [color=none,fontsize=12];
  gs [color=none,fontsize=12];
  gt [color=none,fontsize=12];
  gu [color=none,fontsize=12];
  gv [color=none,fontsize=12];
  gw [color=none,fontsize=12];
  gx [color=none,fontsize=12];
  gy [color=none,fontsize=12];
  
  gaa [color=none,fontsize=12];
  gab [color=none,fontsize=12];
  gac [color=none,fontsize=12];
  gad [color=none,fontsize=12];
  gae [color=none,fontsize=12];
  gaf [color=none,fontsize=12];
  gag [color=none,fontsize=12];
  gah [color=none,fontsize=12];
  gai [color=none,fontsize=12];
  gaj [color=none,fontsize=12];
  gak [color=none,fontsize=12];
  gal [color=none,fontsize=12];
  gam [color=none,fontsize=12];
  gan [color=none,fontsize=12];
  gao [color=none,fontsize=12];
  gap [color=none,fontsize=12];
  gaq [color=none,fontsize=12];
  #gaz [color=none,fontsize=12];
  gas [color=none,fontsize=12];
  gat [color=none,fontsize=12];
  gau [color=none,fontsize=12];
  gav [color=none,fontsize=12];
  gaw [color=none,fontsize=12];
  gax [color=none,fontsize=12];
  gay [color=none,fontsize=12];
  
  gaza [color=none,fontsize=12];
  gazb [color=none,fontsize=12];
  gazc [color=none,fontsize=12];
  gazd [color=none,fontsize=12];
  gaze [color=none,fontsize=12];
  #gazf [color=none,fontsize=12];
  gazg [color=none,fontsize=12];
  gazh [color=none,fontsize=12];
  gazi [color=none,fontsize=12];
  gazj [color=none,fontsize=12];
  gazk [color=none,fontsize=12];
  gazl [color=none,fontsize=12];
  gazm [color=none,fontsize=12];
  gazn [color=none,fontsize=12];
  gazo [color=none,fontsize=12];
  gazp [color=none,fontsize=12];
  gazq [color=none,fontsize=12];
  gazr [color=none,fontsize=12];
  gazs [color=none,fontsize=12];
  gazt [color=none,fontsize=12];
  gazu [color=none,fontsize=12];
  gazv [color=none,fontsize=12];
  gazw [color=none,fontsize=12];
  gazx [color=none,fontsize=12];
  gazy [color=none,fontsize=12];
  
  root -&gt; a  [minlen=2];
  root -&gt; b  [minlen=2];
  root -&gt; c  [minlen=2];
  root -&gt; d  [minlen=2];
  root -&gt; e  [minlen=2];
  root -&gt; f  [minlen=2];
  root -&gt; g  [minlen=2];
  root -&gt; h  [minlen=2];
  root -&gt; i  [minlen=2];
  root -&gt; j  [minlen=2];
  root -&gt; k  [minlen=2];
  root -&gt; l  [minlen=2];
  root -&gt; m  [minlen=2];
  root -&gt; n  [minlen=2];
  root -&gt; o  [minlen=2];
  root -&gt; p  [minlen=2];
  root -&gt; q  [minlen=2];
  root -&gt; r  [minlen=2];
  root -&gt; s  [minlen=20];
  root -&gt; t  [minlen=2];
  root -&gt; u  [minlen=2];
  root -&gt; v  [minlen=2];
  root -&gt; w  [minlen=2];
  root -&gt; x  [minlen=2];
  root -&gt; y  [minlen=2];
  root -&gt; 0  [minlen=2];
  root -&gt; 1  [minlen=2];
  root -&gt; 2  [minlen=2];
  root -&gt; 3  [minlen=2];
  root -&gt; 4  [minlen=2];
  root -&gt; 5  [minlen=2];
  root -&gt; 6  [minlen=2];
  root -&gt; 7  [minlen=2];
  root -&gt; 8  [minlen=2];
  root -&gt; 9  [minlen=2];
  root -&gt; "."  [minlen=2];
  
  g -&gt; ga  ;
  g -&gt; gb  ;
  g -&gt; gc  ;
  g -&gt; gd  ;
  g -&gt; ge  ;
  g -&gt; gf  ;
  g -&gt; gg  ;
  g -&gt; gh  ;
  g -&gt; gi  ;
  g -&gt; gj  ;
  g -&gt; gk  ;
  g -&gt; gl  ;
  g -&gt; gm  ;
  g -&gt; gn  ;
  g -&gt; go  ;
  g -&gt; gp  ;
  g -&gt; gq  ;
  g -&gt; gr  ;
  g -&gt; gs  ;
  g -&gt; gt  ;
  g -&gt; gu  ;
  g -&gt; gv  ;
  g -&gt; gw  ;
  g -&gt; gx  ;
  g -&gt; gy  ;
  
  ga -&gt; gaa  ;
  ga -&gt; gab  ;
  ga -&gt; gac  ;
  ga -&gt; gad  ;
  ga -&gt; gae  ;
  ga -&gt; gaf  ;
  ga -&gt; gag  ;
  ga -&gt; gah  ;
  ga -&gt; gai  ;
  ga -&gt; gaj  ;
  ga -&gt; gak  ;
  ga -&gt; gal  ;
  ga -&gt; gam  ;
  ga -&gt; gan  ;
  ga -&gt; gao  ;
  ga -&gt; gap  ;
  ga -&gt; gaq  ;
  ga -&gt; gaz  ;
  ga -&gt; gas  ;
  ga -&gt; gat  ;
  ga -&gt; gau  ;
  ga -&gt; gav  ;
  ga -&gt; gaw  ;
  ga -&gt; gax  ;
  ga -&gt; gay  ;
  
  gaz -&gt; gaza  ;
  gaz -&gt; gazb  ;
  gaz -&gt; gazc  ;
  gaz -&gt; gazd  ;
  gaz -&gt; gaze  ;
  gaz -&gt; gazf  ;
  gaz -&gt; gazg  ;
  gaz -&gt; gazh  ;
  gaz -&gt; gazi  ;
  gaz -&gt; gazj  ;
  gaz -&gt; gazk  ;
  gaz -&gt; gazl  ;
  gaz -&gt; gazm  ;
  gaz -&gt; gazn  ;
  gaz -&gt; gazo  ;
  gaz -&gt; gazp  ;
  gaz -&gt; gazq  ;
  gaz -&gt; gazr  ;
  gaz -&gt; gazs  ;
  gaz -&gt; gazt  ;
  gaz -&gt; gazu  ;
  gaz -&gt; gazv  ;
  gaz -&gt; gazw  ;
  gaz -&gt; gazx  ;
  gaz -&gt; gazy  ;
  
  gazo -&gt; "Blue Tuesday" ;
  "Blue Tuesday" [ fontsize=10];
  
  // Layout engines: circo dot fdp neato nop nop1 nop2 osage patchwork sfdp twopi 
  
  }
  </code></pre>
  
  <p>This output is generated with:</p>
  
  <pre><code>twopi -os1.png -Tpng s1.dot
  </code></pre>
  
  <p>I'm posting here because the printout is pretty dreadful. All of the nodes hung of "gaz" are overlapping; I've tried specifying <code>nodesep</code> and it is simply ignored. I would like to see the lines from root to the single letters further apart, but again, I can't control that.</p>
  
  <p>This seems to be a bug in twopi. The documentation says it should clearly follow these directives, but it doesn't seem to.</p>
  
  <p>My questions:</p>
  
  <ol>
  <li>Is there any way to make twopi behave?</li>
  <li>Failing that, is there a better layout engine to use?</li>
  </ol>
  
  <p>Thanks.</p>