# How to typeset flowcharts in LaTeX?

I know that it can be done with graphics packages like `TikZ`, but it seems to be a bit of an overkill. And for those not already familiar with the `TikZ` system, learning it can be a bit of a barrier. So my question is

Assuming the advanced graphics capabilities are not necessary, and I just need a bare-bones flow chart (which should be implementable just using the `picture` environment), is there a LaTeX package for simply making a flow chart?

-
Not an answer to your question, but something for consideration: Once you copy the correct styles from somewhere, laying out the flowchart in TikZ is really straightforward as you can see in this example: texample.net/tikz/examples/simple-flow-chart. It also looks way better than what `flow` produces (in my opinion). –  Caramdir Jul 31 '10 at 12:51
I should add that functional is better than fancy, and for this question implicitly the smaller the learning curve the better (this is to recommend for use by some friends who are not too familiar with TeX and so the simpler and the easier to learn the better). –  Willie Wong Jul 31 '10 at 13:41
If you want to define the flowchart in a plaintext file you will always have to learn some syntax. I do not think the syntax can get any more self-explanatory than the tikz one (when you are given the style definitions). –  Caramdir Jul 31 '10 at 14:03
Both answers given are very good. I'm going to accept Dima's because he gave a larger list, and also that GraphViz will probably be what I go for. The syntax is, I think, slightly more intuitive than TikZ. The fact that the user has less control in aligning nodes, I think, maybe a plus. –  Willie Wong Jul 31 '10 at 15:05

# Pstricks with pst-matrix

This will require you to atleast be tiny-bit familiar with pstricks. You layout nodes in a pstmatrix and connect them up. More info and examples here http://tug.org/PSTricks/main.cgi?file=pst-node/psmatrix/psmatrix#flowchart

# TikZ

IMHO it is easier and better than previous one. Since you can design a few node styles (1-3 lines) and then possition nodes relative to each other (above, right, below, north east, etc) and connect them up with cool arrows in one go (A -- B -- C -- D) with an appropriate style the arrows will be automagic.

You can use the TikZ matrix library for a more rigid control of node positioning. See `texdoc tikz` for the excellent tutorial on how to do simple -> advanced flowchart and a simple example here.

# Dia

You can use Dia (website and windows installer) for a point-and-click solution. It has a few different TeX exporters (pstricks, metapost and pgf/tikz)

# Graphviz

You can use powerful graphviz / dot language to generate auto-layout for diagrams. This works very well for both small and large datasets. Although you have much less control in "alligning" nodes.

The website is here. There are a few solutions to "integrate" dot diagrams with LaTeX. See this, here and finally this.

# Other

Like with any graphics you can create a flowchart in inkscape/OO.o etc and just do `\includegraphics` in your document. If you fancy that. Very depends on your needs.

ps. /me is a TikZ fan =)

-
GraphViz looks promising. –  Willie Wong Jul 31 '10 at 13:37
There are many diagramming tools based on GraphViz. Many are to do for parsing class dependencies and code structures: makefiles, Java, C++ etc. omnigroup.com/products/OmniGraffle is based on graphviz and is far superior than any Visio stuff. It is gui based/semi automated gui for mac. –  Dima Jul 31 '10 at 14:05
Your link for Dia is wrong, it should be projects.gnome.org/dia. There is also a Windows version of Dia: dia-installer.de/index_en.html –  Caramdir Jul 31 '10 at 14:06
I think it's worth highlighting the fact that there's a graphviz-to-tikz converter (written by the guy behind texample.net), rather than burying it in an obscure link! (The "here" in the graphviz section of this answer). –  Loop Space Sep 2 '10 at 20:31
If you think TikZ could help you, I'm quite proud (for some strange reason!) of a fairly painless TikZ flowchart example that was recently accepted. –  Brent.Longborough Feb 21 '13 at 16:25

On CTAN exists a package nassflow. The documentation contains an example on page 5.

The package is from 1997, but I was able to use it without problems with TeXLive 2012. It is not part of the TeXLive distribution (wrong license), so you must install it manual. For a quick test, just download everything in a directory and try it.

-
I used this one. For me it did good work. –  Dave Feb 21 '13 at 14:36

a new package (on ctan this week) is called `flowchart`; the package itself provides shapes for objects used in flowcharts, and the docs show how to build a flow chart with the shapes and pgf/tikz.

i don't do flowcharts any more, but this package looked a contender.

for details, see http://www.ctan.org/pkg/flowchart

-

I've never used it, but there seems to be the `flow` program which produces a flowchart for the picture environment.

-
I shall try it out sometime. –  Willie Wong Jul 31 '10 at 13:39
The syntax is less superior to graphviz. And graphviz cat do latex, png, jpg, svg and many more things than this flow thing. Many tools exist to support graphviz, and this thing still requires you to "typeset" all nodes and all connection lines. –  Dima Jul 31 '10 at 14:07
`flow` program output seems to subsist on latex picture mode. that's a pretty clunky basis to start (it would only work with very simple charts). –  wasteofspace Feb 21 '13 at 16:56