Se faire un CV en rst

Publié le dans « Informatique ». Mots-clefs : reStructuredText, Libre

Je n’en finis plus de proposer le format rst à toutes les sauces. Cette fois-ci je vous propose d’écrire votre CV en rst, et donner le rendu à latex via moderncv pour obtenir un rendu qui sort du lot.

Moderncv

moderncv est une classe latex (entendre au sens template), qui permet de présenter et mettre en forme le CV simplement. Une image valant mieux qu’un long discours, ça donne un résultat comme celui-ci:

Le but est de séparer la mise en forme du contenu, en déclarant à travers quelques balises quelles sont éléments à afficher sur le cv.

Voici quelques exemples de rendu possible avec la classe:

Alors quand on latex on dit simplement, en vérité ça veut dire ça:

\section{Education}
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description}  % arguments 3 to 6 can be left empty
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description}

\section{Master thesis}
\cvitem{title}{\emph{Title}}
\cvitem{supervisors}{Supervisors}
\cvitem{description}{Short thesis abstract}

La version RST

Ce que je propose, c’est de l’écrire comme ça:

Formation
---------

:2008:

    **Mon dernier diplôme***Université de France*

    après j'ai arrêté.

:2006:

    **Un autre diplôme***Université de Navarre*

    il faut que j'aille le chercher depuis ce temps…

:2005:

    **Encore un***Université*

    mention « Assez bien »

Avouez que c’est quand même plus simple!

Comment faire

Compilation latex

Pour commencer, assurez-vous que vous pouvez produire le CV à partir du code latex.

$ wget https://raw.githubusercontent.com/xdanaux/moderncv/master/examples/template.tex
$ wget https://raw.githubusercontent.com/xdanaux/moderncv/master/examples/picture.jpg
$ pdflatex template.tex

Si tout va bien, vous devriez avoir votre pdf généré dans le répertoire.

Quelques problèmes:

command not found: pdflatex : pdflatex n’est pas installé. Il va vous falloir installer toute l’architecture: texlive, texlive-latex-extra, texlive-fonts-extra et je conseille aussi texlive-xelatex.

LaTeX Error File `fontawesome.sty` not found : il vous manque la police awesome. Dans debian, elle est disponible dans le paquet texlive-fonts-extra.

docutils

Ensuite assurez de disposer de docutils pour pouvoir lancer rst2latex ou rst2latex.py :

$ rst2latex -V
rst2latex (Docutils 0.12 [release], Python 2.7.10, on linux2)

C’est parti!

get the file

Télécharger

Vous trouverez dans l’archive un Makefile et l’exemple qui m’a servi à écrire illustrer l’article. Il suffit de lancer make pour produire le pdf du CV, plus un exemple de lettre d’accompagnement.

Tous les fichiers .rst qui sont présent dans le répertoire où est lancé la commande seront automatiquement convertis en pdf.

Attention

Le Makefile est configuré pour lancer xelatex au lieu de pdflatex (meilleure gestion des polices). Il faut changer la première ligne du fichier si vous souhaiter utiliser un autre moteur de rendu.

Comment ça marche?

En fait, la classe moderncv utilise des directives qui ne sont pas standard par mettre le cv en forme. Par conséquent, il n’est pas possible de l’utiliser directement avec rst2latex. On est obligé de construire son propre writer pour pouvoir produire une sortie qui soit compatible, c’est ce qui est contenu dans le fichier bin/moderncv.py de l’archive. (Je détaillerai comment se construire ses propres classes si on me le demande.)

Voilà, il ne reste plus qu’à faire le votre!

À lire aussi :

Commentaires :

  • Avatar
    Joël Thieffry 2015-10-04T17:33:29

    1. Compilation latex
    Il faut récupérer l'image "picture" pour que ça fonctionne :

    wget https://raw.githubuserconte...

    2. docutils
    Sur toutes mes machines, il faut appeler rst2latex avec l'extension .py :

    rst2latex.py -V

    3. C’est parti !
    En fait on ne peut pas utiliser pdflatex qui génère l'erreur suivante :

    ! Fatal fontspec error: "cannot-use-pdftex"
    !
    ! The fontspec package requires either XeTeX or LuaTeX to function.
    !
    ! You must change your typesetting engine to, e.g., "xelatex" or "lualatex"
    ! instead of plain "latex" or "pdflatex".
    !
    ! See the fontspec documentation for further information.

    Dommage, sous cygwin seul pdflatex existe. Sinon avec xelatex sur ma gentoo ça marche :)

    • Avatar
      Chimrod 2015-10-04T19:27:24

      Voilà, j'ai mis à jour à partir de tes remarques. J'ai mis à jour le tar.gz pour le rendre compatible avec pdflatex, mais au prix de quelques pertes typographiques (guillemets français et tiret longs). Sinon sous debian, c'est bien rst2latex et non rst2latex.py qui est à lancer.

      Content que l'article t'ai intéressé !

      • Avatar
        Joël Thieffry 2015-10-05T16:11:10

        OK, le Makefile marche directement sous Cygwin, merci beaucoup. Et heureux d'avoir fait avancer le Schmilblick :)

    • Avatar
      Chimrod 2015-10-04T18:27:25

      Merci pour les remarques, je vais mettre à jour l'article.

      Tu es sûr de toi pour cygwin ? Je n'ai qu'un linux sous la main aujourd'hui mais je mettrai ma main au feu que xelatex est disponible (sinon je ne sais pas ce que j'ai installé sur mon pc du boulot…)

  • Avatar
    freakazohid 2015-10-03T13:30:12

    Je vais rester pragmatique. Aussitôt ce modèle de cv envoyé, j'ai eu un entretien le lendemain. Comme quoi, il n'y a pas que le contenu qui compte!