Comment éviter de lancer une compilation de LaTeX à chaque modification sous vim ?
J'utilise beaucoup vim et LaTex, ils me permettent d'éditer rapidement mes fichiers. Il restait un tout petit point négatif par rapport à des programmes comme TexMaker qui compilent en tâche de fond.
Bien que j'utilise linux tous les jours, je ne connaissais pas inotify et son paquet associé inotify-tools. Ni même, encore mieux, la commande entr associée au paquet du même nom.
Le principe est la détection d'un changement dans le filesystem: ajout d'un fichier dans un répertoire, modification d'un fichier, … La commande entr
permet d'associer une commande à une modification dans le filesystem. Par exemple, on pourra lancer une compilation dès lors qu'un fichier est modifié !
Avant, je faisais:
- édition de mes fichiers sources avec vim;
- compilation pour générer un pdf (via
pdflatex
par le biais d'un make (ou pas)); - visualisation avec zathura (non pas acroread ni xpdf)1
Maintenant, je fais:
je lance dans un terminal une commande du style2 ;
ls sources/* | entr make dist/presentation-seance-1.pdf
édition de mes fichiers sources avec vim;
- visualisation avec zathura
Dès que je sauve mon fichier sous vim, la compilation se lance toute seule et je vois apparaitre la nouvelle version dans zathura. Cool !
Pour installer, c'est simple, c'est dans les dépôts. Sous debian:
apt-get install entr
Vous pouvez reprendre une activité normale (et me flattrer ;-)).
-
Je laisse bien évidemment zathura tourner, il recharge le pdf dès lors qu'il change. ↩
-
Mes fichiers sources sont parfois plusieurs (des sources, des styles, un fichier maitre,…) dans un répertoire
sources
. Je compile via unMakefile
à base derubber
et je place le pdf résultant dans un répertoiredist
. ↩