Org-mode: Exportation PDF et le français

Hello.

Un petit billet rapide sur l'exportation de document Org-mode vers le format PDF. Et de comment traduire en français le texte ajouté automatiquement au document PDF.

Exportation de documents Org-mode vers un PDF

Par défaut, l'exportation vers le format PDF est pensé pour l'anglais.

Les dates, le titre de la table des matières, etc, sont en anglais. Même si, dans le document Org-mode, on a précisé qu'il était en français.

La raison est simple: Pour exporter vers un PDF, Org-mode passe par le format LaTeX puis PDF. Et dans le document LaTeX, le paquet nommé babel n'est pas inclue par défaut.

La solution: Configurer Emacs pour qu'il inclue babel et le configure dans toute exportation au format LaTeX. Que le format demandé soit LaTeX ou PDF.

Inclure babel pour les exportations

Pour ça, ajoute ceci dans ton fichier /.emacs.d/init.el:

(add-to-list 'org-latex-packages-alist '("AUTO" "babel" nil))

Cette instruction Elisp va ajouter babel à la liste des paquets inclus. Elle va également le configurer avec le paramètre "AUTO".

Lors d'une future exportation d'un document Org-mode vers le format LaTeX ou PDF, le paquet babel sera ajouté à l'exportation. Et le mot "AUTO" sera remplacé par la langue choisie dans le document Org-mode avec le mot clé LANGUAGE. Ainsi, cela fonctionnera pour la plupart des langues, pas que le français.

N'oublie pas d'évaluer cette instruction Elisp pour qu'elle prenne effet immédiatement.

Pour plus de détails à propos de cette instruction Elisp, voir plus bas.

Configurer un document Org-mode pour exporter en français

Maintenant, quand tu crée un document Org-mode, il faut ajouter ce mot clé en haut du document:

#+LANGUAGE:       fr 

Et voilà, si tu exporte ton document vers le format PDF, tout le texte ajouté automatiquement au document exporté sera en français.

Bonus: Explications du code Elisp

L'instruction Elisp qu'on a écrit dans /.emacs.d/init.el va ajouter, avec la fonction (add-to-list), une cellule dans la liste org-latex-packages-alist. Il s'agit d'une liste au format associated list, ou alist. Chacune de ses cellules représente un paquet LaTeX et sa configuration.

Une cellule suit le format suivant:

("options" "package" SNIPPET-FLAG COMPILERS)
  • "package", une chaine de caractère, indique le nom du paquet LaTeX
  • "options", une chaine de caractère, indique les options
  • SNIPPET-FLAG, un booléen, indique si il faut inclure ce paquet quand on convertit des fragments de LaTeX vers des images
  • COMPILERS, une liste de chaines de caractères, indique les compilateurs LaTeX auxquels on limite ce paquet

Aller plus loin

Pour en savoir plus sur la configuration de l'exportation LaTeX et PDF, je d'invite à lire la documentation officielle.