The OP also should have included latexmk in the list, which is a build system that runs latex and auxiliary programs such as bibtex sufficiently many times to build a document with correct cross references. It can be configured to rebuild a document whenever any source file changes and refresh a viewer such as evince or xpdf, so you only have to save the .tex file in your editor to see the updated typeset version. I've used LaTeX for years and only discovered latexmk recently, but it has made the workflow much more pleasant.<p>I've always wished it were easier to define new environments with arbitrary syntax that gets passed to external programs for conversion to LaTeX code while LaTeX is running. A package called dot2texi has that ability for dot code snippets (i.e., AT&T graph visualization tools, dot etc.), and the dot2texi source code shows how to do it in general.<p>I agree with the comments that Tikz is an amazing package, and I didn't realize until recently that it includes many state of the art graph layout algorithms that are as good or better than dot, with highly customizable features such as allowing the user to specify absolute positions of some of the nodes and letting the algorithm place the rest. It seems the whole section of the Tikz manual pertaining to automated graph drawing is omitted if it's built on a system that doesn't have LuaTeX installed, which is how I must have missed it.