Accueil   Semaine   Mois   Occaz'   Compte   Forum   Bas
Mardi 22 novembre 2005
Gestion de la bibliographie avec LaTeX

Il y a quelque temps, je vous avais proposé une série d'articles destinée à vous introduire au monde magnifique de LaTeX.

Il y a toutefois un des points forts de LaTeX dont je ne vous ai pas encore parlé, et pourtant c'est peut-être pour certain le plus important, il s'agit de la gestion des bibliographies.

Disons-le tout de suite: faire une bibliographie avec LaTeX c'est tout simplement un jeu d'enfant.

L'appel à une référence bibliographique se fait très simplement avec la commande cite{motclef}. Chaque ouvrage ou article de référence étant repéré par un mot clé que vous lui attribuez. Si par exemple je désire citer en référence un article d'Einstein publié en 1935 dans "Physical Review", je lui associerai par exemple le mot-clé "EinsteinPR1935". Dans mon document LaTeX, j'écrirai alors:

cite{EinsteinPR1935}

Il y a deux méthodes distinctes pour indiquer à LaTeX les détails d'une référence bibliographique. La première se fait en interne dans votre document grâce à l'environnement thebibliography.

L'environnement thebibliography

Si votre bibliographie est peu fournie, vous pouvez entrez vos ouvrages directement dans le fichier ".tex". Là où vous désirez faire apparaître votre bibliographie (typiquement à la fin du document), vous allez indiquer à LaTeX les détails de chacune des références en spécifiant un bibitem. Tout ceci se fait dans l'environnement thebibliography. Par exemple, pour l'article d'Einstein j'entrerai ceci:

begin{thebibliography}{99}

bibitem{EinsteinPR1935}A. Einstein and N. Rosen, Phys. Rev. 48, 73 (1935)

end{thebibliography}

J'ai utilisé là le style de bibliographie communément utilisé en physique, mais libre à vous d'en changer, par exemple en ajoutant le titre de la publication, son numéro, etc.

Le {99} qui suit la déclaration de l'environnement donne une prédiction du nombre d'éléments que contiendra votre bibliographie. Il vous est demandé de manière à pouvoir gérer la mise en page.

Lors de la compilation du document, LaTeX se chargera lui même de remplacer l'appel à cite{motclef}par un numéro correspondant. Par exemple, si j'entre le code suivant:

begin{document}

Comme le proposaient Einstein et Rosen dans leur
articlecite{EinsteinPR1935}, la théorie générale
de la relativité...

begin{thebibliography}{99}

bibitem{EinsteinPR1935}A. Einstein and N. Rosen,
Phys. Rev. 48, 73 (1935)

end{thebibliography}

end{document}

j'obtiendrai ceci:

Cette méthode très simple a deux inconvénients: le premier est que vous devez écrire chaque entrée à la main et que cela devient très pénible lorsque le nombre de références augmente de manière importante. Le deuxième problème c'est que lorsque vous rédigerez un nouveau document vous devrez réécrire tous les éléments bibliographiques, pourtant il a fort à parier que vous allez réutiliser des éléments existants.

Pour pallier à cela, nous allons utiliser BibTeX.

BibTeX

Avec BibTeX, toute la gestion des références se fait à partir d'un fichier portant l'extension ".bib" et qui sera appelé par LaTeX lors de la compilation du document.

Ce fichier ".bib" contient alors les différents éléments de votre bibliographie, chacun d'eux étant associé à un mot clé. Dans le code LaTeX, l'appel à une référence se fait exactement de la même manière, par exemple:

cite{EinsteinPR1935}

Les détails de chacune des références est alors donné dans le fichier externe ".bib". Dans le cas de l'article d'Einstein, cela donnera par exemple:

@article{EinsteinPR1935,
          Author = {A. Einstein and N. Rosen},
          Journal = {Phys. Rev.},
          Number = {1},
          Pages = {73-77},
          Title = {The Particle Problem in the General Theory of Relativity},
          Volume = {48},
          Year = {1935}}

Le @article indique que nous avons affaire à un article. Pour citer un livre, on utilisera @book. Il ne vous reste plus qu'a remplir certains champs comme l'auteur, le titre, etc. Dans le cas d'un livre, on indiquera l'éditeur, l'adresse de publication, etc. Par exemple:

@book{rayner1999,
        Address = {Berlin},
        Author = {D. Rayner and K. Athanassenas and B. Collings and S. Mitchell and P. Hackett},
        Editor = {J. Jelinek},
        Publisher = {Springer},
        Series = {Springer Series in Cluster Physics},
        Title = {Theory of Atomic and Molecular Clusters},
        Year = {1999}}

Pour une liste des différents types d'ouvrages que vous pouvez entrer et des champs correspondant, rendez-vous sur ce site.

Une fois votre fichier ".bib" terminé (appelons-le "bibliographie.bib"), placez-le dans le même dossier que votre fichier ".tex". Pour appeler cette bibliographie depuis votre document LaTeX, vous placerez la commande bibliography{bibliographie}à l'endroit du document où vous désirez faire apparaître les références ("biliographie" réprésente le nom du fichier).

Vous aurez remarqué que je n'ai fait aucune mise en forme de mes références, j'ai juste rempli des champs. En effet, c'est LaTeX qui va se charger de mettre vos références en forme. Pour cela, vous aller spécifier en préambule de votre fichier ".tex" un style de bibliographie grâce à la commande:

bibliographystyle{style}

Le mot-clé "style" peut alors prendre différentes valeurs, selon la forme que vous désirez ou qui vous est imposée par l'éditeur. Les quatre styles standards sont plain, unsrt (non-trié), alpha (alphabétique), abbrv (abbrégé). Le style plain est le style classique dans lequel les références sont classées par ordre alphabétique. Le style unsrt classe les références par ordre d'apparition. Le style alpha utilise les premières lettres de chaque auteur comme étiquettes de références dans le texte (plutôt que [1], [2], etc.) et enfin abbrv abrège les noms des auteurs. De nombreux style sont toutefois mis à disposition par d'autres organismes et sont installés par défaut. Parmi les plus utilisés on nommera par exemple amsplain (de l'American Mathematical Society) ou achemsol (de l'American Chemical Society).

Pour compiler votre document, vous devrez alors procéder en plusieurs étapes. Tout d'abord, vous compilez de la façon habituelle (un clic sur le bouton "Typeset" de TexShop). Ensuite, vous devez faire appel au compilateur BibTeX. Pour cela, choisissez BibTeX dans le menu de TeXShop:

puis cliquez à nouveau sur "Typeset". Ce processus ira très vite, il va juste rassembler les références dont il a besoin. Revenez ensuite à LaTeX dans le menu et compilez votre document normalement.

Cette méthode présente plusieurs gros avantages. Premièrement, vous pouvez utiliser un gros fichier ".bib" pour tous vos articles ou ouvrages, BibTeX se chargera de ne prendre que ceux dont vous avez besoin et de les placer dans votre document, les autres seront ignorés, il sera également aisé de partager des fichiers ".bib" avec des collègues. Deuxièmement, changer la forme des références se fait très simplement en changeant la ligne bibliographystyle{style}. Enfin, l'édition d'un fichier ".bib" est très facile, surtout avec un programme dédié comme BibDesk, qui sera l'objet de mon prochain test.

Avant de terminer, j'aimerais encore ajouter quelques détails sur les bibliographies en LaTeX. Comme je l'ai déjà mentionné, les références sont automatiquement numérotées par LaTeX. Grâce à l'utilisation du paquet "cite", vous pourrez en outre "compresser" les numéros. Si par exemple vous avez une citation du type:

Dans ses trois derniers articles[1,2,3], Einstein propose des truc intéressants.

en ajoutant ceci à votre préambule:

usepackage{cite }

vous obtiendrez ça:

Dans ses trois derniers articles[1-3], Einstein propose des truc intéressants.

Si vous utilisez le paquet "hyperref" dont je vous avais parlé dans mon dernier article sur LaTeX, les numéros des références seront "cliquables" et vous mèneront directement à la page correspondant à la référence en question.

Je vous donne donc rendez-vous dans mon prochain test pour une présentation du compagnon idéal de BibTeX, BibDesk.

Icon_print