I am just asking for the terminology here. I know the technical details of what pdflatex, xelatex and similiar software really is.

But how would you describe that?

  • a "compiler"?
  • does it "compile" the pdf-document out of tex-code?

I think this words doesn't fit here but I doesn't know alternatives.

  • 7
    No, they're more interpreters, but it's common to talk about “compiling” as the main output is a binary file, DVI or PDF. – egreg Nov 5 '15 at 14:11
  • @buhtz you could call the software 'typesetters' as they are frontends to the TeX typesetting program - but may I ask why you are interested? Just enjoy the results (and the occasional frustration)... – Marijn Nov 5 '15 at 15:10

At the beginning of the source code for TeX, Knuth calls TeX a "document compiler".

But in The Art of Computer Programming, vol. 1, Knuth says that the TeX program is an interpreter for the TeX language, which produces output in DVI format, which can in turn be converted to PostScript, another interpreted language.

I will have to let someone with training in computer science reconcile these statements.

  • 2
    i think that knuth may have used the term "document compiler" because a non-compter-scientist might not understand the difference between a compiler and an interpreter; compiler is probably the more ubiquitous term to the general public. – barbara beeton Nov 5 '15 at 19:48
  • @barbarabeeton I had the same instinct, but that seems odd since he uses the phrase in the WEB source code. But he did stated that his goal was to write and publish that code as a work of literature, so that would suggest he imagined a broader readership. Also in his books he often begins with an introduction that any reader could appreciate before going rapidly into the deep end. – musarithmia Nov 5 '15 at 21:10

To be precise, I think xelatex and pdflatex may be better described as front-end programs running the LaTeX document preparation system (a set of TeX macros) on top of the xetex and pdftex document compilers.

  • 1
    IIRC, on a Unixy system, the command pdflatex is actually a symbolic link to pdftex. That program checks the name by which it was called, and changes its behavior depending on whether it was pdftex or pdflatex. Thus these two are really the same program, which is a binary executable file with the LaTeX format built into it. – musarithmia Nov 5 '15 at 18:49
  • What is the difference between that symbolic link and a script? otoh, in my windoze system, both are different executables calling different formats but the same dll; i.e. they are not much different from a script. – jarnosz Nov 5 '15 at 18:53
  • On a Unixy system, a symbolic link is a file that points to another file; a script is a piece of code that the Shell or other program executes. In function, I suppose there is not much difference between ln -s target link and putting alias "link"=target in your .bash_aliases configuration file. – musarithmia Nov 5 '15 at 19:00
  • point conceded: I rephrased my answer accordingly. – jarnosz Nov 5 '15 at 19:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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