$\LaTeX$ compilers and distributions

What is a $\TeX$ distribution?

A $\TeX$ distribution is a set of tools and programs packaged together that makes possible to write and compile $\LaTeX$ documents.

There are a lot of $\TeX$ distributions, most of them are platform-specific and other target a broader set of systems.

Popular distributions

Compilers? 🤔

In computing, a compiler is a computer program that translates computer code written in one programming language (the source language) into another language (the target language).

In our case, the source language is $\LaTeX$ and the "target language" is the target document specification (e.g. PDF).

Compilers

Compilation flow

compilation flow
Compilers

Many different compilers...

There are a lot of different $\TeX$ compilers, each one with its own quirks:

Compilers

...but one to rule them all

Introducing latexmk, an automagic Perl script.

latexmk

You can run it by hand...

latexmk offers a wide variety of flags and options.

The following command, for example, continuously checks all input files for changes, automagically re-compiling the whole document (if needed) and displaying the result
in real time:

latexmk -pvc -pdf file.tex

(Refer to the latexmk documentation)

latexmk

...but if you don't want to

latexmk usually comes already bundled with most smart editors and can be enabled with the press of a button.

Its functionalities can even be integrated in user-hostile text editors (such as Vim) through plugins
and custom keybindings.