When it comes to bibliography-management packages, there are three main options in LaTeX: bibtex , natbib and biblatex .
This article explains how to use the biblatex package, to manage and format the bibliography in a LaTeX document. biblatex is a modern option for processing bibliography information, provides an easier and more flexible interface and a better language localization than the other two options.
A minimal working example of the biblatex package is shown below:
\documentclass[letterpaper,10pt]article> \usepackagebiblatex> %Imports biblatex package \addbibresourcesample.bib> %Import the bibliography file \begindocument> Let's cite! Einstein's journal paper \citeeinstein> and Dirac's book \citedirac> are physics-related items. \printbibliography %Prints bibliography \enddocument>
There are four bibliography-related commands in this example:
\usepackage Imports the package biblatex . \addbibresource Imports the bibliography data file sample.bib : this file contains information about each referenced book, article, etc. See the bibliography file section for more information. \cite This command inserts a reference within the document, [1] in this case, that corresponds to an element in the bibliography, einstein is a keyword corresponding to an entry in sample.bib . \printbibliography Prints the list of cited references, the default title is References for the article document class and "Bibliography" for books and reports.
Several parameters can be passed to the package import command, as in the following example:
\documentclassarticle> \usepackage[ backend=biber, style=alphabetic, sorting=ynt ]biblatex> \addbibresourcesample.bib> \titleBibliography management: \textttbiblatex> package> \authorOverleaf> \date > \begindocument> \maketitle Using \textttbiblatex> you can display a bibliography divided into sections, depending on citation type. Let's cite! Einstein's journal paper \citeeinstein> and Dirac's book \citedirac> are physics-related items. Next, \textitThe \LaTeX\ Companion> book \citelatexcompanion>, Donald Knuth's website \citeknuthwebsite>, \textitThe Comprehensive Tex Archive Network> (CTAN) \citectan> are \LaTeX-related items; but the others, Donald Knuth's items, \citeknuth-fa,knuth-acp> are dedicated to programming. \medskip \printbibliography \enddocument>
Some extra options, inside brackets and comma-separated, are added when importing biblatex :
backend=biber Sets the backend to sort the bibliography, biber is the default one and recommended since it provides full localization for several commands and the styles for biber are easier to modify because they use standard L a T e X macros. The other supported backend is bibtex , which is a more traditional program; if set as the backend , bibtex will only be used to sort the bibliography, so no bibtex styles can be used here. style=alphabetic Defines the bibliography style and the citation style, in this case alphabetic . Depending on the style, more citation commands might be available. See biblatex bibliography styles and citation styles for more information. sorting=ynt Determines the criteria to sort the bibliographic sources. In this case they are sorted by year, name and title. See the reference guide for a list of sorting options.
The rest of the commands were explained in the introduction.
The bibliography files must have the standard bibtex syntax
@articleeinstein, author = "Albert Einstein", title nb">Zur Elektrodynamik bewegter K\"o>rper>. (German>) [On> the electrodynamics of moving bodies]", journal = "Annalen der Physik", volume = "322", number = "10", pages = "891--921", year = "1905", DOI = "http://dx.doi.org/10.1002/andp.19053221004", keywords = "physics" > @bookdirac, title = The Principles of Quantum Mechanics>, author = Paul Adrien Maurice Dirac>, isbn = 9780198520115>, series = International series of monographs on physics>, year = 1981>, publisher = Clarendon Press>, keywords = physics> > @onlineknuthwebsite, author = "Donald Knuth", title = "Knuth: Computers and Typesetting", url = "http://www-cs-faculty.stanford.edu/~uno/abcde.html", addendum = "(accessed: 01.09.2016)", keywords = "latex,knuth" > @inbookknuth-fa, author = "Donald E. Knuth", title = "Fundamental Algorithms", publisher = "Addison-Wesley", year = "1973", chapter = "1.2", keywords = "knuth,programming" > .
This file contains records in a special format; for instance, the first bibliographic reference is defined by:
@article <. >This is the first line of a record entry, @article tells BibTeX that the information stored here is about an article. The information about this entry is enclosed within braces. Besides the entry types shown in the example ( article , book , online and inbook ) there are a lot more, see the reference guide. einstein The label einstein is assigned to this entry, is a unique identifier that can be used to refer this article within the document. author = "Albert Einstein", This is the first field in the bibliography entry, indicates that the author of this article is Albert Einstein. Several comma-separated fields can be added using the same syntax key = value , for instance: title, pages, year, URL, etc. See the reference guide for a list of possible fields.
The information in this file can later be printed and referenced within a L a T e X document, as shown in the previous sections, with the command \addbibresource . Not all the information in the .bib file will be displayed, it depends on the bibliography style set in the document.
Biblatex allows high customization of the bibliography section with little effort. It was mentioned that several citation styles and bibliography styles are available, and you can also create new ones. Another customization option is to change the default title of the bibliography section.
\documentclassarticle> \usepackage[ backend=biber, style=alphabetic, sorting=ynt ]biblatex> \addbibresourcesample.bib> \titleBibliography management: \textttbiblatex> package> \authorOverleaf> \dateMay 2021> \begindocument> \maketitle Using \textttbiblatex> you can display a bibliography divided into sections, depending on citation type. Let's cite! Einstein's journal paper \citeeinstein> and Dirac's book \citedirac> are physics-related items. Next, \textitThe \LaTeX\ Companion> book \citelatexcompanion>, Donald Knuth's website \citeknuthwebsite>, \textitThe Comprehensive Tex Archive Network> (CTAN) \citectan> are \LaTeX-related items; but the others, Donald Knuth's items, \citeknuth-fa,knuth-acp> are dedicated to programming. \medskip \printbibliography[title=]
The additional parameter title= passed inside brackets to the command \printbibliography is the one that changes the title.
The bibliography can also be subdivided into sections based on different filters, for instance: print only references from the same author, the same journal or similar title. Below an example.
\printbibliography[type=article,title=] \printbibliography[type=book,title=] \printbibliography[keyword=,title=] \printbibliography[keyword=,title=<\LaTeX-related only>]
Here, the bibliography is divided in 4 sections. The syntax of the commands used here is explained below:
\printbibliography[type=article,title=] Only prints entries whose type is "article", and sets the title "Articles only" for this section. The same syntax works for any other entry type. \printbibliography[keyword=,title=] Filters bibliography entries that include the word "physics" in any of the fields. Sets the title "Physics-related only" for said section.
For the bibliography the be printed in the table of contents an extra option must be passed to \printbibliography
\printbibliography[ heading=bibintoc, title=Whole bibliography> ] \printbibliography[heading=subbibintoc,type=article,title=]
A section and a subsection are added to the table of contents:
Supported entry types
article | book | mvbook |
inbook | bookinbook | suppbook |
booklet | collection | mvcollection |
incollection | suppcollection | manual |
misc | online | patent |
periodical | suppperiodical | proceedings |
mvproceedings | inproceedings | reference |
mvreference | inreference | report |
set | thesis | unpublished |
custom | conference | electronic |
masterthesis | phdthesis | techreport |
Supported entry fields (The printed information depends on the bibliography style)
abstract | addendum | afterword | annotate |
author | authortype | bookauthor | bookpagination |
booksubtitle | booktitle | chapter | commentator |
date | doi | edition | editor |
editortype | eid | entrysubtype | eprint |
eprinttype | eprintclass | eventdate | eventtitle |
file | foreword | holder | howpublished |
indextitle | institution | introduction | isan |
isbn | ismn | isrn | issue |
issuesubtitle | issuetitle | iswc | journalsubtitle |
journaltitle | label | language | library |
location | mainsubtitle | maintitle | month |
note | number | organization | origdate |
origlanguage | origlocation | origpublisher | origtitle |
pages | pagetotal | pagination | part |
publisher | pubstate | reprinttitle | series |
shortauthor | shortedition | shorthand | shorthandintro |
shortjournal | shortseries | shorttitle | subtitle |
title | translator | type | url |
venue | version | volume | year |
Bibliography sorting options
option | description |
---|---|
nty | sort by name, title, year |
nyt | sort by name, year, title |
nyvt | sort by name, year, volume, title |
anyt | sort by alphabetic label, name, year, title |
anyvt | sort by alphabetic label, name, year, volume, title |
ydnt | sort by year (descending), name, title |
none | entries are processed in citation order |
For detailed information on these entries and options, see the package documentation.
For more information see