Accueil > LaTeX > Automatiser la compilation avec latexmk

Automatiser la compilation avec latexmk

samedi 13 novembre 2021, par Philippe MICHEL

Compiler un document complexe avec biblio, index etc. nécessite plusieurs passage dans un ordre précis ce qui est pénible. Mais ça peut très facilement s’automatiser.

Tout d’abord il vous faut installer latexmk comme n’importe quel package. Sur une Debian ou dérivé un petit
apt-get update && apt-get install latexmk
fera le travail. Ensuite tout est très simple. Il suffit de compiler en utilisant la commande  latexmk foo.tex avec quelques options.
Si vous utilisez pdflatex il vous faut spécifier  latexmk -pdf foo.tex car latexmk est un peu rétro & sort par défaut un dvi.
Plus moderne un peu de LuaTeX :  latexmk -lualatex foo.tex.
Je vous conseille par ailleurs de nettoyer les fichiers temporaires créés par la compilation précédente qui peuvent être source d’erreur en ajoutant l’option -gg :
 latexmk -gg -lualatex foo.tex
Et voilà une solution simple utile au quotidien. Pour ma part (Emacs avec AucTeX) j’ai rajouté dans mon .emacs les lignes suivantes :

  1.  '(TeX-command-list ... (latex-mode) :help "Run makemk for luaLaTeX")
  2. ("makeluaLaTeX" "latexmk -gg -lualatex %t" TeX-run-TeX nil ... )

Télécharger

Et je le lance automatiquement avec un [**ctrl-C ctrl-C m*] tout en gardant la possibilité de compiler avec pdflatex par exemple si besoin.