Premier pas avec BiBer

, par Maïeul

BibLaTeX est un package qui permet de gérer très facilement les styles bibliographiques avec (Xe)LaTeX.

Il s’appuie sur un programme : le vénérable BibTeX. Mais il peut aussi s’appuyer sur BiBer qui lui est spécifiquement destiné. Je commence à me servir de ce dernier.

Explication et premières impressions.

LaTeX, BibLaTeX, BibTex et Biber sont dans un bateau

Petit rappel pour bien comprendre la suite [1].

Au début on avait TeX. Puis LaTeX, qui simplifiait le travail en fournissant un ensemble de macro. Pour gérer une bibliographie, on compilait d’abord avec LaTeX le fichier .tex. Celui-ci créait un fichier .aux, qu’on compilait avec BibTeX, qui allait lire le fichier .bib pour insérer la bibliographie. Ensuite on recompilait le fichier .tex avec LaTeX et on obtenait notre document final.

Seulement voilà : BibTeX était peu pratique pour des besoins avancés en bibliographie. Pas de possibilités de références en notes de bas de pages, fichier de styles écrits en notation polonaise inversée, pas de tri possible dans la bibliographie finale.

Le package BibLaTeX est venu résoudre cela [2]. BibTeX avait toujour un rôle à jouer, mais « uniquement » pour lier le fichier .aux au fichier .bib.

Mais voilà : BibLaTeX peut utiliser depuis un certain temps un autre programme que BibTeX : BiBer.

Concrètement, au lieu de faire la chaîne de compilation suivante : LaTeX - BibTeX - LaTeX on fait LaTeX - Biber - LaTeX.

Avantages

Les avantages de Biber sur BibLaTeX sont importants. De ce que j’ai lu pour le moment :

  • gestion native de l’Unicode. Du coup, Évode d’Uzal se trouve classé à E et pas à la fin [3].
  • utilisation intelligente du champ crossref. Le champ crossref permet de dire qu’une entrée (par exemple de type @inbook) est fille d’une autre entrée @book par exemple. Avec BibTeX cette possibilité n’est pas exploitée à fond.

Par exemple l’entrée suivante [4] :

On s’attendrait à ce que pour une entrée de ce type :

On ait automatiquement à la compilation la valeur Booktitle pour le champ booktitle.

Et bien avec BibTeX il n’en ait rien. Du coup, on est obligé de dupliquer le champ dans le fichier en déclarant ainsi notre entrée :

Ce qui fait que si on s’est trompé dans le champ title de l’entrée de type @book, on doit corriger aussi l’entrée booktitle de l’entrée « fille » de type @inbook. Absurde non ? Source d’erreur surtout [5].

BiBer par contre fait cela de manière intelligente. Avec lui, inutile de dupliquer.

Installation de BiBer

BiBer fait désormais parti de TexLive. Il suffit donc sur Mac d’utiliser le logiciel TexLiveManager, de rechercher Biber pour Darwin et de demander à TexLiveManager de l’installer. Il faut également lui demander de mettre à jour BibLaTeX.

Pour les autres système, il doit sûrement exister un logiciel de gestion des paquets.

Configuration de BibLaTeX

Pour dire à BibLaTeX d’utiliser Biber plutôt que BibTeX, il suffit de passer l’option backend=biber lors de l’appel au package.

\usepackage[backend=biber]{biblatex}

Compilation

Malheureusement la plupart des éditeurs LaTeX ne prévoient pas encore de bouton BiBer dans leurs raccourcis de compilation.

Il faut donc passer par le terminal (le % représente l’invite de commandes)

% latex fichier.tex
% biber fichier
% latex fichier.tex

ou si comme moi vous utiliser XeLaTeX.

% xelatex fichier.tex
% biber fichier
% xelatex fichier.tex

Première impression

Que je suis content d’avoir mon Évode d’Uzal classé à la lettre É, et pas à la fin. Pour le moment je n’ai pas encore testé les crossrefs : j’attend vos retours.

Notes

[1Ce petit rappel n’est pas nécessairement très juste informatiquement, mais permet de comprendre ce qui change.

[2A vrai dire d’autres tentatives on existait, mais pas très convaincantes.

[3On pouvait utiliser les champs de tri pour contourner ce problème, mais c’était source d’erreur. Avec BiBer plus besoin.

[4Je tire cela du manuel de BibLaTeX

[5Apparement certains logiciels comme BibDesk permettent de contourner cela en synchronisant tout seul les valeurs des champs. Il n’empêche, c’est une mauvaise idée de dupliquer dans le fichier .bib.