Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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?)

share|improve this question
    
zapata.org/stuart/latex/bibtex.shtml includes Figure 12.1 from The LaTeX Companion. Maybe the book includes some figure that better illustrates the compilation process. webdocs.cs.ualberta.ca/~c603/latex/latex.php includes a simple image of the compilation and \include. Also, if you want to know about the different files, see en.wikibooks.org/wiki/LaTeX/Basics#Files_you_might_Encounter. Maybe it would make sense for someone to make a nice flow chart of the compilation process and also share the code for it? –  N.N. Jan 17 '12 at 17:26
    
    
TeX-workflow –  Ignasi Jan 17 '12 at 17:53
add comment

2 Answers

up vote 32 down vote accepted

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).

share|improve this answer
    
Very nice! I showed your diagram on my blog - LaTeX workflow. –  Stefan Kottwitz Jan 18 '12 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 '12 at 9:07
    
@Stefan Kottwitz - Cool! You can put this diagram in the gallery of examples at TeXample.net –  agodemar Jan 18 '12 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 '12 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 '12 at 13:15
add comment

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

share|improve this answer
1  
I really like the iTeX block totally unrelated to any other. Well... It is...! –  zeroth Jan 17 '12 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 '12 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 '12 at 7:50
    
@PatrickGundlach it is ANT as in "Ant is Not Tex" by Achim Blumensath not as in the tool from apache –  Frank Mittelbach Jul 28 '12 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 '12 at 11:04
show 3 more comments

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.