Your support for our advertisers helps cover the cost of hosting, research, and maintenance of this document

Formatting Information — An introduction to typesetting with LATEX

Chapter 1: Writing documents

Section 1.2: Choosing your LATEX processor

Before you go any further there is one configuration you SHOULD check. As you may have seen in the list in the Preface above, there isn’t just one flavour of LATEX.


For many years, there was only LATEX, which (like TEX) produced a .dvi (Device-Independent) file, which had to be converted to Postscript in an additional step. Except for a few specialist uses, this is now obsolete for most users;


In the 1990s, Hàn Thế Thành developed PDFTEX, which (along with pdfLATEX) produced PDF directly, as well as adding the possibility of benefits like microtypographic adjustments. While still common, pdfLATEX is obsolescent for most users;


Around 1996, Hagen Hans and Ton Otten released ConTEXt, using LATEX-like controls for more advanced classes of work, especially typographical manipulation for education, with most features built in, rather than via a package system;


More recently, Jonathan Kew developed XƎTEX, which not only recognises Unicode Transformation Format — 8-bit (UTF-8) characters directly, but can also use your system’s natively-installed TrueType Fonts (TTF) and OpenType Fonts (OTF) as well as those which come with LATEX;


Even more recently, Hans Hagen, Hartmut Henkel, Taco Hoekwater and Luigi Scarso have developed LuaTEX, an extended version of PDFTEX using Lua as an embedded scripting language, so you can write scripts (little programs) inside your LATEX document to generate your content dynamically. LuaLATEX also has some of the features of XƎLATEX such as support for TTF and OTF fonts.

In this book I recommend that you use XƎLATEX unless you have a compelling reason not to. In my view the ability to handle natively-installed system fonts as well as UTF-8 characters while retaining the flexibility of the LATEX package system sets them well above the other processors (I’m not going to be dealing with Lua’s scripting or ConTEXt’s typographical abilities here).

Exercise 1.3 — Set your LATEX and BIBTEX processors

  1. Open your LATEX editor or online LATEX service and set the processor to be XƎLATEX.

    In most cases this is a configuration setting in the menus or drop-downs (see Figure 1.1 below for examples).

  2. Repeat the process to set your BIBTEX processor to biber

Note that in Emacs you edit the ~/.emacs configuration file and add these lines:

(setq latex-run-command "xelatex")
(setq bibtex-dialect 'biblatex)
(setq tex-bibtex-command "biber")

Save the file and type M-x eval-buffer RET to implement it for this session (in future sessions it will be automatic).

There are still a few reasons some users stay with pdfLATEX or even the original LATEX. These include:

  • a few packages (now a very small number) which positively require a processor which creates an old-style .dvi file;

  • some specific packages still rely on raw Postscript features which need DVI-to-Postscript conversion first, before the PS output can be converted to PDF; and some DVI-to-Postscript converters cannot handle the (eXtended DVi (XDV)) format produced by XƎLATEX;

  • there are some other toolchains which depend on DVI files;

  • some older editors do not yet make it possible to select XƎLATEX or LuaLATEX as the processor

Figure 1.1: Some LATEX editors being configured to use XƎLATEX


Kile (Linux, Mac, Windows)

TEXnicCenter (Linux, Mac, Windows)

Overleaf (browser-based)

Emacs (all) in ~/.emacs

TEXShop (Linux, Mac, Windows)

TEXStudio (Linux, Mac, Windows)

There is a separate but related setting to choose the bibliographic formatter (old-style BIBTEX .bst files or the more recent biblatex package) and which bibliographic processor to use (bibtex or biber). If your documents don’t use bibliographic references, this will not be a concern for you.

The relationship is that the biblatex package and the biber program, like XƎLATEX, deal natively with UTF-8 characters and are actively supported, whereas the .bst files and the bibtex processor have known problems with multibyte (accented and non-Latin) characters, and are no longer being developed; this makes the reference and citation of works in many languages difficult, if not impossible with .bst files and the bibtex processor. We will be dealing with this choice in more detail in § below.

  1. Some which are straightforward are shown in Figure 1.1 below.