659

I've heard of many different bibliography-related packages/platforms/?. What's the difference between the following, which is good for what tasks, advantages/disadvantages, which one is the most modern, etc.:

  • BibTeX
  • biblatex
  • natbib
  • Biber
  • (If I missed anything important, please just add it here or answer about it)

Background

So far I've just typed in my citations (i.e. their sources) and lists of references manually (as regular footnotes/text) whichever way I needed them, but I'm considering switching to something more TeX-y. I usually use different literature for each paper, and I often have to switch between radically different styles for citations and the list of references, so flexibility is necessary. I'm trying to find out which platform would be the best for me, a hint at good introductory reading for whatever you recommend would be more than welcome.

Joseph Wright
  • 259,911
  • 34
  • 706
  • 1,036
doncherry
  • 54,637
  • 6
    @Joseph: I'm not sure if I agree with your edit. The markup and links imply that I (as OP) knew that biblatex and natbib are packages etc., which, honestly, wasn't the case. I just had these terms floating around in my head. Then again, you might argue that I could've found out about that at least by Googling. – doncherry Dec 13 '11 at 17:54
  • 54
    I think it's less important what you knew, and more important that the question, as now phrased, is a good resource. – Seamus Dec 13 '11 at 17:56
  • 10
    @doncherry I've taken the approach as Seamus outline, broadly, in that there is a wiki-like nature to the questions. In particular, as you mentioned things like biblatex it seemed reasonable that you'd heard of them somewhere, so a link to one possible place seemed reasonable. I hope I've not implied you'd read the linked material. Of course, if you're not happy then feel free to revert. – Joseph Wright Dec 13 '11 at 17:59
  • 5
    I wish arXiv would fix their building system rather than directing everybody here. biblatex is so much nicer to use, the whole "it is not portable" claim by arXiv is utter nonsense. – Erich Schubert Oct 12 '18 at 19:04
  • What is OP in @doncherry's comment? – Eduardo Reis Aug 06 '21 at 17:02
  • 1
    @EduardoReis Original poster, as https://www.google.com/search?q=OP%20meaning explains. – doncherry Aug 06 '21 at 22:05

7 Answers7

702

(The following is an expansion of the tag entry, which I helped to write).

Some terminology

It's first off important to realize that the term BibTeX is often used to refer to various distinct things, and this can lead to some confusion. For example we typically tell new users to "use bibtex for your bibliography" which usually just means don't do it by hand, but instead store your references in a .bib file and use some automatic method of formatting citations and bibliography. Additionally, we also talk about a "bibtex file" (i.e. a .bib file). Both of these uses are in reality quite vague, and part of the reason for this question is to distinguish among them more carefully.

So in this question we will use the following terms:

  • bibtex and biber are external programs that process bibliography information and act (roughly) as the interface between your .bib file and your LaTeX document.

  • natbib and biblatex are LaTeX packages that format citations and bibliographies; natbib works only with bibtex, while biblatex (at the moment) works with both bibtex and biber.)

For those users who already use natbib, and are contemplating a switch, the following question will also be useful: What to do to switch to biblatex?.

natbib

The natbib package has been around for quite a long time, and although still maintained, it is fair to say that it isn't being further developed. It is still widely used, and very reliable.

Advantages

  • It has a wide range of already developed .bst files which conform to many journals and publishers in the sciences.
  • The author of the natbib package has written a package called custom-bib, which provides a utility called makebst. This utility is menu-driven and allows you to interactively generate custom bibliography style files. Bibliography style files generated with makebst are very stable and (unsurprisingly, given the authorship) work very well with natbib's citation commands.
  • The resulting bibliography code can be pasted directly into a document (often required for journal submissions). See Biblatex: submitting to a journal.

Disadvantages

  • Because it depends on bibtex, its interface requires .bst files, which use a postfix language that is difficult to program in for most people. This means that making even minor modifications to an existing style to meet particular formatting requirements can be quite difficult.
  • It is designed especially for Author-Year and (to a lesser extent) numeric citation styles that are common in the natural and social sciences. It is not able to do traditional humanities style citation styles such as Author/Title or footnote style citations and bibliographies (including various sorts of ibid tracking).
  • Multiple bibliographies in a single document or categorized bibliographies require extra packages.
  • By depending on bibtex as a backend, it inherits all of its disadvantages (see below).

You might want to use natbib if:

  • there is a .bst file already created for the specific journal you submitting a paper to;
  • a journal accepts latex submissions and requires or expects natbib. Such journal may not accept biblatex for the bibliography.

biblatex

The biblatex package is being actively developed in conjunction with the biber backend.

Advantages

Humanities style citations

  • biblatex is almost required if you need any of the following:

  • humanities style citations (author-title type schemes; citations using ibid etc.)

  • a much wider array of BibTeX database fields (again, especially suited for the humanities).

  • Unicode encoded .bib files (usable with the biber replacement for bibtex).

  • fine control over your own bibliography styles using regular latex methods.

Author-year and numeric citations

  • biblatex provides the same functionality as natbib for author-year and numeric citations common in the natural and social sciences. It can therefore be used as a replacement for natbib.

General considerations

  • All formatting of citations and bibliography entries is done using regular LaTeX macros. As a consequence, regular LaTeX users are able to make modifications to existing styles quite easily. biblatex also has built in hooks for most kinds of modifications.

  • Even though biblatex can use bibtex as a backend, it does no formatting with .bst files, but only uses bibtex for sorting.

  • Multiple bibliographies and categorized bibliographies are supported directly.

Available biblatex styles

In addition to the standard styles that are documented in the biblatex manual, CTAN currently lists the following extra style packages for biblatex:

Many new journal styles are being created for biblatex. Given the flexibility of adapting biblatex styles, in many cases it may be quite easy to modify an existing style to accommodate a particular journal's style.

Disadvantages

  • Journals and publishers may not accept documents that use biblatex if they have a house style with its own natbib compatible .bst file.
  • It is not trivial to include the bibliographies created by biblatex into a document (as many publishers require.) See Biblatex: submitting to a journal.

bibtex vs. biber

Many of the disadvantages of natbib are a consequence of its reliance on bibtex for formatting. This is the main (huge) distinction between the natbib and biblatex, as the latter, even when it uses bibtex as the backend, doesn't use it for formatting, only for sorting. However, biblatex is also designed to use biber, a new backend that adds further functionality to biblatex.

bibtex

Advantages

  • very stable and widely used

Disadvantages

  • very hard to modify bibliography styles without learning a different language (if using natbib; not an issue if using biblatex)
  • very poor cross-language support and non-European script support. Non-ASCII characters are best avoided. See How to write "ä" and other umlauts and accented letters in bibliography for guidance on how to write characters with accents and diacritics.

biber

Advantages

  • able to deal with many more entry and field types in the .bib file.
  • able to deal with UTF-8 encoded .bib files.
  • better sorting control.

Disadvantages

  • Only works with biblatex, not with natbib.
  • Because it does much more than bibtex it is a lot slower. See Why is biber so slow? for discussion.

Differences between .bib files

As noted at the beginning of this answer, we tend to use the term bibtex file to refer to the .bib file itself, which leads to the assumption that tools that manipulate .bib files are only available to bibtex users and not biber users. This is simply not the case: tools designed for manipulating .bib files such as reference managers and various .bib file generation/manipulation tools can be used.

It is the case, however, that as you transition to using all the features of biber/biblatex you may find certain differences in the .bib files become more relevant.

A separate question Compatibility of bibtex and biblatex bibliography files? explores some of the differences between traditional bibtex .bib files and .bib files that have been adapted for use with biber and biblatex.

Alan Munn
  • 218,180
  • 7
    There is also my historische-zeitschrift, though I think it is not used that often. (I know, it‘s a shameless self-promotion …) – domwass Sep 04 '11 at 15:30
  • 21
    One thing you didn't address in your question: Are the .bib file formats compatible? There exists a huge infrastructure for bibtex .bib files. Journals usually provide references in bibtex format. There's software to manage bibtex bibliographies. There is emacs support. And of course there are existing bibliographies in bibtex format. The important question is: How much of this do you lose if you use biber instead? – celtschk Dec 04 '11 at 16:11
  • @celtschk This is a very good question. I could add some points about this to my answer, but it would actually be good if you asked the question separately, so that the resident biblatex experts could all have a chance to weigh in on the issue. – Alan Munn Dec 04 '11 at 16:25
  • OK, I'll do so. – celtschk Dec 04 '11 at 17:33
  • Is there a good visual comparison of those biblatex styles anywhere? – naught101 Apr 29 '12 at 10:07
  • 2
    @naught101 I don't think so. And there's a lot more to most styles than can be shown with a simple example or two, so I don't know how useful such a resource would be. – Alan Munn Apr 29 '12 at 11:58
  • @Johannes_B Not only is biber quite slow, using biblatex can also make pdflatex much slower https://tex.stackexchange.com/questions/230796/why-does-biber-increase-compilation-time-of-pdflatex-runs-dramatically-factor-2 – McDuffin Sep 19 '17 at 17:27
  • @McDuffin biber and pdftex are different tools for different things. – Johannes_B Sep 19 '17 at 17:34
  • 1
    @Johannes_B yes they are. My point was that there are multiple ways biblatex can have a negative performance impact: both because biber is slower than bibtex, and because using biblatex can actually make the latex compilation phase slower too – McDuffin Sep 19 '17 at 20:51
  • @PhilipM The short answer is, yes, this is quite simple to do in biblatex too. But if you're happy with natbib and it serves your needs, there's no strong reason to switch to biblatex. biblatex excels in handling a lot more reference types, and different sorts of citing practices especially those used in the humanities (although it can do all the things that natbib can do too.) It also has much more sophisticated sorting facilities, which helps for people not writing in English. – Alan Munn Jan 30 '20 at 13:42
185

Here is a more visual approach based on Alan's great answer. This might complete his explanations with a more visual (and "for dummies") approach.

enter image description here

To use your database (i.e. your .bib file) within your LaTeX document, you need an external program to process it — that is, to transform your .bib file into a .tex understandable one.

Therefor, you can use either biber or BibTeX. They both use your .bib file as input, even if some of its features/fields might be available for biber only (e.g. utf8 encoding, the fields crossref, urldate, ...).

To display your bibliography and use citing commands, you need to use a LaTeX package. You can use either biblatex, or natbib. With the latter, your .bib file need to be processed with BibTeX. But if you use biblatex, you can process your .bib file either with biber, or with BibTeX.

Note that, as mentioned by PLK in Compatibility of bibtex and biblatex bibliography files?, biber supports other database file format than .bib (e.g. native integration of Zotero, Mendeley, etc.).

ebosi
  • 11,692
  • 2
    FWIW, using neither natbib nor biblatex is an option if \cite is enough for you—probably you need more but that should be mentioned for completeness. – Blaisorblade Jul 26 '17 at 21:14
52

Instead of pdflatex one can use lualatex or xelatex:

enter image description here enter image description here

user187802
  • 16,850
31

In his answer, Alan Munn listed the available extra style packages for biblatex on CTAN, as of 2011. As of today, the list has expanded to:

  1. biblatex-abnt: biblatex style for Brazil's ABNT rules
  2. biblatex-anonymous: A tool to manage anonymous work with biblatex
  3. biblatex-apa: biblatex citation and reference style for APA
  4. biblatex-authoryear-icomp-tt: Author-year style with compact multiple-reference-citations and ibidem mechanism for biblatex
  5. biblatex-bookinarticle: Manage book edited in article
  6. biblatex-bookinother: Manage book edited in other entry type
  7. biblatex-bwl: biblatex citations for FU Berlin
  8. biblatex-caspervector: A simple citation style for Chinese users
  9. biblatex-chem: A set of biblatex implementations of chemistry-related bibliography styles
  10. biblatex-chicago: Chicago style files for biblatex
  11. biblatex-dw: Humanities styles for biblatex
  12. biblatex-fiwi: biblatex styles for use in German humanities
  13. biblatex-gost: biblatex support for GOST standard bibliographies
  14. biblatex-historian: A biblatex style
  15. biblatex-ieee: Ieee style files for biblatex
  16. biblatex-ijsra: biblatex style for the International Journal of Student Research in Archaeology
  17. biblatex-iso690: biblatex style for ISO 690 standard
  18. biblatex-jura: biblatex stylefiles for German legal literature
  19. biblatex-juradiss: biblatex stylefiles for German law thesis
  20. biblatex-luh-ipw: biblatex styles for social sciences
  21. biblatex-manuscripts-philology: Manage classical manuscripts with biblatex
  22. biblatex-mla: MLA style files for biblatex
  23. biblatex-morenames: New names for standard biblatex entry type
  24. biblatex-multiple-dm: Load multiple datamodels in biblatex
  25. biblatex-musuos: A biblatex style for citations in musuos.cls
  26. biblatex-nature: Prepare papers for the journal Nature
  27. biblatex-nejm: biblatex style for the New England Journal of Medicine (NEJM)
  28. biblatex-nottsclassic: Citation style for the University of Nottingham
  29. biblatex-opcit-booktitle: Use op. cit. for the booktitle of a subentry
  30. biblatex-philosophy: Styles for using biblatex for work in philosophy
  31. biblatex-phys: A biblatex implementation of the AIP and APS bibliography style
  32. biblatex-publist: biblatex bibliography support for publication lists
  33. biblatex-realauthor: Indicate the real author of a work
  34. biblatex-science: biblatex implementation of the Science bibliography style
  35. biblatex-source-division: References by “division” in classical sources
  36. biblatex-subseries: Manages subseries with biblatex
  37. biblatex-swiss-legal: Bibliography and citation styles following Swiss legal practice
  38. biblatex-trad: “Traditional” BibTEX styles with biblatex
  39. biblatex-true-citepages-omit: Correction of some limitation of the citepages=omit option of biblatex styles
  40. citeall: Cite all entries of a bbl created with biblatex
  41. ecobiblatex: Global Ecology and Biogeography biblatex styles for the Biber backend
  42. historische-zeitschrift: biblatex style for the journal 'Historische Zeitschrift'
doncherry
  • 54,637
SDrolet
  • 4,908
  • Thanks for adding this here, exactly what I needed reading the other answers but didn't make the effort to look it up. – Cedric H. Feb 15 '22 at 16:00
17

Other disadvantages of the BibLatex (Biber) vs Bibtex

I recently moved to biblatex because of some weakness of the bibtex in relation to crossref. Unfortunately, BibLatex has its own.

  1. Only the year will have the link (Why only the year is as a link in \cite reference(biblatex-apa and hyperref: right parenthesis not part of link for \textcite ; Why only the year is as a link in \cite reference )

  2. some of the favorite style, the Harvard styles for example, are not natively available for BibLatex (Harvard Reference using Biblatex. You need to do a lot of manual work if you want get format like agsm.

  3. Biber, the backend processor for biblatex is much slower (Why is biber so slow?)

  4. Biblatex is not supported by many journals.

  5. I have to use more extended texts like \textcitet in place of \citet. The same extensions are made on other default commands. The shorter the text, the better. In addition, spell checkers, even the latex aware ones, pick these extra commands as misspellings. That is another annoyance.

My final conclusion is, if your problem with bibtex (natbib)is minimal, stick with it. It is faster; and standard for submission.

I am now back to bibtex.

Dellu
  • 847
  • 1
  • 9
  • 21
  • Please have a look at https://en.wikibooks.org/wiki/LaTeX/Creating_a_Bibliography in general and https://en.wikibooks.org/wiki/LaTeX/Bibliographies_with_biblatex_and_biber. Any feedback would be appreciated. – Johannes_B Feb 05 '17 at 07:39
  • I find the linking capabilities in biblatex limiting: http://tex.stackexchange.com/questions/212495/why-only-the-year-is-as-a-link-in-cite-reference?s=1|3.4533 There are ways around it: but, with their own associated risks (and, I don't like my preamble messed up with some fix for BibLatex). – Dellu Feb 05 '17 at 13:57
  • 2
  • Is addressed in hyperlink name with biblatex authoryear (biblatex 1.4b) and that is more or less the best we can do since other factors might cause problems when linking more than the year. Ad 2) Indeed, biblatex does not come with as many ready-made styles as biblatex, one reason is your point (4), another is that many small modifications are easily done and don't warrant a new style package. You might want to keep in mind that 'Harvard style' is more a lose description than a style like APA style or CMS (both of which have are implemented)
  • – moewe Feb 05 '17 at 14:22
  • 1
    Ad 4) see Biblatex: submitting to a journal. Ad 5): you could use natbib=true to enable natbib compatibility mode that allows you to use \citet and \citep, but of course you could also \let\citet\textcite or just use the auto-complete feature of your editor. Your editor should also be able to exclude certain commands from spell-checking. – moewe Feb 05 '17 at 14:24
  • 6
    But while I don't agree with all your grievances, I more or less agree with your conclusion. If there is nothing wrong with good ol' BibTeX for you, you don't have to switch. But if you need the additional flexibility and capabilities that biblatex offers, do by all means go for biblatex. (I find that those in mathematics or the natural sciences will probably not need biblatex and will get on with BibTeX just fine; but in the humanities biblatex comes in really handy.) – moewe Feb 05 '17 at 14:27
  • I am also in the humanities. I was very interested at the potentials that BibLatex offers to include names which follow non-European conventions (http://tex.stackexchange.com/questions/313176/bibtex-biber-how-to-cite-an-author-using-ethiopian-conventions?s=1|0.8974). But, the costs grow faster immediately: my late 2011 started to cry (the fan); has to wait a couple of seconds to see the result. Since i have a habit of processing immediately after changes, biber sucked my old mac. And, the linking (I have seen the solution; but, I don't like it) becomes boring. – Dellu Feb 05 '17 at 15:04
  • You only need to run Biber if you changed the .bib file or cited a reference previously not cited, with tools like latexmk you can avoid running it too often. Why don't you like the solutions for the links and think it becomes boring? There are good reasons why the default links are as they are. – moewe Feb 05 '17 at 15:31