tuteurs.ens.fr/logiciels/latex/bibtex.tml
2005-03-24 03:09:33 +00:00

162 lines
5.6 KiB
XML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
"tuteurs://DTD/tml.dtd">
<html>
<head>
<title>Bibliographie</title>
</head>
<body>
<h1>Faire une bibliographie avec BibTeX</h1>
<h2>Pourquoi BibTeX ?</h2>
<p>Il peut sembler bizarre de devoir recourir à un programme externe pour
générer quelques lignes de texte à la fin d'un mémoire. Néanmoins
l'intérêt de BibTeX apparaitra très rapidement à l'utilisateur désireux
de construire sa bibliographie au fur et à mesure de la rédaction du
texte, tout en respectant les conventions, par exemple dans le cas d'une
thèse...</p>
<p>De plus, la plupart des bibliographies d'ouvrages scientifiques se
doivent d'être au format BibTeX, afin de ne pas voir à taper les entrées
bibliographiques, mais de pouvoir utiliser les bases de données
existantes.</p>
<h2>Le principe</h2>
<p>BibTeX va chercher ses références dans une base de données que
l'utilisateur crée, de manière très simple, en attribuant une
« étiquette » à chaque référence, puis en remplissant un certain nombre
de champs (auteurs, titre, revue, année, éditeur, etc.). Cette base de
donnée est stockée sous forme de fichier texte, avec comme extension
<code>.bib</code>. Elle peut être commune à plusieurs documents LaTeX,
comme on le verra plus tard.</p>
<p>Lorsque l'utilisateur veut citer une référence dans le fichier LaTeX,
il appelle l'étiquette qui identifie cette référence dans le fichier
<code>.bib</code>, par la commande <code>\cite{}</code>. Lors de la
compilation du fichier par LaTeX, la liste des références demandées
s'inscrit alors dans le fichier <code>.aux</code> correspondant. On peut
alors lancer BibTeX, qui fera le lien entre les requêtes du document et
la base de données, en générant au passage un fichier <code>.bbl</code>,
qui sera, lui, spécifique au document LaTeX tel qu'on vient de le
compiler.</p>
<p>Enfin, une nouvelle compilation via LaTeX sera nécessaire pour
afficher correctement la bibliographie ainsi que les renvois du
texte.</p>
<h2>En pratique</h2>
<h3>Construire la base de données</h3>
<p>Voici un extrait de base de données :</p>
<pre>
@article{Johnson,
author = {Edgar G. Johnson and Alfred O. Nier},
title = {Angular Aberrations in Sector Shaped
Electromagnetic Lenses for Focusing Beams of Charged Particles},
journal = {Physical Review},
volume = {91},
number = {1},
month = {jul},
year = {1953}
}
@phdthesis{Zoran,
author = {Zoran Racic},
title = {\'Etude et essais du spectromètre à plasma {DYMIO}
de la mission {MARS 96}},
publisher = {Université Pierre et Marie Curie},
year = {1996}
}
</pre>
<p>Toute entrée commence par un @, suivi par un descripteur. Entre
accolades, se trouve l'étiquette, puis les champs, composés d'un
sous-descripteur et de la valeur de celui ci, entre accolades. <em>Les
champs sont séparés par des virgules,</em> l'oubli de celles ci étant
vraisemblablement la source d'erreurs la plus courante !</p>
<p><em>A priori</em>, BibTeX s'occupe des majuscules, et n'hésite pas à en
supprimer si tel est son bon plaisir. Il y a moyen de lui faire savoir
qui c'est le chef, en enfermant les mots qu'on désire laisser en
majuscule entre accolades. Les commandes TeX sont autorisées.</p>
<p>N'hésitez pas à fournir un maximum d'informations, BibTeX s'arrangera
pour tout faire rentrer (ou donnera des messages d'avertissement s'il en
manque...) </p>
<p>Sauvegardez le fichier sous un nom se terminant par
<code>.bib</code></p>
<h3>Afficher la biblio dans le document LaTeX</h3>
<p>À l'emplacement prévu dans le fichier .tex, insérez les lignes :</p>
<pre>
\addcontentsline{toc}{section}{Références}
\bibliographystyle{plain}
\bibliography{stlong}
</pre>
<p>La commande <code>\addcontentsline</code> n'est pas obligatoire, mais
elle permet de référencer la bibliographie dans la table des
matières.</p>
<p><code>\bibliographystyle</code> permet de choisir le style de
bibliographie.</p>
<p><code>\bibliography</code> permet d'indiquer quelle base de données
doit être utilisée. On indique le nom du fichier, sans l'extension
<code>.bib</code></p>
<h3>Citer une référence dans le texte</h3>
<p>LaTeX n'affiche pas toutes les références contenues dans la base de
données, seulement celle qui sont citées dans le texte. Par conséquent il
est normal à ce stade de ne rien voir s'afficher... La commande à
utiliser pour citer une référence est tout simplement</p>
<pre>\cite{<em>label</em>}</pre>
<p class="continue"><em>label</em> est l'étiquette attribuée lors de
la construction de la base de données. Dans le style <code>plain</code>,
cette commande apparaît alors dans le fichier <code>.dvi</code> sous la
forme <code>[X]</code>, où X est le numéro utilisé dans la bibliographie,
ou un <code>?</code> si l'étiquette est erronée, ou qu'il manque une
compilation de LaTeX et/ou de BibTeX.</p>
<p>On peut néanmoins faire apparaître une référence dans la bibliographie
sans la citer explicitement dans le texte, à l'aide de la commande :</p>
<pre>\nocite{label}</pre>
<h3>Compilation(s)</h3>
<p>Il ne reste plus qu'à compiler le tout :</p>
<pre>
latex mon_fichier.tex
bibtex mon_fichier
latex mon_fichier.tex
</pre>
<div class="attention">Ce n'est ni le fichier <code>.bib</code> ni
le fichier <code>.tex</code> qu'on indique à BibTeX, mais le fichier
<code>.aux</code> produit dans la première compilation du fichier
<code>.tex</code>. Cependant, comme l'indique la commande ci-dessus,
cela fonctionne quand même si on ne précise pas l'extension.</div>
<div class="metainformation"> Auteur : Frédéric Meynadier (2001).
Dernière modification le <date value="$Date: 2005-03-24 03:09:33 $" /> </div>
</body> </html>