I intend to have a single .bib file to document all the books that I read.

I am wondering, would people doing the same simply just add entries at the bottom of the file???(In which case they wouldn't be alphabetical for example.)

  • 1
    Are you asking if there's an advantage to organizing your entries in certain ways in your file? – dgoodmaniii May 31 '15 at 23:47
  • 1
    @stjohnsmith Welcome to TeX.SX! your question is highly dependent of people's opinions; which by the way, can vary in every possible way. That makes your question, too broadly defined to answer in precise manner. Kindly, reform your question targeted to a specific area within .bib organisation (e.g., How to organise *.bib file by citation year?) and provide a minimal working example (MWE) that shows what you need to do or troubleshoot. – Amar Jun 1 '15 at 0:18
  • 4
    @Amar: I don't think that a MWE is useful here. – user31729 Jun 1 '15 at 0:27
  • @ChristianHupfer may be, still the question needs some work. It's too broad! – Amar Jun 1 '15 at 0:29
  • @Amar: I agree that it is too broad/provokes opinion based answers ;-) – user31729 Jun 1 '15 at 0:30

Note that if you are using bibtex and you have entries which cross-reference other entries using the crossref field, then entries with the crossref field must come before the entries they reference.

For example

 author = {Author, A. N.},
 title = {My Contribution},
 pages = {32--45},
 crossref = {some-anthology}}
 editor = {Editor, A. N.},
 title = {Our Anthology},
 publisher = {Books 'R Us},
 address = {Sea of Tranquility}}

is OK but putting some-anthology before something-in-a-book would not work.

Similarly, if you define bibliography strings

@string{mystring = {My String}}

then you need these before they are first used.

While this does not determine any particular order for the bibliography database, it does impose constraints on the ordering.


I would recommend you do as little by-hand managing and organizing of the bib file as possible. Instead, you should use a program such as JabRef or BibDesk, or a front-end editor such as WinEdt along with the macro package bibMacros, to organize the contents of the bib file. Doing so will let you sort the bib file according to various criteria (by authors' names, by year of publication, etc), and they will let you pretty-print the bib file automatically. Using a program or macro package will also take care of placing entries that are crossref-ed by other entries at the end of the bib file.


There's no one correct answer here, and @cfr provided a good one with respect to crossrefs. I'll note here that BibDesk adds references to the end of a file in order to make differences between successive files smaller; this is a convenience when using a version control system, for instance (or at least that's why we did it). Further, if you use a GUI program to manage your references, the order of items in the file is immaterial, as they generally allow you to display in alphabetical order.


@Mico provides one approach but the opposite approach is also workable (and my preference) Use a good text editor which has helpful searching tools (e.g. regex, at least searching with wildcards), and supports (custom) folding so you can set up your .bib so only the first line is visible. Combined with a well-chosen bibkey (I use Author_main_keywords for example) it's not hard to find entries on the rare occasions when you want to browse the file.

I found JabRef (and the other bib manager I tested so briefly I can't remember the name) rather inflexible, for example when pasting in from journal websites that don't format their entries correctly, or pasting partial entries. For a while I was keeping my own work at the bottom of my master.bib but (using biblatex) I found that a keyword of {me} was more useful (allowing simple listing of all my work).

I've never felt the need to print my .bib file; if I did, I'd use biblatex and a simple .tex file.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.