summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-usebibtex.html
blob: 84aad77577f97aaa47b68cdc8092ec6b1263d50e (plain)
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>&ldquo;Normal&rdquo; 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) &mdash; see

&ldquo;<a href="FAQ-buildbib.html">creating a BibTeX file</a>&rdquo;.
<p/>Second: you must write your LaTeX document to include a declaration
of the &lsquo;style&rsquo; 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&rsquo;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&rsquo;t &ldquo;resolving&rdquo; 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&rsquo;t try to tell BibTeX anything but the file name: say
<code>bibtex myfile.aux</code> (because you know it&rsquo;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 &ldquo;compile&rdquo; 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&rsquo;re
done&hellip; 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>