Rubber est un programme qui se propose de simplifier la compilation de documents LaTeX. Il permet au moyen d\’une seule commande d\’appeler les programmes nécessaires à la création d\’un document final. De plus, et c\’est ce qui m\’a convaincu de l\’essayer, il se charge de la double compilation nécessaire pour mettre à jour les références dans un document.
Suite à un article précédent où je présentais Eclipse comme éditeur de document LaTeX, je vais tenter de vous détailler la procédure d\’installation de Rubber et la configuration de TeXlipse pour qu\’il l\’utilise pour compiler un projet.
Installation de Rubber et première utilisation
Rubber est présent dans les dépôts d\’Ubuntu. Son installation sur cette distribution est donc aussi simple que :
$ sudo apt-get install rubber
Pour compiler ensuite un document .tex depuis le terminal et en PDF, il suffit d\’exécuter la commande suivante :
$ rubber --pdf document.tex
De base, Rubber compilera le document en DVI. Il faut donc lui spécifier grâce à –pdf qu\’on souhaite un document PDF en sortie.
Nous allons voir maintenant comment intégrer ceci dans Eclipse muni du plugin TeXlipse.
Utilisation de Rubber dans Eclipse + TeXlipse
La solution que je vous propose n\’est pas vraiment optimale puisqu\’on va plus ou moins court-circuiter TeXlipse mais c\’est pour le moment le moyen le plus propre que j\’ai pu trouver. En effet, bien que ce plugin soit assez complet, il ne permet pas de spécifier le programme qui compilera le document LaTeX. TeXlipse dispose, de base, d\’une liste prédéfinie de compilateurs qu\’on ne peut pas modifier. En revanche, on peut éditer les propriétés de chacun d\’entre eux et en particulier le chemin de l\’exécutable et les arguments qui lui sont passés. L\’astuce que je vais vous détailler consiste donc à modifier ces propriétés pour le compilateur que vous utilisez. Vous allez comprendre!
Dans un premier temps, nous allons donc tenter de voir quelle compilateur vous avez choisi lors de la création de votre projet LaTeX. Si vous avez choisi le PDF en sortie, il y a de grandes chances pour que vous utilisiez PdfLatex. Pour en être convaincu, faites un clic droit sur votre projet dans Eclipse puis ouvrez la fenêtre properties. Dans le menu LaTeX Project Properties vous pouvez voir l\’exécutable utilisé pour compiler votre document. Dans l\’exemple suivant, il s\’agit de pdflatex.

Ceci signifie qu\’à chaque fois que vous modifiez votre fichier .tex, la commande suivante sera exécutée :
$ /usr/bin/pdflatex -interaction=nonstopmode --src-specials document.tex
Or, nous voulons maintenant que Rubber prenne la place de PdfLatex. Pour ce faire, dans Eclipse faites Window > Preferences > TeXlipse > Builder Settings. Dans la liste proposée, séléctionnez votre compilateur (dans notre cas PdfLatex program) puis cliquez sur le bouton Edit… Dans la fenêtre qui s\’est ouverte, nous allons changer le chemin de l\’exécutable par celui de Rubber (fourni par la commande which rubber dans un terminal) puis nous allons adapter les arguments en conséquence :

La mention Program file ok indique que l\’executable /usr/bin/rubber existe bien. Il ne reste plus qu\’à valider et sauvegarder tout ça. Si vous faites maintenant une modification de votre fichier LaTeX dans votre projet, vous remarquerez que la commande de compilation devient alors
$ /usr/bin/rubber --pdf document.tex
Juste au cas où vous soyez contraint de remettre les paramètres d\’origine de PdfLatex, je vous les remets ici :
- Program file : /usr/bin/pdflatex
- Arguments : -interaction=nonstopmode –src-specials %input
Si quelqu\’un a une autre solution, je suis preneur… J\’ai eu beau fouiller, je n\’ai pas trouvé mieux.
NB : Merci à Charly pour l\’info sur Rubber!