BibTeX : une bibliographie dans les règles de l’art

Bonjour,
La principale utilisation de $latex \LaTeX$ est scientifique pour toutes les raisons que l’on connaît bien. Qui dit scientifique dit bibliographie. La façon la plus élégante et la plus performante de faire sa bibliographie est d’utiliser BibTeX. Le principe est simple : vos données bibliographiques sont enregistrées dans un fichier séparé de la source, c’est le .bib. Son utilisation est simplissime.

Si c’est simple, pourquoi pas commencer par un exemple ?

Soit. Comme je viens de le dire, vous aurez donc deux fichiers :

En compilant comme il faut, on obtient ça.

On spécifie dans la source quel fichier contient les entrées bibliographiques (sans l’extension .bib), dans le cas de notre exemple, c’est donc \bibliography{biblio}.
Ensuite, la syntaxe pour faire une référence bibliographique est semblable à celle utilisée pour les sectionnements, les figures ou les équations : \cite{ID} avec ID l’identifiant que vous aurez choisi pour chaque entrée. Tout simplement. Vous aurez remarqué que l’on peut appeler plusieurs références en les séparant par une virgule.
L’ordre des entrées dans le .bib n’a aucune influence sur le rendu. En effet c’est le style qui va donner cet ordre.
Par ailleurs, vous aurez aussi noté que le package hyperref marche très bien avec BibTeX : à chaque citation, vous avez un lien vers la référence.

Quant à la syntaxe du .bib, je pense que l’exemple est assez clair. Vous devez peut-être vous dire que ça doit être pénible de rentrer toutes les données pour chaque entrée. Oui, ça l’est. Mais là encore il a moyen de se simplifier la vie : toutes les bases de données scientifiques (Google Scholar, Web Of Knowledge, Scopus etc.) permettent d’exporter les citations au format BibTeX, et ça c’est cool ! En plus de cela, les logiciels de gestion de bibliographie (JabRef ou Zotero par exemple) le font aussi.

Le style, parlons-en

Le style donne le format des citations (par exemple [1], [2] etc.) mais aussi le mode d’affichage des références complètes. Le plus utilisé est ‘plain’, comme dans mon exemple, mais il en existe une multitude installés de base. A vous de choisir celui qui vous convient, ou qui vous est imposé :-) . Vous trouverez des aperçus des possibilités à cette page. Personnellement, j’aime beaucoup le style apalike, que je trouve très explicite. A savoir qu’il est préférable de spécifier -fr après le nom du style.

La compilation

Si vous vous contentez de compiler la source, ça ne marchera pas. Pas tout de suite en tout cas. La procédure est en fait la suivante :

  1. compiler la source avec pdflatex
  2. compiler le .bib avec bibtex
  3. re-compiler la source avec pdflatex
  4. re-re-compiler la source avec pdflatex

Attention, lors de la compilation avec bibtex, l’argument à donner au compilateur est le nom de la source, sans extension. Pour notre exemple, ça donnerait donc :

pdflatex exemple-biblio.tex
bibtex exemple-biblio
pdflatex exemple-biblio.tex
pdflatex exemple-biblio.tex

 

Mais heuu, je comprends rien !

C’est pas grave ! Tout bon éditeur $latex \LaTeX$ gère très bien BibTeX. Donc tout ce qu’il faut retenir, c’est que si à la place des citations, vous avez [?] qui apparaît, c’est qu’il vous manque une compilation.

 

On peut même tricher…

Il parait évident que vous ne pouvez pas citer une référence qui n’est pas dans votre biblio. Mais aussi, si une entrée n’est jamais citée, elle n’apparaîtra pas dans vos références. Si toutefois vous vouliez forcer sa présence : \nocite{ID} est votre ami du mal. On peut même aller jusqu’à \nocite{*}, auquel cas toutes les entrées du .bib seront affichées, citées ou non.

Quelques astuces qu’il peut être bon de connaître

Si vous souhaitez citer une référence dans un légende, $latex \LaTeX$ n’apprécie pas trop de trouver \cite dans \caption{}. Il faut donc mettre \protect{\cite{ID} }.

Avec un style assez développé, par exemple apalike, il y a forcément un moment où une citation va déborder sur la marge, un petit \usepackage{breakcites} permettra une césure au sein même de la citation.

Enfin, si vous venez à utiliser le package ulem (pour souligner deux fois avec la commande \uuline{}, ne vous étonnez pas de voir les titres des références soulignées au lieu d’être en italique : ulem remplace par défaut l’italique associé à l’emphasize par le soulignement. Pour éviter ça, il faut donc rajouter normalem en option :

\usepackage[normalem]{ulem}

Natbib : pour aller (encore) plus loin

Si vous êtes perfectionniste, sachez que le package natbib fournit pléthore de commandes supplémentaires, par exemple \citet et \citep, respectivement pour citer dans le texte ou entre parenthèses. On pense aussi à \citeauthor pour énumérer les auteurs suivant les règles qui vont bien. De plus, natbib permet de définir soi-même le format de citation suivant l’argument donné dans le \usepackage.

Je pourrais écrire un billet complet juste sur l’utilisation de natbib, donc si vous êtes intéressé, rendez-vous ici !

 

Bonne compilation !