Ajouter ou mettre à jour un package LaTeX manuellement (texlive)

Cet article fait en particulier suite à celui concernant la création de son CV en LaTeX avec moderncv. Pour ceux d\’entre vous qui ont essayé, vous êtes probablement tombé sur un os en tentant d\’ajouter votre page web dans vos coordonnées :

\\documentclass[10pt,a4paper]{moderncv}
% .....
\\homepage{www.francoistessier.info/blog}

Une erreur sur cette balise empêche la compilation. En y regardant de plus près, on peut s\’apercevoir dans /usr/share/doc/texlive-latex-extra-doc/latex/moderncv/CHANGELOG.gz (pour une installation de texlive sous Ubuntu) que la version installé de moderncv est la 0.7. Or, il y a eu quelques mises à jour depuis (version 0.11) permettant entre autres d\’utiliser la balise /homepage{} comme dans l\’exemple fourni par l\’auteur. Mais comment utiliser la dernière version?

Une solution consisterai à écraser la version actuelle par la nouvelle. Certes, ça semble efficace mais c\’est trop \ »risqué\ », pas propre, et on perdrait cette modification à la prochaine mise à jour de texlive.

Heureusement pour nous, LaTeX a tout prévu! Il existe en effet une variable TEXMFHOME dans sa configuration qui correspond en général au chemin du dossier $HOME/texmf. Ce dossier, s\’il existe, est parcouru par LaTeX lors de la compilation d\’un document pour y chercher l\’existence de la classe utilisée. Deuxième point important, c\’est la classe trouvée dans ce dossier (en suivant une arborescence précise), si elle existe, qui est choisie en priorité pour compiler le document. Donc pour utiliser, par exemple, la dernière version de moderncv, on procèdera de cette façon :

  1. On exécute dans un premier temps la commande suivante pour connaître le dossier correspondant à la variable TEXMFHOME :
    $ texconfig conf | grep TEXMFHOME
    TEXMFHOME=/home/login/texmf
    
  2. En fonction du repertoire fourni précédemment, on crée l\’arborescence dont à besoin LaTeX pour trouver et utiliser notre package :
    $ mkdir -p /home/login/texmf/tex/latex
    
  3. On y copie le package téléchargé et décompressé
    $ cd /home/login/texmf/tex/latex
    $ wget http://mirror.ctan.org/macros/latex/contrib/moderncv.zip
    $ unzip moderncv.zip
    $ rm moderncv.zip
    
  4. En fonction de comment est organisé le package, il sera peut-être nécessaire de faire des manipulations supplémentaires (je pense en particulier aux packages contenant des .ins et .dtx) mais je n\’ai pas encore été confronté à ce type de cas…
  5. On execute la commande sudo texhash qui mettra à jour la base de données de LaTeX. Cette commande ne semble pas nécessaire dans le cas d\’une autre version d\’un package existant (par exemple moderncv).

Et voilà! Si tout va bien, le package est accessible et, dans le cas de moderncv, il sera utilisé à la place de la version installée avec texlive.

Pour récupérer la dernière version des packages les plus populaires ou en trouver de nouveau, je vous renvoie vers ce site.

Environnement LaTeX sous Ubuntu

On m\’a fait remarquer il y a peu de temps que j\’avais publié un article sur comment écrire son CV en LaTeX sans expliquer comment faire du LaTeX… Remarque très pertinente! Du coup, je vais tenter de faire un rapide tutoriel permettant de se lancer rapidement et sans trop de difficultés dans l\’aventure LaTeX. Je laisserai de côté la syntaxe qui est déjà très bien documentée sur de nombreux sites (celui-ci étant mon favori) pour me concentrer plus spécifiquement sur l\’environnement nécessaire pour créer et compiler du LaTeX.

Installer LaTeX

Dans un premier temps, nous allons installer les bibliothèques et executables permettant de compiler des documents en LaTeX (que ce soit en DVI, PS ou encore PDF). Le plus simple, si on a un bon giga-octet de libre sur son disque, est d\’installer le paquet texlive-full. C\’est certes assez lourd en terme d\’espace mais on est sûr de ne rien oublier. Si en revanche on veut s\’éviter l\’installation de la prise en charge du grec ou du letton et économiser ainsi 300Mo je vous conseille plutôt d\’exécuter la commande suivante qui n\’installera que le nécessaire :

$ sudo apt-get install texlive texlive-lang-french texlive-latex-extra

En fonction de votre connexion, cette installation peut prendre un certain temps. Elle demande en effet de prendre plus de 400Mo dans les dépôts. Une fois ceci fait, vous devriez être en mesure de compiler votre premier document. Pour en être convaincu, créez un document doc.tex avec le premier éditeur de texte venu et écrivez dedans :

\\documentclass{article}
\\begin{document}
Premier test de compilation d\'un document \\LaTeX\\ en PDF.
\\end{document}

La compilation en PDF se fait ensuite simplement de cette manière :

$ pdflatex doc.tex

Dans le même dossier sera créé le fichier doc.pdf (mais aussi des fichiers temporaires que vous pouvez supprimer sans problème à savoir doc.aux et doc.log).

Seulement, écrire un document en LaTeX n\’est pas si évident à l\’aide d\’un simple éditeur de texte. Un peu d\’auto-complétion et de compilation automatique peut vite s\’avérer pratique si on veut gagner du temps et se consacrer exclusivement au contenu.

Éditeur LaTeX

Je ne connais pas vraiment les différents IDE (si on peut parler d\’IDE…) aidant à la rédaction de documents LaTeX donc je n\’oserai pas prétendre que ma solution est la meilleure. Cependant, je vais vous faire partager les outils que j\’utilise et qui pour le moment me conviennent parfaitement : Eclipse et le plugin TeXlipse.

Installation d\’Eclipse

Eclipse est un IDE open-source très connu écrit en Java fonctionnant essentiellement grâce à un système de plugins. Une communauté très active gravite autour de ce projet et propose des modules pour à peu près tout et en particulier pour le LaTeX. J\’utilise Eclipse aussi pour coder en Java et en C++. Du coup, pour éviter un nombre incalculable d\’applications et parce que je suis familier avec son interface, je l\’ai choisi aussi pour le LaTeX.

\ »Installation\ » est un bien grand mot puisque Eclipse n\’en nécessite justement pas! Pour pouvoir l\’utiliser, il faut dans un premier temps récupérer la dernière version disponible à cette adresse :

http://www.eclipse.org/downloads/packages/eclipse-classic-360/heliosr

Une fois l\’archive téléchargée, décompressez-là et lancez l\’exécutable eclipse. Si vous n\’avez pas de JRE (Java Runtime Environment), Eclipse vous le spécifiera puisqu\’il ne pourra tout simplement pas démarrer! vous pouvez remédier à ça en installant une implémentation libre du JRE d\’Oracle, OpenJDK :

$ sudo apt-get install openjdk-6-jre

Le lancement d\’Eclipse devrait ensuite ne plus poser de problèmes. Nous allons maintenant ajouter le plugin aidant à la création de documents LaTeX.

Ajout du plugin TeXlipse

Dans Eclipse, ouvrez Help > Install New Software. Dans le fenêtre qui s\’affiche, cliquez sur le bouton Add, ajoutez les informations suivantes puis validez :

  • Name : TeXlipse
  • Location : http://texlipse.sourceforge.net/
\"Add

Un item \ »TeXlipse\ » est alors proposé dans la liste. Cochez-le et cliquez sur Next. Il ne reste plus qu\’à suivre les instructions. Quelques questions sont posées durant le processus (accepter les conditions de licence, valider l\’installation) auxquelles vous devez bien entendu répondre par la positive.

Un redémarrage d\’Eclipse plus tard, le plugin est bien installé. On peut maintenant créer un projet LaTeX. Pour cela, File > New > Project… puis dans la fenêtre qui s\’est ouverte, séléctionnez LaTeX project dans le sous-menu de TeXlipse.

\"new

Attribuez un nom au projet et sélectionnez le format de sortie du document une fois le .tex compilé (par exemple PDF). Cet écran permet également de choisir le template qui sera utilisé pour mettre du contenu par défaut dans votre fichier LaTeX. Ça n\’a pas grand intérêt si ce n\’est de \ »pré-écrire\ » la balise \\documentclass{}. L\’étape suivante permet en particulier de renommer le fichier .tex principal et surtout le fichier de sortie (par exemple CV.pdf).

Et voilà! Il n\’y a plus qu\’à écrire son document. A chaque sauvegarde d\’un fichier du projet dans Eclipse, le LaTeX sera recompilé. Plus besoin de la ligne de commande, tout est automatique. Petite précision pour vous éviter des frayeurs, l\’instruction \\tableofcontents nécessite une double compilation pour que la table des matières du document soit mise à jour.

Créer son CV en LaTeX avec moderncv

moderncv est une classe de document pour LaTeX permettant de mettre en forme son CV de façon propre, lisible et dans un design moderne (d\’où son nom!). Cette classe est disponible dans le paquet TeXlive. Par rapport à d\’autres classes de ce type, elle a l\’avantage de supporter quelques options intéressantes comme deux mises en page différentes (version \ »casual\ » ou \ »classic\ ») ou un choix de couleur de bordures parmi le bleu, le vert, l\’orange, le rouge ou le gris. L\’exemple fourni par l\’auteur de cette classe est bien documenté et permet de réaliser rapidement son CV en s\’en inspirant. En version \ »classic bleu\ », le mien ressemble à ça :

\"CV\"

Autant dire que j\’en ai définitivement fini avec les CV créés sous Word (ou Open Office) ! Encore une preuve de la puissance de LaTeX.

[EDIT ] : Voir comment mettre à jour le package moderncv pour avoir accès à toutes les balises de l\’exemple.

[EDIT 2] : A la demande générale (!!), je mets en ligne le .tex de mon CV : cv.tex.