Many LaTeX beginners struggle with a few basic notions, so let us explain them here together.
On the basic (“primitive”) commands of TeX, through clever use of macros, one can build elaborate languages and/or markup systems (called “formats”). Currently, three of them seem to be the most widespread:
The program which actually interprets the TeX language (and the format used) is called the engine. Apart from the tex
engine, written by DEK, there are quite a few modifications of it. Some of them are:
pdftex
, outputting pdf
files instead of dvi
(as in original TeX)etex
, providing a few useful extensions to the TeX languagepdfetex
, which combines the above two (and is now the default LaTeX engine)xetex
, which is Unicode-aware and can use all fonts available in the operating system (as opposed to original (pdf)?e?tex
, which requires a special format of fonts); unfortunately no longer maintainedluatex
, which (apart from the mentioned features of xetex
), has a scripting language Lua embedded (this is the default engine for modern versions of ConTeXt)A complete TeX system is a complicated thing. It has to contain the engine(s), the format(s), the fonts, the classes/packages (for LaTeX) and modules (for ConTeXt), and often contains additional programs and a TeX-aware editor. A distribution is such a system, together with an installer (and often a way to update it).
Currently, the most popular distributions are: