Begin main content

Embedding GraphViz in LaTeX documents

I have to say I'm loving using LaTeX for my Uni papers. It is so delightfully straightforward and powerful.

I am embedding some GraphViz diagrams in my documents, but I didn't want a round trip to a different editor buffer and the shell to edit/compile/insert the diagram.

Based on graphviz.tex code by Derek Rayside I have created a custom LaTeX function that will automatically compile and embed inline GraphViz code (man those wacky capitilisations are getting boring!)

You embed a graph like so:

   \digraph[scale=0.5]{MyGraph}{rankdir=LR; a->b; b->c}
Be careful not to have any double newlines or your dot file will have some bogus \par comments in it (which I should replace with newlines in the function...). Another possible enhancement would be to add a dynamic dot command to set the maximum diagram height & width to the current page/column dimensions.

You need my graphviz.sty and you need the following in your document preamble:

   \usepackage[pdftex]{graphicx}
   \usepackage{graphviz}
Remember to run texhash if you install the style in a system-wide location. Note this assumes pdflatex. Modifying the command for regular latex is an exercise left for the reader. Update: Derek now has an updated version available on GitHub (which didn't exist in 2007 :). https://github.com/drayside/graphviz.sty/blob/master/graphviz.sty.

08:09 AM, 25 Mar 2007 by Mark Aufflick Permalink

Todo

Change this style to use the excellent dot2tex: http://www.fauskes.net/nb/introducing-dot2tex/

by Mark Aufflick on 05/21/07

cool

Awesome! This was very useful for me.

by Unregistered Visitor on 02/13/09

Thank you

I really like this, and I fiddled around with dot2tex as suggested in your comment to yourself. Here are my results. I've never written a latex sty file before, so please feel free to improve it.

% graphviz.sty
% by Mark Aufflick
% 2006-03-25
% mark@aufflick.com
% http://mark.aufflick.com/
%
% based on graphviz.tex by Derek Rayside 2003

% add the following lines to your preamble:

% \usepackage[pdftex]{graphicx}
% \usepackage{graphviz}

% parameters to \digraph:
% 1 - parameters for \includegraphics (optional; default value is "scale=1")
% 2 - name of the digraph
% 3 - body of the digraph

% assumes pdflatex. to modify this command for regular latex,
% replace all .pdf with .ps, and the command becomes simply:
% dot -Tps #1.dot

\ProvidesPackage{dottotex}

\newcommand{\dottotex}[2]{ 
  \newwrite\dotfile 
  \immediate\openout\dotfile=#1.dot 
  \immediate\write\dotfile{digraph #1 {\string#2}} 
  \immediate\closeout\dotfile
  \write18{bash -c "`which neato` -Txdot #1.dot | `which dot2tex` -tmath --figonly --usepdflatex -ftikz --tikzedgelabels --styleonly -o #1tikz.tex"}  
  \IfFileExists{#1tikz.tex}
  % the tex exists: include it 
  { \include{#1tikz} } 
  % the tex was not created - show a hint
  { \fbox{ \begin{tabular}{l} 
        The file \texttt{#1tikz.tex} hasn't been created from 
        \texttt{#1.dot} yet. \\
        We attempted to create it with:\\
        `\texttt{neato -Txdot #1.dot | dot2tex  --figonly --usepdflatex -ftikz --tikzedgelabels --styleonly -o #1tikz.tex}` \\
        but that seems not to have worked. You need to execute `\texttt{pdflatex}` with \\
        the `\texttt{-shell-escape}` option.
      \end{tabular}} 
  } 
}

by Unregistered Visitor on 04/02/09

Something to be wary of

You should not have the \newwrite directive in your \newcommand. If you do and use it a lot you will exhaust the write buffers available. Just move that command out of the \newcommand block. Like: \newwrite\dotfile \newcommand{\digraph}[4][scale=1]{ \immediate\openout\dotfile=#2.dot etc.

by Unregistered Visitor on 10/06/10

Updated version on Github

For an updated version of GraphViz.sty see Mike Prentice's Github version: https://github.com/mprentice/GraphViz-sty

by Mark Aufflick on 02/23/11

Filenames with hyphens

If you want filenames with hyphens in them, put quotes around #2 in the following line: \immediate\write\dotfile{digraph #2 {\string#3}}

by Unregistered Visitor on 04/02/13

Accents and labels with spaces

Very nice functionality! But how do you prevent PDFLaTeX from introducing strange codes when using spaces and accented characters in, e.g. label? Example: try the following \digraph[scale=0.5]{MyGraph}{rankdir=LR; a [label="This is A"]; a->b; b->c} If I drop the double quotes there will be three nodes instead of one, and any replacement of the quotes by single quotes or braces, will result in strange nodes labeled with LaTeX items from when it processes the box; just like when the label string contains accented characters. Solving this would, for my use, make graphviz.sty full featured. Best regards, Morten Lind.

by Unregistered Visitor on 06/27/13

Updated version on Github

I just uploaded a newer version of this to Github: https://github.com/drayside/graphviz.sty cheers, Derek.

by Unregistered Visitor on 08/15/13

study

The relationship developed by all understudies as they mutually do their school studies keeps them spurred and http://www.wwwritingservice.com/ - essay writing service the members have a tendency to have more chances to impart as they create improve their abilities.

by Unregistered Visitor on 10/22/14

wetakecareofbusiness

See several online business blogs regularly from the se like msn, yahoo or simply bing, read up to date post, and prepare a comment about that. Make certainly your provide feedback is bond with their blog as well as an ad in your business. How you'll get more customers? Leave your blog or website during the comment You simply will not believe any traffic you can generate using the simple theory. Commenting regarding other online business blogs is quick and easy. wetakecareofbusiness

by Unregistered Visitor on 10/23/14

treefinance

Lake say That i tried most of the not suitable tips on how to make money via the internet, I lead to it. I did the webpage with Adsense, used Click Loan provider with online info training books, Amazon's affiliate marketing, and other. I assume if others were definitely prospering for doing experiencing results it was going to be easy for me that will copy. I at all times knew That i needed any adaptability and way of living that the webs business be ready to provide however , I was initially still working for others. treefinance

by Unregistered Visitor on 10/23/14

iutcfinance

The main advantages of franchising into the franchisor happen to be that franchisee will have to buy license within the franchisor to exercise the business. To shop for this driver's license, the franchisee pays huge amount into the franchisor, together with besides the, pays a good monthly bill for holding that identity. Moreover, a franchised online business can grow quicker than if ever the owner might possibly be responsible that will finance most of the outlets. At the same time, the process might possibly be cumbersome. iutcfinance

by Unregistered Visitor on 10/23/14

riversourceinsurance

Own your history ready when trying to find a life insurance policy, because patiently waiting may be a hassle for just anyone. You recognize that they will request your history, and except when you've kept track of it all by yourself, the hospital's reports system might take weeks or simply months to build it to your. riversourceinsurance

by Unregistered Visitor on 10/23/14

insurancelikeitshoulbe

What is more, in component to valuables insuranc policy, there are definitely covers available so that you can seriously think of when two hundred thousand dollar motor 18 wheeler cargo insurance. Refrigerator braking system down, generated freight coverage, loading together with unloading policy, and larceny coverage would definitely be a few a single article. However, it is your job whether so as to add these even more optional coverage towards your truck cargo insurance for one small portion for additional superior. Anyway, you might want to make the selection carefully in an effort to maximize an individual's scope for cover. insurancelikeitshoulbe

by Unregistered Visitor on 10/23/14

education

Grown-up learners are given a chance of composing their engaged Essay Thinker to write my essay assignments the way they feel more adaptable so long as they convey well. In any case they must be watchful that all is carried out inside the obliged principles while they include their teachers to provide for them more direction. Don't make presumptions that all you will do will be checked as right.

by Unregistered Visitor on 10/24/14

houses to rent brisbane

I'm impressed. houses to rent in australia I try to keep a couple blogs somewhat current, but it's a struggle sometimes. Well done. brisbane houses for sale There's a bunch of good information here. property for sale perth I'm impressed. brisbane houses for sale

by Unregistered Visitor on 10/30/14

thank a lot

Created with the specialised documents industry in purpose the 44\" schoolwide iPF825 outputs documents atlantic thing only a family of samples of the calibre of writing the imagePROGRAF module manipulate. if you need the driver printer, you can check at download Driver Canon imageprograf ipf825 Aesthetically, real slight is completely diverse from incompatible Epson dedicated danger printers; it\'s monovular bucket-and-handle communication of the PictureMate if you need the driver printer, you can check at download driver epson picturemate pm235 Naturally, it cannot stop a candela to the One\'s indulgent name and 4.7in, 1080p guide, object for a sub-£200 sound the give 500 is uncommonly glorious. Its shiny discolor plastic phrase is around off nicely by a color dirty take that surrounds the force and seamlessly encompasses the honor buttons on the right-hand urgency. if you need the gadgets info, you can check at specifications review htc desire 500 Using deain groundwork of 1 of the most favourite Mitsubishi SUV beginning referred to as GG - PHEV , the most recent procreation Pajero was present to circularise the populate runway high-powered hit - in organism if you need the last info about car automotive, you can check at review pajero Mitsubishi gg phev bilang untuk memasang iklan Adsense di diary, kita harus mendaftar adsensenya dari Blogger, tidak bisa dari youtube lagi if you need the last info update about technology, you can check at kita echo pengenalan google adsense PIXMA MG7570 picture the PIXMA bit & Photo fulfil with NFC susceptibility, which suggests users don't got to control urbane meshwork settings. Users can turn documents or... if you need more info about geophysics, you can check at Download Printer Rahmat Punya Driver

by Unregistered Visitor on 10/30/14

study

that will provide for them the urge to need to find and learn new things. You will be amazed at how smartcustomwriting.net write my paper for me quick they find themselves able to handle things even with their guiltless age.

by Unregistered Visitor on 10/30/14

essay writing

Thanks for writing this post, Its really extensive and help full for my write my essay writing service for me. I will pay good amount.

by lewis paul on 10/31/14

thanks

well done guys i hope to see too much from you also jogos de motos

by Unregistered Visitor on 10/31/14

Add comment