 *   http://www.graphviz.org
 *   http://www.graphviz.org/doc/
 *
 * Minimal postprocessing example:"
 *  $ dot -Tps  foo.dot -o foo.ps   # ps output"
 *  $ dot -Tsvg foo.dot -o foo.svg  # svg output"
 *
 * Note that nodes in a subgraph with no internal edges all have
 * the same rank (rank determines horizontal placement). To split 
 * the subgraph into several rows you can manually add invisible
 * invisible edges, for example: "node1 -> node2 [color=invis];"
 *
 * When the default node style is "filled" use "style=" to unset filled, 
 * or fill with background color (there is no "unfilled" style attribute).
 *
 * Processing a dot-file the graphviz 'unflatten' command may result
 * in a more pleasing layout.
 *
 * You can use the 'dot -G|N|E' commandline options to experiment with
 * different global settings without editing a dot file directly.
 *
 * Printing large graphs successfully can be problematic. One method 
 * that works on Linux is to generate an svg layout, load into inkscape 
 * and set the page size to A3 under "document properties", save a PDF
 * copy, load that into evince, set A3 again, and 'landscape' if
 * necessary, in "Print Setup", then print the frickin' thing.
 *
 * You can tell dot to split a large layout into a multi-page mosaic
 * that can be pieced together after printing: use the 'page=x,y' and
 * 'size' graph attributes (see dot documentation for details).
