Tips on BibTeX

  1. When do you use which type? Article & book are common for us. One that tends to trip people up is “incollection”: Use this when you are citing a book chapter that is one of several chapters written by different authors, i.e., an edited book. You would still cite the editors of the book in the editor field, while the author of the chapter goes in the author field. Note that even in @book, where you’re just citing the whole book, you cite either the authors of the book (if they wrote the book) or the editors of the book (if it’s a collection). So if you’re citing the book for which I’m a co-editor, you put our names in the editor field.  For, say, the Bazaraa, Sherali, Shetti nonlinear programming book, you cite them as authors because they wrote the whole book.
  2. Authors. Make sure that the authors are separated by “and,” e.g., J. Cole Smith and Andrew Schaefer and Shabbir Ahmed. Using initials, this can be tricky. If the author has a last name with more than two words, put the last name in brackets as {van den Heuvel} so let LaTeX know that this is one multi-word last name.
  3. Authors, part II. Put spaces between initials.  Use, e.g., H. E. Romeijn, and make sure you use periods after the H. and E.  Else; H E Romeijn makes the compiler think that Dr. Romeijn’s first name is actually just “H” (and in fact it’s not).  Alternatively, you could put a “tie” in between the initials:  H.~E. Romeijn.  That is called a non-breaking space.  When it is typeset, LaTeX will make sure that there’s no line break between H. and E.
  4. Titles. Capitalization is the single biggest mistake I see, and it carries over to submitted (and sometimes published!) papers. Titles usually get lower-cased by BibTeX. Everything that doesn’t start the title or come after a colon is lower-case. So if you have a proper name (e.g., Eulerian, Lagrangian) or acronym (LP, MIP, SONET, TSP) that you want to protect as upper-case, put it in brackets.  Example:
    title = “A {L}agrangian heuristic for solving the {TSP}”
  5. Get some software to help you with your bib files.  I used to do everything using a text editor. It’s probably easier to use third-party software.  Consider JabRef (if you’re a Windows or Linux user) or BibDesk (Mac) or something akin to these programs.
  6. Checking the bibtex log file (blg) is necessary.  This can save you a ton of problems later on.  It will tell you stuff that’s pretty easy to see on your own, but also things that aren’t.  For instance, it will let you know when there’s a character it doesn’t understand.  Sometimes, I copy a reference from the internet, and it contains a long-dash character.  On your screen, it looks fine, but there can be a difference that your eyes can’t see.  Your computer might “see” the long dash and not know what to do with it!  Instead, you’d want to delete the long dash character and replace it with –.
  7. As far as possible, use one BibTeX file for all your papers.  (BibTeX will only pull the references that are being cited for each paper.) If you typeset the reference once correctly, you’ve done it for every paper thereafter. If this isn’t practical, then at least keep some master reference file somewhere.
  8. Be consistent with how you label your references from the very beginning.  Some folks do this using minimal-length references (e.g, SJP04 might be the label for a paper by three authors whose last names begin with S, J, and P, and the paper appears in 04). Mine are longer, but they wouldn’t be if I had the patience to rename all citations in my master bib file. The key is to be consistent so that you don’t have to constantly check the label of your references while you are writing the paper.
  9. It’s a good idea to spell-check the BibTeX file, or at least the output file (bbl), even though it’s tedious. Misspelled references can make it into print.
  10. Many publishers required book publisher’s location. I have no idea why, but they do. Record the city.  If it’s not a huge city (e.g., London, New York, Boston), then give the city’s state if it’s in the USA (e.g., Syracuse, NY) or the country if it’s not in the US (e.g., Dordrecht, The Netherlands).
  11. Use two dashes to separate page ranges (e.g., 4–10).
  12. Many author names have special characters that are not used in English. See http://www.bibtex.org/SpecialSymbols/ for a discussion on how to typeset tildes, umlauts, etc., that arise in names.