Example: The TeX work flow

Published 2006-12-02 | Author: Kjell Magne Fauske

I spotted this well-known diagram of the TeX work flow in [1], where it was used to illustrate when a step-by-step presentation technique is appropriate. With Beamer and TikZ it is quite easy to gradually draw a diagram, since the \path construct is overlay aware. Download the PDF to see it in action.

[1]Veytsmann, B. (2006). Design of Presentations: Notes on Principles and LaTeX Implementation. The PracTeX Journal, 4

Download as: [PDF] [TEX]

The TeX work flow

Do you have a question regarding this example, TikZ or LaTeX in general? Just ask in the LaTeX Forum.
Oder frag auf Deutsch auf TeXwelt.de. En français: TeXnique.fr.




\frametitle{The \TeX\ work flow}

\tikzstyle{format} = [draw, thin, fill=blue!20]
\tikzstyle{medium} = [ellipse, draw, thin, fill=green!20, minimum height=2.5em]

\begin{tikzpicture}[node distance=3cm, auto,>=latex', thick]
    % We need to set at bounding box first. Otherwise the diagram
    % will change position for each frame.
    \path[use as bounding box] (-1,0) rectangle (10,-2);
    \path[->]<1-> node[format] (tex) {.tex file};
    \path[->]<2-> node[format, right of=tex] (dvi) {.dvi file}
                  (tex) edge node {\TeX} (dvi);
    \path[->]<3-> node[format, right of=dvi] (ps) {.ps file}
                  node[medium, below of=dvi] (screen) {screen}
                  (dvi) edge node {dvips} (ps)
                        edge node[swap] {xdvi} (screen);
    \path[->]<4-> node[format, right of=ps] (pdf) {.pdf file}
                  node[medium, below of=ps] (print) {printer}
                  (ps) edge node {ps2pdf} (pdf)
                       edge node[swap] {gs} (screen)
                       edge (print);
    \path[->]<5-> (pdf) edge (screen)
                        edge (print);
    \path[->, draw]<6-> (tex) -- +(0,1) -| node[near start] {pdf\TeX} (pdf);


  • #1 varu, February 2, 2012 at 3:17 a.m.

    Hi, I applied this to a document instead of beamer. It produced PDF but giving me so many errors. Any suggestions. Thanks

  • #2 varu, February 2, 2012 at 3:22 a.m.

    The problem is solved :) Thanks though !!

  • #3 Joe, June 11, 2012 at 12:01 p.m.

    Thanks, example really helped me to get started!

  • #4 Abdallah, July 25, 2013 at 2 p.m.

    Thank you very much for this document, it really helps me. I want just to ask you how to change the distance between nodes horizontally. I tried to make a similar exercise, I want to link 3 nodes disposed vertically with a node which is situated in right of the second box. When I compile, I can't see the arrows. Any help please? Thanks.

Adding comments is currently not enabled.