Using bibliography in latex might be headache sometimes. While I was writing my MSc thesis, I had taken some notes. I'd like to share them with you.
For a while, I was wondering what is the difference between bib and bbl. I learned that when you execute bibtex, bib files are converted to bbl.
Steps for running BIBTEX with LaTEX
1. Run LaTEX, which generates a list of \cite references in its auxiliary ﬁle, .aux.
2. Run BIBTEX, which reads the auxiliary ﬁle, looks up the references in a database
(one or more .bib ﬁles, and then writes a ﬁle (the .bbl ﬁle) containing the formatted
references according to the format speciﬁed in the style ﬁle (the .bst ﬁle). Warning
and error messages are written to the log ﬁle (the .blg ﬁle). It should be noted that
BIBTEX never reads the original LaTEX source ﬁle.
3. Run LaTEX again, which now reads the .bbl reference ﬁle.
4. Run LaTEX a third time, resolving all references.