1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
<head>
<title>UK TeX FAQ -- question label usebibtex</title>
</head><body>
<h3>“Normal” use of BibTeX from LaTeX</h3>
<p>To create a bibliography for your document, you need to perform a
sequence of steps, some of which seem a bit odd. If you choose to use
BibTeX, the sequence is:
<p>First: you need a BibTeX bibliography file (a <code>.bib</code> file) — see
“<a href="FAQ-buildbib.html">creating a BibTeX file</a>”.
<p>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 in the step 1. So we may have a LaTeX
file containing:
<blockquote>
<pre>
\bibliographystyle{plain}
...
Pooh is heroic~\cite{Milne:1926}.
...
Alice struggles~\cite{Carroll:1865}.
...
\bibliography{mybooks}
</pre>
</blockquote><p>
Note: we have bibliography style <i>plain</i>, 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:
<a href="http://www.cs.stir.ac.uk/~kjt/software/latex/showbst.html">http://www.cs.stir.ac.uk/~kjt/software/latex/showbst.html</a>
<p>Third: you must process the file.
<blockquote>
<pre>
latex myfile
</pre>
</blockquote><p>
As LaTeX processes the file, the <code>\</code><code>bibliographystyle</code> command
writes a note of the style to the <code>.aux</code> file; each <code>\</code><code>cite</code> command
writes a note of the citation to the <code>.aux</code> file, and the
<code>\</code><code>bibliography</code> command writes a note of which <code>.bib</code> file is to be
used, to the <code>.aux</code> file.
<p>Note that, at this stage, LaTeX isn’t “resolving” any of the
citations: at every <code>\</code><code>cite</code> command, LaTeX will warn you of the
undefined citation, and when the document finishes, there will be a
further warning of undefined references.
<p>
<p>Fourth: you must run BibTeX:
<blockquote>
<pre>
bibtex myfile
</pre>
</blockquote><p>
Don’t try to tell BibTeX anything but the file name: say
<code>bibtex myfile.aux</code> (because you know it’s going to read the
<code>.aux</code> file) and BibTeX will blindly attempt to process
<code>myfile.aux.aux</code>.
<p>BibTeX will scan the <code>.aux</code> 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 <code>.bbl</code> file.
<p>Fifth: you run LaTeX again. It warns, again, that each citation is
(still) undefined, but when it gets to the <code>\</code><code>bibliography</code> command,
it finds a <code>.bbl</code> file, and reads it. As it encounters each
<code>\</code><code>bibitem</code> command in the file, it notes a definition of the
citation.
<p>Sixth: you run LaTeX yet again. This time, it finds values for all
the citations, in its <code>.aux</code> file. Other things being equal, you’re
done... until you change the file.
<p>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.
<p>To summarise: processing to resolve citations requires: LaTeX;
BibTeX; LaTeX; LaTeX.
<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=usebibtex">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=usebibtex</a>
</body>
|