JE: layout is a black art… have some boxes, divide up the boxes, translate everything into the layout box… layout of graphs is a dark art… graph layout: there are thousands of papers on this, and packages such graphviz that give you choices on which algorithms to use. try to use a package that gives graph layout things, to minimize line overlap as well as various weights on keeping certain things lined up, and other heuristics, etc.