## An introduction to drawing graphs with TikZ/PGF, Part 3

Monday, October 17 2011, 23:20 - Permalink

*This post is the last in a series of articles about PGF/TikZ and its new graph drawing features on which I am working as part of my graduate thesis.*

In the previous two posts I gave an introduction to graph drawing, the graph syntax of TikZ and its Lua-based graph drawing engine that can be used to implement automatic graph drawing algorithms and use them to compute layouts for graphs that are to be rendered with TikZ.

For this post, my intention was to demonstrate the algorithms that I implemented as part of my thesis. These algorithms work well with many graphs, including grids, symmetric graphs, flow charts, flow networks and state machines or automata.

However, I decided to just point to the final version of my thesis here. It documents the algorithms extensively and gives many examples of how to use and tweak them. I think the thesis holds information much more useful to users and graph drawing researchers than what I’d be able to put in a regular blog post.

So, here is the official link:

If you find mistakes, please keep them to yourself. It still has to be marked by the two reviewers, so I don’t want to know what I did wrong yet. ;)

## Comments

May I ask what font you used. Did you use a certain template for the thesis or have you been customizing everything to fit your needs? Maybe tex sources available?

@Linc: I used Gentium as the main font, Palatino as the math font and Computer Modern as the monospace font. It's a ConTeXt document, the sources are available from here:

http://gezeiten.org/~jannis/thesis/...

http://gezeiten.org/~jannis/thesis/...

http://gezeiten.org/~jannis/thesis/...

http://gezeiten.org/~jannis/thesis/...

http://gezeiten.org/~jannis/thesis/...

http://gezeiten.org/~jannis/thesis/...

http://gezeiten.org/~jannis/thesis/...

http://gezeiten.org/~jannis/thesis/...

That's very kind...thank you

Wow, that does sound cool! It's a pity it's over a hundred pages cause otherwise I would have read it! :D

I haven't seen the previous blog posts though... Do you have a programming API to draw graphs directly within an application? That's something that kind of misses in the OpenSource field at the moment (unless you really enjoy hacking libgraphviz of course)...

Great job anyways! Hope the reviewers won't be too hard on you ;)

@SiDI: The other blog posts are linked at the top:

http://gezeiten.org/post/2011/07/An...

http://gezeiten.org/post/2011/07/An...

TikZ is a macro package for TeX, so it's not available as a library to be used in applications. It should be possible to write a library on top of it, but I don't think anyone has done that yet. There are frameworks like the Open Graph Drawing Framework though, which is a C++ library that I think also ships a few graph drawing algorithms and maybe an extension interface.

When can we expect the fruits of this work to be part of CTAN? :)