What is the correct way of organizing the bibliography:
Is it better to have only one .bib
file which is shared by all TeX files, or am I supposed to have one .bib
file for each TeX file (each paper)?
Work habits obviously vary from author to author, and what works well for one person may be inferior for many others. However, having to maintain separate bib files for each working paper you write doesn't seem like it could be optimal, especially because there's likely going to be a fair amount of duplication across the bib files you'd have to create for each of these papers.
For what it's worth, here's my approach to managing bibliography files: I use only one "master" bib file for all of my working papers. Incidentally, when writing scholarly papers, I generally use WinEdt 5.6
as the front end, and I rely on the associated BibMacros
utilities package to help me manage create, edit, format, and update my bib entries. (Update Nov 2013: There's an updated version of the BibMacros
package that works with versions 7 and 8 of WinEdt; see http://winedt.org/Config/menus/BibTeX.php.)
Later on, when a paper is accepted for publication by a journal and I need to submit the final tex, bib, and graphics files to get the piece published, I run one of the BibMacro utilities called "Extract from Aux". This WinEdt macro (i) extracts all entries actually used in the paper from the master bib file and (ii) places them into a new bib file. Once the new bib file has been created, I simply adjust the \bibliography
command in the main tex file to point to the new bib file. It is this new bib file, which by construction contains only the entries actually used in the paper, that gets submitted to the journal (along with all other required files).
-
2Seems like someone should write up a package to recreate WinEdt's
BibMacros
from within LaTeX. Unless, of course, this already exists...? – Werner Feb 28 '12 at 18:47 -
2@Werner -- I use
bibtool
to do this on Linux. It doesn't handle crossref-ed entries unfortunately, but it does extract@string
's. Very useful when you need it. – jon Feb 28 '12 at 22:12