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.3: Choosing your processors

Before you go any further there are two configurations you MUST check. As you may have seen in the list in the Preface above, there isn’t just one flavour of LATEX; and there are also some different bibliographic processors.

Figure 1.2: Some LATEX editors being configured to use LuaLATEX

kile-setup-lualatex

Kile (Linux, Mac, Windows)
texstudio-setup-lualatex

TEXStudio (Linux, Mac, Windows)
overleaf-setup-lualatex

Overleaf (browser-based)
emacs-setup-lualatex

Emacs (all) in ~/.emacs
texshop-setup-lualatex

TEXShop (Linux, Mac, Windows)

1.3.1 Setting your LATEX processor

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

XƎLATEX, which I previously recommended, is no longer being developed, which is why LuaLATEX is the processor of choice. With one or two small changes, all your existing LATEX documents will continue to work. See the examples of how to set LuaLATEX as your processor in Figure 1.2 above, and the list of processors at the list in the Preface above for more details.

There are still a few reasons some users stay with XƎLATEX, 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 older publishing toolchains which depend on DVI files;

  • some older (and very new) editors do not yet make it possible to select LuaLATEX as the processor.

1.3.2 Setting your bibliographic processor

There are two separate but closely related settings to make: a ) the bibliographic formatter (package) which determines how your citations and references look (old-style BIBTEX using .bst style files or the more recent biblatex package) and b ) the bibliographic processor (program) which performs the extraction of references from your database and sorts them into order (old-style bibtex or the more recent biber). If your documents don’t use bibliographic references, this will not be a concern for you, and you can skip this section.

What's the difference? The old bibtex processor and its .bst style files have known problems with Unicode multibyte (accented and non-Latin) characters, and are no longer being developed, and they use a special language not used anywhere else. The biblatex package and the biber program, like LuaLATEX and XƎLATEX, deal natively with Unicode multibyte characters and are actively being developed, and all of biblatex is written in LATEX code, so it’s easily supported. We will be dealing with this choice in more detail in § 5.3.2.1 below.

Exercise 1.3 — Set your LATEX and BIBTEX processors

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

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

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

1.3.3 Automating processing

On many systems you can automate processing, so that the business of running LATEX, generating your bibliography, doing the index, glossaries, etc is all done with a single menu click or keypress.

Sometimes this is built into the editor, but there is a useful utility called latexmk which comes with TEX Live, and you can add this to most editors that don't already have it. The example below is for TEXWorks; a similar process should be available in other editors.

1.3.3.1 Adding latexmk to TEXWorks

TEXWorks comes configured to run different variants of LATEX (like LuaLATEX) but not latexmk. You can add this yourself very easily, but you must make sure you have the latexmk program installed (it comes with TEX Live, so if you installed that, you already have it).

texworks-add-latexmk
  1. Click on EditPreferences and then click on the Typesetting tab

  2. Click on the blue + button to the right of the Processing Tools list

  3. Type LaTeXmk in the Name field

  4. Type latexmk in the Program field

  5. Click the blue + to the right of the Arguments list

  6. Add -lualatex to the list

  7. Repeat step 5 above and add -bibtex

  8. Repeat step 5 above again and add $fullname

  9. Click OK to save the entry

  10. In the drop-down at the bottom of the window labelled Hide console output set the value to Never

  11. Click OK to end editing the Preferences

Back in the main TEXWorks window, pick LaTeXmk from the processor drop-down beside the big green triangle. You can now click the big green triangle to process your document with latexmk