Ceci est une ancienne révision du document !


Comment générer une bibliographie?

Il existe ici deux possibilités pour placer une bibliographie dans un document :

  • soit en la saisissant directement dans le document ;
  • soit en créant un fichier contenant les références bibliographiques (un fichier d'extension .bib) qui sera traité par BibTeX.

Dans les deux cas, la commande \cite permet de citer une référence de la bibliographie dans le corps document et faire apparaître également dans la bibliographie. Pour inclure une référence dans la bibliographie sans y faire référence explicitement, il faut utiliser la commande \nocite.

Avec les commandes de base

La méthode « directe » consiste à utiliser l'environnement thebibliography. C'est un environnement semblable à itemize, chaque entrée étant précédée d'un \bibitem. En voici un exemple :

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
 
\begin{document}
 
Les livres~\cite{Lamport} et~\cite{Companion} sont deux bons bouquins sur \LaTeX. 
 
\begin{thebibliography}{MMM99}
 
\bibitem[Lam99]{Lamport} 
L. Lamport, 
\textit{\LaTeX: A Document Preparation System}, 
Addison-Wesley, 1994.
 
\bibitem[GMS94]{Companion} 
M. Goossens, F. Mittelbach et A. Samarin, 
\textit{The \LaTeX{} Companion}, 
Addison-Wesley, 1994.
 
\end{thebibliography}
\end{document}

La commande \bibitem a, en général, un argument obligatoire et un argument optionnel. L'argument obligatoire est la clef interne, c'est-à-dire le « nom » à utiliser dans le document pour faire référence à cette entrée. L'argument optionnel est la clé que \LaTeX utilisera dans le document. Ce qui suit le \bibitem est le contenu de la référence bibliographique. C'est du code \LaTeX normal.

L'environnement thebibliography a un argument obligatoire, qui indique la taille du retrait à prévoir dans la liste. L'argument devra donc être, pour des raisons esthétiques, la plus longue clé apparaissant dans la bibliographie.

Avec le programme BibTeX

La méthode précédente a l'inconvénient de ne pas être automatique : il faut recréer la liste des références pour chaque document. BibTeX permet de créer une fois pour toutes une liste de références bibliographiques et de lister, automatiquement et de manière configurable, les références utilisées dans le document.

Le fichier des références bibliographiques

L'automatisation passe par la constitution d'un fichier (ou de plusieurs fichiers) d'extension .bib contenant les références bibliographiques mises sous une forme cadrée, chaque référence étant composée d'une liste de données sous la forme « champ = “valeur” » séparées par des virgules. Pour notre exemple de début de page, ce fichier aurait la forme suivante :

@book{Lamport,
  title     = "\LaTeX: A Document Preparation 
              System",
  author    = "Lamport, Leslie",
  publisher = "Addison-Wesley",
  year      = 1994
}
 
@book{Companion,
  title     = "\LaTeX{} Companion",
  author    = "Goossens, Michel and Mittelbach, 
              Frank and Samarin, Alexander",
  publisher = "Addison-Wesley",
  year      = 1994
}

La question « Comment construire un fichier de références bibliographiques (.bib) ? » développe ce sujet.

Le fichier de style bibliographique

Afin de pouvoir simplement passer d'un style bibliographique à un autre, ces styles sont contenus dans un fichier d'extension .bst. Il existe de nombreux fichiers .bst, les plus courants étant abbrv.bst, alpha.bst, apalike.bst, plain.bst et unsrt.bst (qui existent aussi en version francisée : alpha-fr.bst, plain-fr.bst, etc.).

Les principales caractéristiques de ces styles sont présentées à la question « Comment changer le style de la bibliographie ? ».

Les commandes à placer dans le document principal

Pour inclure une bibliographie dans un document, on doit donc définir le style voulu et le(s) fichier(s) contenant les références bibliographiques. Cela se fait avec les commandes \bibliographystyle et \bibliography. Par exemple :

\bibliographystyle{alpha}
\bibliography{fichier1,fichier2,fichier3}

Noter l'absence d'espaces après les virgules dans la commande \bibliography.

À la compilation, plusieurs passes sont nécessaires :

  • une première passe de LaTeX, qui permet d'avoir la liste des références citées et qui devront apparaître dans la bibliographie ;
  • une passe de BibTeX pour créer la bibliographie ;
  • une passe de LaTeX qui inclura la bibliographie ;
  • une dernière passe de LaTeX pour que les références croisées soient correctes.

Il se peut que la bibliographie elle-même inclue de nouvelles références. Dans ce cas, les deux premières étapes seront répétées autant de fois que nécessaire.

Lorsqu'il est exécuté, BibTeX lit le fichier .aux qui lui est passé en argument, afin de savoir quel style utiliser, quelle base bibliographique et quelles entrées il doit citer. Il crée un fichier d'extension~.bbl, contenant un environnement thebibliography et la liste des \bibitem demandés. Ce fichier est inclus dans le document par LaTeX, à l'endroit où est appelée la commande \bibliography.

FIXME Traduction à poursuivre.

Second: you must write your LaTeX document to include a declaration of the “style” of bibliography, citations, and a reference to the bibliography file mentioned above. So we may have a LaTeX file containing :

\bibliographystyle{plain}
...
Pooh is heroic~\cite{Milne:1926}.
...
Alice struggles~\cite{Carroll:1865}.
...
\bibliography{mybooks}

Note : we have bibliography style plain, above, which is nearly the simplest of the lot: a sample text, showing the sorts of style choices available, can be found on Ken Turner's web site : http://www.cs.stir.ac.uk/~kjt/software/latex/showbst.html.

Third: you must process the file :

latex myfile

As LaTeX processes the file, the \bibliographystyle command writes a note of the style to the aux file; each \cite command writes a note of the citation to the aux file, and the \bibliography command writes a note of which bib file is to be used, to the aux file.

Note that, at this stage, LaTeX isn't “resolving” any of the citations: at every \cite command, LaTeX will warn you of the undefined citation, and when the document finishes, there will be a further warning of undefined references.

Fourth : you must run BibTeX :

bibtex myfile

Don't try to tell BibTeX anything but the file name: say bibtex myfile.aux (because you know it's going to read the aux file) and BibTeX will blindly attempt to process myfile.aux.aux.

BibTeX will scan the aux file; it will find which bibliography style it needs to use, and will “compile” that style; it will note the citations; it will find which bibliography files it needs, and will run through them matching citations to entries in the bibliography; and finally it will sort the entries that have been cited (if the bibliography style specifies that they should be sorted), and outputs the resulting details to a bbl file.

Fifth: you run LaTeX again. It warns, again, that each citation is (still) undefined, but when it gets to the \bibliography command, it finds a bbl file, and reads it. As it encounters each \bibitem command in the file, it notes a definition of the citation.

Sixth: you run LaTeX yet again. This time, it finds values for all the citations, in its aux file. Other things being equal, you're done… until you change the file.

If, while editing, you change any of the citations, or add new ones, you need to go through the process above from steps 3 (first run of LaTeX) to 6, again, before the document is once again stable. These four mandatory runs of LaTeX make processing a document with a bibliography even more tiresome than the normal two runs required to resolve labels.

To summarise: processing to resolve citations requires: LaTeX; BibTeX; LaTeX; LaTeX.


Source: Normal use of BibTeX from LaTeX

3_composition/annexes/bibliographie/construire_une_bibliographie.1634543010.txt.gz · Dernière modification : 2021/10/18 07:43 de yannick.tanguy
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0