20

So, I recently delved into LaTeX for a project at work. But I’m come from the XML+XSL world, and some of LaTeX’s design is kind of difficult for me to grok.

(I’m not interested in debating the design decisions of separation of semantics from presentation. I’m just saying that my brain is used to thinking in a very different way, and I’m having a hard time forming a mental model of how LaTeX-and-friends all work together to accomplish their task.)

I’m a visual thinker. Is there a diagram that describes what the typical LaTeX processing flow is?

For example, imagine an article written in LaTeX, which makes use of BibTeX references. I know there are also .sty files in the processing, somewhere. I also spotted some .aux files. And while browsing the packages installed by TeX Live I recall reading that some packages can even define their own filetypes for custom functionality. Among these types of files, what are the most popular formats?

So when I open a LaTeX document in my GUI editor and hit Typeset, and up pops a PDF—what has just taken place? (And more importantly, what are the responsibilities of each component in the processing chain?)

3

2 Answers 2

39

Based on this example on texample.net I have created this diagram: Infographics: Interaction of User level and Software/file level in LaTeX workflow

This infographic is an attempt to visualize the interaction of 'User level' and 'Software/file level' in LaTeX workflow. Sources available here.

This is not exactly an answer. To give an idea of the files involved in the compilation, the node named ".tex file" should be elaborated further. There should be more nodes on the "Software/file level"---e.g. ".sty file(s)", ".aux file(s)", ".tex file(s)", etc.---each one connected to the main .tex source node. This makes the infographic more complicate. Moreover, the diagram really would depend on the particular case. Similarly, if the chain latex|dvips|ps2pdf is used, also other nodes, e.g. ".ps file", should show their dependence on other files in the TeX system (.pro files, etc).

5
  • Very nice! I showed your diagram on my blog - LaTeX workflow.
    – Stefan Kottwitz
    Jan 18, 2012 at 8:59
  • +1, but I hope that one day "dvi" does not appear in diagrams like these anymore. "Why is TeX so hard to use? Because it creates output you need a special viewer for".
    – topskip
    Jan 18, 2012 at 9:07
  • @Stefan Kottwitz - Cool! You can put this diagram in the gallery of examples at TeXample.net
    – agodemar
    Jan 18, 2012 at 15:11
  • @agodemar Gladly! I added the diagram and a link to TeX.SX to the diagram example, where it's based on.
    – Stefan Kottwitz
    Jan 18, 2012 at 16:56
  • @Patrick Gundlach - I agrre with your comment. Actually the picture could be simplified very much if we consider the actual standard, i.e. working with pdflatex (even when using pstricks). But then, probably, there's no need anymore for a two-level representation.
    – agodemar
    Jan 21, 2012 at 13:15
17

Not regarding the LaTeX processing flow, but dependencies of LaTeX, TeX and related software, still matching the title of your question and your visual thinking:

An overview of TEX, its children and their friends by Arno Trautmann is an overview with a many diagrams.

  • It deals with the difference between engine, format and distribution
  • Gives a short and an comprehensive diagram of the TeX program and the descendants
  • Provides diagrams of various formats (plain TeX, LaTeX, related)
  • Shows the development of ConTeXt
  • Lists other formats
  • Gives an overview of current and historical TeX distributions
  • Deals with MetaPost, BiBTeX, Fonts, and more, in a visual way

The source code is available on https://github.com/alt/tex-overview.

An example tree diagram, showing TeX engines with code dependencies, also trying to keep it in a chronological order:

Tex engines tree

8
  • 1
    I really like the iTeX block totally unrelated to any other. Well... It is...!
    – nickpapior
    Jan 17, 2012 at 19:51
  • I would love to display this graph in an intro LaTeX class under the heading ``\TeX\ is easy!'' :) [Of course it's not really related to how you produce final documents, but they wouldn't know]
    – Rasmus
    Feb 5, 2012 at 16:33
  • I am not sure why ant has a line to TeX. It is as much related to TeX as chocolate ice cream.
    – topskip
    Jun 15, 2012 at 7:50
  • @PatrickGundlach it is ANT as in "Ant is Not Tex" by Achim Blumensath not as in the tool from apache Jul 28, 2012 at 9:58
  • @FrankMittelbach sure, but it is not related to TeX. Otherwise you could probably also mention RTF, lout and probably many others.
    – topskip
    Jul 28, 2012 at 11:04

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .