A LaTeX Course for UoA Students
A HTML version Instructor: Theo J. Mertzimekis
Home > Bibliography
Main menu
» First Steps
» Basic Commands
» Math equations
» Thesis template
» Bibliography
» Examples
» Useful Links


University of Athens

Questions? Comments?

One of the most powerful features of LaTeX is the ability to create organized bibliography collections and use them efficiently in documents, multiple times. To the best of our knowledge there is no other **free** tool that does that and I am even convinced BibTeX (LaTeX's bibliography manager) does it better than anything else.

The steps you should follow are easy: build a plain text database with all references required in a file having a .bib extension, then declare that file in your latex file. Every reference you make in any part of the text is automatically added, sorted and linked to the database automatically.

The BibTeX may have any name you like and you may organize its contents depending on the subject the corresponing literature refers to, e.g. you may have a file superheavies.bib that contains all references (journal articles, books, conferences etc.) to recent searches of superhavy nuclei. This file may be used again and again (in an upcoming paper, in a conference abstract etc). The BibTeX file contains single entries of each citation using specific formats depending on the type of citation. There are several types, the most common ones listed below:

  • @article - a journal article
  • @book - a published bookj
  • @conference - a paper in a proceedings volume (same as @inproceedings)
  • @phdthesis - a PhD thesis
  • @techreport - a technical report
  • @electronic - an item published electronically e.g. to the www
  • @misc - some other type of publication
The @ character in front of the name is the way to let BibTeX know about the style of the citation included. Each type is associated with several options as we will see below, but the level-zero requirements are the author, title and year options.

How to use BibTeX?

Once you have your .bib file ready (see below for entry examples) you should let the LaTeX file know about it. First, you pick where to have your bibliography be shown and in what style. Here we just use the default style, plain. Then you provide the BibTeX filename (without the .bib extension).

\bibliography{superheavies} % no .bib extension should be included

The first command starts the bibliography. The second command provides all references found in file superheavies.bib. LaTeX and BibTeX will collaborate to produce a nicely organized and numbered final bibliography list. (see more in the thesis template).

The tricky part of bibliography is when we try to generate the final document. There are four steps we need to run, in the following sequence:

  • Run LaTeX (in our case XeTeX) - scans all documents for information
  • Run BibTeX - scans, checks and generates the bibliography list
  • Run LaTeX - gathers and places all references and citations in the correct order
  • Run LaTeX - generates the final document

An example of a BibTeX entry

Here is the most common entry found in scientific documents, an article:

author = "Godelitsas, A. and Nastos, P. and Mertzimekis, T. J. and Toli, K. and Simon, R. and Göttlicher, J.",
title = "A microscopic and synchrotron-based characterization of urban particulate matter (PM$_10$-PM$_{2.5}$ and PM$_{2.5}$) from Athens atmosphere, Greece",
journal = "NIM B",
year = "2011",
volume = "269",
pages = "3077",
doi = "10.1016/j.nimb.2011.04.063"

The first line, @article{, tells BibTeX this is an entry of the article type and opens a curly brace to specify all related citation data. This is a rather complete entry, where a list of authors is given and consecutive authors are separated by the keyword "and". Also, the article title, the journal name, the year the article was published, the volume and first page number of the article, and finally the modern way to cite an article, the Digital Object identifier (DOI) are specified. The entry concludes with the "}" character.
Please note that each entry starts with a keyword (here is 2012_PM) which is a unique ID we will use to refer to this entry throughout the document. No other entry should have the same ID, else LaTeX will pop up with an error message complaining about duplicate entries. So, if we want to cite this particular entry in the text we will use the command



[...] as a recent paper has stated \cite[2012_PM] [...]

If one wants to cite multiple references at the same point (let's say entries with IDs 2012_PM, 2008_NIMpaper, AHT22), then the \cite command becomes:


BibTeX will find the citations in your .bib file, put them in order and present them according to the style you have chosen (plain, Harvard, alpha etc). This will be completed automatically without any interference from the user, just running the sequence of commands shown a little while ago. If the .bib file includes more entries than are actually cited in the document, all other entries do not show up in the bibliography. In that way, you could organize a long library on a particular subject and use it again and again for different purposes or documents by citing just the ones you need. If, instead, you want to include some reference without explicitly citing it at a particular point in the text, use the following command at any point of the text, typically just before the point you start the bibliography:


Another example

Another type of citation found in scientific bibliographies is Conference Proceedings. This is declared with the @inproceedings (or the equivalent @conference) at the beginning of the BibTeX entry.

author = "{Theo J. Mertzimekis, for the E513 Collaboration}",
title = "The ground state $g$ factor of $^{44}$Cl: a probe for the reduced gaps at $Z=16$ and $N=28$",
booktitle = "Frontiers In Nuclear Structure and Astrophysics 3: Proceedings of the International Conference",
year = "2011",
volume = "1377",
pages = "395",
address = "Rodos, Greece",
month = "22-27 Aug",
publisher = "AIP",
doi = "10.1063/1.3628424",
journal = "AIP Conference Proceedings"

Please note that mathematical formulas are included in the title in the same way they are constructed in plain LaTeX (e.g. $^{44}$Cl). This entry has some differences with respect to the @article presented above, such as the booktitle option and the publisher. Something I missed to mention earlier is the fact that the option before the "}" closing the particular entry is NOT followed by a comma, as the other ones before do.
Also, BibTeX will use the defined citation style to present the option data, for instance the way author names are cited. If one wants to have something appear exactly as they typed it in the entry should include it within {...}. For example, in the above entry, the booktitle data provided will show up as:

Frontiers in nuclear structure and astrophysics 3: proceedings of the international conference.

where all capital letters in the sentence turn into small, while an option typed as:

booktitle = "{Frontiers In Nuclear Structure and Astrophysics 3: Proceedings of the International Conference}",

will maintain the capital letters throughout.

BibTeX managers

With the expansion of LaTeX and BibTeX, more sophisticated software codes became available aiming at improving the efficiency in managing small and large BibTeX databases. Depending on the OS, several (** free **) choices are available. My personal preference is JabRef, a Java manager for BibTeX entries. If you are on MacOSX, BibDesk is a great free choice, too. Such codes provide graphical interfaces for managing entries and the ability to search online libraries and catalogs for references.