Things with "TeX" in the name

date: 2018-07-07

New TeX users are often baffled by the myriad terms with “TeX” in the name. The goal of this answer is to clarify some of the more common such terms.

TeX itself

TeX proper is a typesetting system based on a set of low-level control sequences that instruct TeX how to lay out text on the page. For example, \hskip inserts a given amount of horizontal space into the document, and \font makes a given font available in a document. TeX is fully programmable using an integrated macro scripting language that supports variables, scoping, conditional execution, control flow, and function (really, macro) definitions. See what is TeX? for some background information on TeX and some reference documents for pointers to descriptions of TeX control sequences, data types, and other key parts of TeX.

TeX macro packages (a.k.a. TeX formats)

Some of TeX's control sequences are tedious to use directly; they are intended primarily as building blocks for higher-level - and therefore more user-friendly - abstractions. For example, there is no way in base TeX to specify that a piece of text should be typeset in a larger font. Instead, one must keep track of the current size and typeface, load a new font with the same typeface but a (specified) larger size, and tell TeX to use that new font until instructed otherwise. Fortunately, because TeX is programmable, it is possible to write a macro that hides this complexity behind a simple, new control sequence. (For example, it is possible to define \larger{my text} to typeset “my text” in at a font size next larger than the current one.)

While some users write their own, perfectly customized set of macros - which they then typically reuse across many documents - it is far more common to rely upon a macro package, a collection of TeX macros written by experts. For the user's convenience, these macro packages are often combined with the base TeX engine into a standalone executable. The following are some of that macro packages that you are likely to encounter:

Modified `tex` executables

The original tex executable was produced in the late 1970s (cf. What is TeX?) and consequently lacked some features that users have come to expect from today's software. The following programs address these issues by augmenting the TeX engine with some additional useful features:

  • pdfTeX (executable: pdftex) TeX, which pre-dates the PDF file format by a decade, outputs files in a TeX-specific format called DVI (cf. What is a DVI file?). In contrast, pdfTeX can output both DVI and PDF files. In PDF mode, it lets documents exploit various PDF features such as hyperlinks, bookmarks, and annotations, pdfTeX additionally supports two sophisticated micro-typographic features: character protrusion and font expansion. See What is pdfTeX?.
  • XeTeX (executable: xetex) XeTeX reads UTF-8 encoded Unicode input, and extends TeX's font support to include “modern” formats such as OpenType; these extensions to its capabilities make it well-suited to multi-lingual texts covering different writing systems. See What are XeTeX and LuaTeX?.
  • LuaTeX (executable: luatex) TeX is programmed in its own arcane, integrated, macro-based programming language. LuaTeX adds a second programming engine using a modern scripting language, Lua, which is “embedded” in a TeX-alike engine; it too reads UTF-8 and uses OpenType fonts. See What are XeTeX and LuaTeX?.
  • &epsilon;-TeX (executable: etex) &epsilon;-TeX is an extension of TeX's programming interface; as such it's only indirectly useful to end users, but it can be valuable to package developers; there is an increasing number of macro packages that require the use of &epsilon;-TeX. As well as existing in etex, &epsilon;-TeX features are usually available in the pdftex executables provided in the standard distributions; XeTeX and LuaTeX also provide &epsilon;-TeX's programming facilities. See What is &epsilon;-TeX?.

(Note: &epsilon;-TeX, which enhances the TeX engine, is not to be confused with Eplain, which enhances the Plain TeX macro package.)

Because each of the above derive from a base TeX engine, it is in principle possible to combine any of them with one of the TeX macro packages listed earlier to produce “extended” executables. For example, the pdflatex, xelatex and lualatex executables each combine LaTeX with an enhanced TeX engine. Indeed, all development of ConTeXt now uses LuaTeX.

Some executables combine the features of multiple enhanced TeX engines: for example, pdftex now (in current distributions) offers both pdfTeX and &epsilon;-TeX extensions into a single executable This executable may be offered with a LaTeX format (as latex or pdflatex) or with a Plain TeX format (as pdftex). (tex remains with an unadorned TeX executable using Plain TeX, for people such as Knuth himself, who want the certainty of the “original”.)

TeX distributions

A TeX distribution provides a structured collection of TeX-related software. Generally, a TeX distribution includes a set of “core” TeX executables such as tex and latex; various fonts optimized for use with TeX; helper programs such as the BibTeX bibliographic-database formatter, editors, integrated development environments, file-format-conversion programs; numerous LaTeX packages; configuration tools; and any other goodies the distributor chooses to include.

Commonly encountered TeX distributions include TeX Live, MiKTeX and MacTeX; older ones include ozTeX, CMacTeX and teTeX. MiKTeX is also available as the basis of the ProTeXt bundle, distributed on the TeX Live DVD mailing, as well as being available online.

Some TeX distributions target a specific operating system and/or processor architecture; others run on multiple platforms. Many TeX distributions are free; a few require payment. See (La)TeX for different machines for a list of free and shareware TeX distributions and Commercial TeX implementations for a list of commercial TeX distributions.

Summary

What does it all mean? - the simple lists of objects, alone, offer no help for the beginner. The FAQ team expects this answer only to be of use for people who are seeking guidance elsewhere (possibly within these FAQs) and coming across an unexpected name like “blahTeX”.

The subject matter covered by this answer is also addressed in a page on the TUG site, “the Levels of TeX”.

This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information

Creative Commons Lizenzvertrag Edit this page Old revisions Sitemap Backlinks RSS feed Impressum Flattr this
http://latex.org.uk/FAQ-texthings
latex.org.uk
crawl=CC-MAIN-2020-45
19789
application/http; msgtype=response
sha1:HAPLIGR3VLQGB5WSUKOV5JM52PWK4RYK
<urn:uuid:228c6e7e-2302-429e-9e44-b4362cbf3ac0>
2020-10-28T23:15:41Z
78.46.26.59
text/html
sha1:UPRGWPZTIU3PO25ETCB73GIRUTFTKIPU
<urn:uuid:bcf50f52-542e-4fb3-82d7-b180f1b487da>
http://latex.org.uk/FAQ-texthings
response
<urn:uuid:73849763-5df0-4317-bb1a-be2b4a808808>
isPartOf: CC-MAIN-2020-45
publisher: Common Crawl
description: Wide crawl of the web for October 2020
operator: Common Crawl Admin (info@commoncrawl.org)
hostname: ip-10-67-67-201.ec2.internal
software: Apache Nutch 1.17 (modified, https://github.com/commoncrawl/nutch/)
robots: checked via crawler-commons 1.2-SNAPSHOT (https://github.com/crawler-commons/crawler-commons)
format: WARC File Format 1.1
conformsTo: http://iipc.github.io/warc-specifications/specifications/warc-format/warc-1.1/