Jason Koo

      Stay hungry, Stay foolish!

导航

Top Ten Tips for Bibliographies

Posted on 2013-07-12 16:19  Jason Koo  阅读(186)  评论(0编辑  收藏  举报

All but the first of the tips below apply to the bibtex method of generating bibliographies. For more details, and for additional tips, see the main Bibliographies Tips page.

  1. Mandatory argument to "thebibliography". The "thebibliography" environment has a mandatory argument, representing the width of the widest label. 
    Example: \begin{thebibliography}{99} .... \end{thebibliography}
    Leaving out this argument causes an error with the rather vague error message "Something's wrong--perhaps a missing \item".
  2. Before running bibtex, run the tex file through latex. The bibtex program needs the "auxiliary" file (with extension .aux) that is produced by latex.
  3. The bibtex program must be run on the auxiliary file of the paper, not the bibtex database. This is a common source of confusion for beginners. If tex and bibtex files for a paper have the same names, say paper.tex and paper.bib, things are simple: the command bibtex paper, where the filename paper is specified without extension, will do the right thing. However, it is important to understand that the file that is processed by bibtex is not the bibtex file, paper.bib, but rather the auxiliary file paper.aux that is generated after the first run through latex. Thus, in the above command the short-hand argument paper is expanded to paper.aux. This becomes significant if the bibtex database has a name that is different from the name of the tex file. For example, if the bibtex database is mybibliography.bib, the appropriate bibtex command is bibtex paper, not bibtex mybibliography, since bibtex needs the file paper.aux, not the (probably non-existing) file mybibliography.aux.
  4. Capitalized words in titles. Words in titles that are to be capitalized (such as proper names) must be protected by placing the first (upper case) letter in braces. 
    Example: On {B}anach spaces
    Note that this applies only to title fields (title and booktitle). In other fields, such as journal names, no lower case conversion is done, so there is no need to protect capitalized words.
  5. Multiple authors. Separate the names of the authors by the conjunction "and", without additional punctuation marks.
  6. Nonstandard author names. For names of authors not in the standard "first last" or first middle last" format, the part representing the last name has to be explicitly marked by surrounding it with braces to ensure that the entry gets correctly alphabetized. 
    Example: Jose {Dos Santos}.
  7. Accented characters. Accented characters must be surrounded by braces. 
    Example: Erd{\H o}s.
  8. Overriding the default sort order. Bibtex normally does a good job in arranging references in the appropriate order (alphabetically by author, then chronologically); however, unpublished items that do not have a year listed may get placed before items by the same author published earlier. To prevent this and instead have the unpublished work be listed last, add an "invisible" year entry in the record as follows: year = "unpublished manuscript\setbox0=\hbox{2003}". Similar tricks allow one to override other undesirable orderings.
  9. Including references that are not cited in the paper. Bibtex builds the bibliography from the references that are actually cited in the paper. Including references without corresponding citations is generally a bad idea, but it may be warranted in special situations. To include a reference that is not cited in the paper, but which has a record in the bibtex database, add the command \nocite{xxx} at the end of the paper, just before the bibliography; here "xxx" is the key for the paper to be cited. The command \nocite{*} causes all items in the database to be included in the references, regardless of whether or not they are cited in the paper.
  10. Printing out a bibtex database. To print out all records in a bibtex database, say mybibliography.bib, create and compile a dummy tex file containing the following commands:
    
    \documentstyle{amsart}
    \begin{document}
    \nocite{*}
    \bibliographystyle{amsplain}
    \bibliography{mybibliography}
    \end{document}