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 ;-)).



  1. Je laisse bien évidemment zathura tourner, il recharge le pdf dès lors qu'il change. 

  2. Mes fichiers sources sont parfois plusieurs (des sources, des styles, un fichier maitre,…) dans un répertoire sources. Je compile via un Makefile à base de rubber et je place le pdf résultant dans un répertoire dist