Canonical List of Bib Entry Types

bibentrybiberbiblatexbibtex

I am writing software that shall be able to handle bib entries, and I am very confused about which entry types exist and which don't. I'm trying to find a canonical list of entry types. I can find lists with entry types, but I found at least 5 different lists. (see below)

Another problem is, that existing software (overleaf, zotero), but also websites of publishers seem to have implemented different lists, so that maybe a website creates a bib entry with entry type "online", but when you want to use it in overleaf, you'll get an error.

My Question:

  • Which entry types do really exist and which are just fantasies of some people?

What I've found out so far:

There seem to be at least two different sets of possible entry types for bibtex entries. Of both of them exist variations:

short list with 13 (or 14) entry types

This is one list, it contains 13 common entry types:

  • article, book, booklet, inbook, incollection, inproceedings, manual, mastersthesis, misc, phdthesis, proceedings, techreport, unpublished

You can find this list at bib-it.sourceforge.net. A similar list is published at newton.ex.ac.uk. But it is different from the first list, it also adds the entry type "conference" to this list, mentioning that it is a synonym for "inproceedings".

In this answer to another question someone posted a similar list with also 13 entry types. But while conference is included, phdthesis is missing. And I guess that there are even more different versions of this short list out there.

long list with 51 entry types

(30 or 31 normal entry types, 6 additional synonymes and 15 or 16 additional entry types that are either "non-standard" or "unsupported")

I found this list at https://ctan.org/pkg/biblatex Documentation: Paket Documentation English (pdf). It lists these 31 normal entry types:

  • article, book, mvbook, inbook, bookinbook, suppbook, booklet, collection, mvcollection, incollection, suppcollection, dataset, manual, misc, online, patent, periodical, suppperiodical, proceedings, mvproceedings, inproceedings, reference, mvreference, inreference, report, set, software, thesis, unpublished, xdata, custom[a–f]

But the entry type "software" is missing in the German version of the same document (pdf).

In these documents from ctan.org the entry types mastersthesis, phdthesis and techreport from the short list are here listed among the synonymes of other entries:

  • conference = inproceedings
  • electronic = online
  • mastersthesis = thesis where type defaults to "Master’s thesis"
  • phdthesis = thesis where type defaults to "PhD thesis"
  • techreport = report where type defaults to "technical report"
  • www = online

Finally ctan.org lists also "Non-standard Types" in the English documentation but "Unsupported Types" in the German version of the same document (original: "Nicht unterstützte Typen") which all are treated as synonyms of the entry type "misc":

  • artwork, audio, bibnote, commentary, image, jurisdiction, legislation, legal, letter, movie, music, performance, review, standard, video

The German version also lists "software" here as unsupported type.

Best Answer

I'm afraid there is no universal list. Each style can define its own list of supported entry types (and fields!).

The core set of entry types and fields documented for the base BibTeX styles in btxdoc (the BibTeX documentation) is probably supported pretty universally, but I would expect that even for those types and fields there are probably styles that deviate from the "standard" behaviour/interpretation. More modern styles will generally add support for fields like url and doi and may or may not introduce a dedicated type for online resources (instead of the generic @misc).

The core biblatex styles and most contributed biblatex styles support the types listed in the biblatex documentation. Again, it is perfectly acceptable for styles to add new entry types or fields (and in some instances it may even be appropriate to remove support for certain entry types).

Note that the German translation of the biblatex documentation is provided by a third party (and not by the biblatex development team) and may not always be completely up-to-date with the 'official' English documentation. In particular the wording in the title of section §2.1.3 Non-standard Types was changed from the confusing 'Unsupported Types' to 'Non-standard Types' a while ago (https://github.com/plk/biblatex/issues/753). Even the current heading has the potential to cause confusion, but it was the best I could come up with.


Depending on what your software is supposed to do, it may be a good idea to just accept all syntactically well-formed .bib entries (no matter which type) or to let your user choose between the base BibTeX types and standard biblatex types with an additional option to add custom entry types and fields.

Related Question