Sie sind auf Seite 1von 255

The biblatex Package

Programmable Bibliographies and Citations


Philipp Lehman
(with Philip Kime, Audrey
Boruvka and Joseph Wright)
Version 2.8
21/10/2013
Contents
List of Tables 1
1 Introduction 2
1.1 About . . . . . . . . . . 2
1.2 License . . . . . . . . . 2
1.3 Feedback . . . . . . . . 2
1.4 Acknowledgments . . . 2
1. Pieiequisites . . . . . . 3
2 Database Guide 6
2.1 Entiy Types . . . . . .
2.2 Entiy Fields . . . . . . 13
2.3 Usage Notes . . . . . . 29
2.4 Hints and Caveats . . . 3
3 User Guide 43
3.1 Package Options . . . . 43
3.2 Global Customization . 1
3.3 Standaid Styles . . . . 1
3.4 Related Entiies . . . . .
3. Soiting Options . . . . 8
3. Bibliogiaphy Commands 9
3. Citation Commands . . 9
3.8 Localization Commands 89
3.9 Foimauing Commands 91
3.10 Language notes . . . . 98
3.11 Usage Notes . . . . . . 100
3.12 Hints and Caveats . . . 111
4 Author Guide 116
4.1 Oveiview . . . . . . . . 11
4.2 Bibliogiaphy Styles . . 119
4.3 Citation Styles . . . . . 131
4.4 Data lnteiface . . . . . 134
4. Customization . . . . . 141
4. Auxiliaiy Commands . 19
4. Punctuation . . . . . . 188
4.8 Localization Stiings . . 194
4.9 Localization Modules . 19
4.10 Foimauing Commands 209
4.11 Hints and Caveats . . . 220
Appendix 235
A Default Driver Source Map-
pings 235
A.1 bibtex . . . . . . . . . 23
A.2 endnotexml . . . . . . . 23
A.3 ris . . . . . . . . . . . 238
A.4 zoterordfxml . . . . . 240
B Default Inheritance Setup 242
C Default Sorting Schemes 243
C.1 Alphabetic 1 . . . . . . 243
C.2 Alphabetic 2 . . . . . . 244
C.3 Chionological . . . . . 244
D Option Scope 245
E Revision History 246
List of Tables
1 Bibei/Biblatex compatibility
matiix . . . . . . . . . . . . .
2 Suppoited Languages . . . . 24
3 Date Specications . . . . . . 34
4 Capacity of bibtex8 . . . . . 38
Disambiguation counteis . . 8
mcite-like commands . . . . 89
mcite-like syntax . . . . . . . 90
8 Date lnteiface . . . . . . . . 129
9 Field types foi \nosort . . . 1
10 \mkcomprange setup . . . . . 184
1
1 Introduction
Tis document is a systematic iefeience manual foi the biblatex package. Look at
the sample documents which ship with biblatex to get a ist impiession.
1
Foi a
quick stait guide, biowse 1.1, 2.1, 2.2, 2.3, 3.1, 3.3, 3., 3., 3.11.
1.1 About biblatex
Tis package piovides advanced bibliogiaphic facilities foi use with LaTeXin conjunc-
tion with BibTeX. Te package is a complete ieimplementation of the bibliogiaphic
facilities piovided by LaTeX. A custom backend Bibei by default is used which pio-
cesses the BibTeX foimat data les and them peifoims all soiting, label geneiation
(and a gieat deal moie). Legacy BibTeX is also suppoited as a backend, albeit with a
ieduced featuie set. Biblatex does not use the backend to foimat the bibliogiaphy
infoimation as with tiaditional BibTeX instead of being implemented in BibTeX
style les, the foimauing of the bibliogiaphy is entiiely contiolled by TeX macios.
Good woiking knowledge in LaTeX should be sucient to design new bibliogiaphy
and citation styles. Teie is no need to leain BibTeXs postx stack language. Tis
package also suppoits subdivided bibliogiaphies, multiple bibliogiaphies within one
document, and sepaiate lists of bibliogiaphic shoithands. Bibliogiaphies may be
subdivided into paits and/oi segmented by topics. Just like the bibliogiaphy styles, all
citation commands may be fieely dened. With Bibei as the backend, featuies such
as customisable soiting, multiple bibliogiaphies with dieient soiting, customisable
labels, dynamic data modication aie available. Please iefei to 1.. foi infoimation
on Bibei/Biblatex veision compatibility. Te package is completely localized and
can inteiface with the babel package. Please iefei to table 2 foi a list of languages
cuiiently suppoited by this package.
1.2 License
Copyiight 2002012 Philipp Lehman, 20122013 Philip Kime, Audiey Boiuvka,
Joseph Wiight. Peimission is gianted to copy, distiibute and/oi modify this sofwaie
undei the teims of the LaTeX Pioject Public License, veision 1.3.
2
1.3 Feedback
Please use the biblatex pioject page on GitHub to iepoit bugs and submit featuie
iequests.
3
Befoie making a featuie iequest, please ensuie that you have thoioughly
studied this manual. lf you do not want to iepoit a bug oi iequest a featuie but aie
simply in need of assistance, you might want to considei posting youi question on
the comp.text.tex newsgioup oi TeX-LaTeX Stack Exchange.
4
1.4 Acknowledgments
Te language modules of this package aie made possible thanks to the following
contiibutois Augusto Riuei Stoel, Mateus Aiajo (Biazilian), Sebasti Vila-Maita
(Catalan), lvo Pletikosi (Cioatian), Michal Hofich (Czech), Johannes Wilm (Danish/
Noiwegian), Alexandei van Loon, Pietei Belmans, Hendiik Maiyns (Dutch), Hannu
Visnen, Janne Kujanp (Finnish), Denis Bitouz (Fiench), Apostolos Syiopoulos,
1
\biblatexctan/doc/examples
2
http://www.ctan.org/tex-archive/macros/latex/base/lppl.txt
3
http://github.com/plk/biblatex
4
http://tex.stackexchange.com/questions/tagged/biblatex
2
Piokopis (Gieek), Baldui Kiistinsson (lcelandic), Eniico Giegoiio, Andiea Maichitelli
(ltalian), Hakon Malmedal (Noiwegian), Anastasia Kandulina, Yuiiy Cheinyshov
(Polish), Jos Cailos Santos (Poituguese), Oleg Domanov (Russian), lgnacio Feinandez
Galvan (Spanish), Pei Staibck, Cail-Gustav Weinei, Filip Asblom (Swedish).
1.5 Prerequisites
Tis section gives an oveiview of all iesouices iequiied by this package and discusses
compatibility issues.
1.5.1 Requirements
Te iesouices listed in this section aie stiictly iequiied foi biblatex to function. Te
package will not woik if they aie not available.
e-TeX Te biblatex package iequiies e-TeX. TeX distiibutions have been shipping e-TeX
binaiies foi quite some time, the populai distiibutions use them by default these days.
Te biblatex package checks if it is iunning undei e-TeX. Simply tiy compiling youi
documents as you usually do, the chances aie that it just woiks. lf you get an eiioi
message, tiy compiling the document with elatex instead of latex oi pdfelatex
instead of pdflatex, iespectively.
Biber Bibei is the default backend of biblatex. You only need one backend, eithei BibTeX
oi Bibei. Bibei comes with TeXLive and is also available fiom SouiceFoige.

BibTeX Te biblatex package can use legacy BibTeX as a data backend. While a legacy
BibTeX binaiy is sucient to iun biblatex, using bibtex8 is iecommended. lf youi
TeX distiibution does not ship with bibtex8, you can get it fiom c1N.

etoolbox Tis LaTeX package, which is loaded automatically, piovides geneiic piogiamming
facilities iequiied by biblatex. lt is available fiom c1N.

kvoptions Tis LaTeX package, which is also loaded automatically, is used foi inteinal option
handling. lt is available with the oberdiek package bundle fiom c1N.
8
logreq Tis LaTeX package, which is also loaded automatically, piovides a fiontend foi
wiiting machine-ieadable messages to an auxiliaiy log le. lt is available fiom
c1N.
9
Apait fiom the above iesouices, biblatex also iequiies the standaid LaTeX pack-
ages keyval and ifthen as well as the url package. Tese package aie included in
all common TeX distiibutions and will be loaded automatically.
1.5.2 Recommended Packages
Te packages listed in this section aie not iequiied foi biblatex to function, but
they piovide iecommended additional functions oi enhance existing featuies. Te
package loading oidei does not mauei.

http://biblatex-biber.sourceforge.net/

http://www.ctan.org/tex-archive/biblio/bibtex/8-bit/

http://www.ctan.org/tex-archive/macros/latex/contrib/etoolbox/
8
http://www.ctan.org/pkg/kvoptions
9
http://www.ctan.org/tex-archive/macros/latex/contrib/logreq/
3
babel/polyglossia Te babel and polyglossia packages piovides the coie aichitectuie foi multilingual
typeseuing. lf you aie wiiting in a language othei than Ameiican English, using one
of these packages is stiongly iecommended. lf loaded, biblatex package will detect
babel oi polyglossia automatically.
csquotes lf this package is available, biblatex will use its language sensitive quotation facilities
to enclose ceitain titles in quotation maiks. lf not, biblatex uses quotes suitable
foi Ameiican English as a fallback. When wiiting in any othei language, loading
csquotes is stiongly iecommended.
10
xpatch Te xpatch package extends the patching commands of etoolbox to biblatex bib-
liogiaphy macios, diiveis and foimauing diiectives.
11
1.5.3 Compatible Classes and Packages
Te biblatex package piovides dedicated compatibility code foi the classes and
packages listed in this section.
hyperref Te hyperref package tiansfoims citations into hypeilinks. See the hyperref and
backref package options in 3.1.2.1 foi fuithei details. When using the hyperref
package, it is piefeiable to load it afei biblatex.
showkeys Te showkeys package piints the inteinal keys of, among othei things, citations in
the text and items in the bibliogiaphy. Te package loading oidei does not mauei.
memoir When using the memoir class, the default bibliogiaphy headings aie adapted such
that they blend well with the default layout of this class. See 3.12.2 foi fuithei
usage hints.
KOMA-Script When using any of the scrartcl, scrbook, oi scrreprt classes, the default biblio-
giaphy headings aie adapted such that they blend with the default layout of these
classes. See 3.12.1 foi fuithei usage hints.
1.5.4 Incompatible Packages
Te packages listed in this section aie not compatible with biblatex. Since it ieimple-
ments the bibliogiaphic facilities of LaTeX fiom the giound up, biblatex natuially
conicts with all packages modifying the same facilities. Tis is not specic to
biblatex. Some of the packages listed below aie also incompatible with each othei
foi the same ieason.
babelbib Te babelbib package piovides suppoit foi multilingual bibliogiaphies. Tis is a
standaid featuie of biblatex. Use the langid eld and the package option autolang
foi similai functionality. Note that biblatex automatically adjusts to the main
document language if babel oi polyglossia is loaded. You only need the above
mentioned featuies if you want to switch languages on a pei-entiy basis within the
bibliogiaphy. See 2.2.3 and 3.1.2.1 foi details. Also see 3.8.
backref Te backref package cieates back iefeiences in the bibliogiaphy. See the package
options hyperref and backref in 3.1.2.1 foi compaiable functionality.
10
http://www.ctan.org/tex-archive/macros/latex/contrib/csquotes/
11
http://www.ctan.org/tex-archive/macros/latex/contrib/xpatch/
4
bibtopic Te bibtopic package piovides suppoit foi bibliogiaphies subdivided by topic, type,
oi othei ciiteiia. Foi bibliogiaphies subdivided by topic, see the categoiy featuie
in 3.. and the coiiesponding lteis in 3..2. Alteinatively, you may use the
keywords eld in conjunction with the keyword and notkeyword lteis foi compaiable
functionality, see 2.2.3 and 3..2 foi details. Foi bibliogiaphies subdivided by type,
use the type and nottype lteis. Also see 3.11.4 foi examples.
bibunits Te bibunits package piovides suppoit foi multiple paitial (e. g., pei chaptei) bibli-
ogiaphies. See chapterbib.
chapterbib Te chapterbib package piovides suppoit foi multiple paitial bibliogiaphies. Use
the refsection enviionment and the section ltei foi compaiable functionality.
Alteinatively, you might also want to use the refsegment enviionment and the
segment ltei. See 3..4, 3.., 3..2 foi details. Also see 3.11.3 foi examples.
cite Te cite package automatically soits numeiic citations and can compiess a list of
consecutive numbeis to a iange. lt also makes the punctuation used in citations con-
guiable. Foi soited and compiessed numeiic citations, see the sortcites package
option in 3.1.2.1 and the numeric-comp citation style in 3.3.1. Foi conguiable
punctuation, see 3.9.
citeref Anothei package foi cieating back iefeiences in the bibliogiaphy. See backref.
inlinebib Te inlinebib package is designed foi tiaditional citations given in footnotes. Foi
compaiable functionality, see the veibose citation styles in 3.3.1.
jurabib Oiiginally designed foi citations in law studies and (mostly Geiman) judicial docu-
ments, the jurabib package also piovides featuies aimed at useis in the humanities.
ln teims of the featuies piovided, theie aie some similaiities between jurabib and
biblatex but the appioaches taken by both packages aie quite dieient. Since
both jurabib and biblatex aie full-featuied packages, the list of similaiities and
dieiences is too long to be discussed heie.
mcite Te mcite package piovides suppoit foi giouped citations, i. e., multiple items can
be cited as a single iefeience and listed as a single block in the bibliogiaphy. Te
citation gioups aie dened as the items aie cited. Tis only woiks with unsoited
bibliogiaphies. Te biblatex package also suppoits giouped citations, which aie
called entiy sets oi iefeience sets in this manual. See 3.11., 3..10, 3..10 foi
details.
mciteplus A signicantly enhanced ieimplementation of the mcite package which suppoits
giouping in soited bibliogiaphies. See mcite.
multibib Te multibib package piovides suppoit foi bibliogiaphies subdivided by topic oi
othei ciiteiia. See bibtopic.
natbib Te natbib package suppoits numeiic and authoi-yeai citation schemes, incoipo-
iating soiting and compiession code found in the cite package. lt also piovides
additional citation commands and seveial conguiation options. See the numeric
and author-year citation styles and theii vaiiants in 3.3.1, the sortcites package
option in 3.1.2.1, the citation commands in 3., and the facilities discussed in
3.., 3..8, 3.9 foi compaiable functionality. Also see 3..9.
splitbib Te splitbib package piovides suppoit foi bibliogiaphies subdivided by topic. See
bibtopic.

Biber version Biblatex version


1.8 2.8
1. 2.
1. 2.
1. 2.
1.4 2.4
1.3 2.3
1.2 2.1, 2.2
1.1 2.1
1.0 2.0
0.9.9 1.x
0.9.8 1.x
0.9. 1.x
0.9. 1.x
0.9. 1.x
0.9.4 1.x
0.9.3 1.x
0.9.2 1.4x
0.9.1 1.4x
0.9 1.4x
Table 1: Biber/Biblatex compatibility matrix
titlesec Te titlesec package iedenes usei-level document division commands such as
\chapter oi \section. Tis appioach is not compatible with inteinal command
changes applied by the biblatex refsection and refsegment option seuings de-
sciibed in 3.1.2.1.
ucs Te ucs package piovides suppoit foi u1i-8 encoded input. Eithei use inputencs
standaid utf8 module oi a Unicode enabled engine such as XeTeX oi LuaTeX instead.
1.5.5 Compatibility Matrix for Biber
Bibei veisions aie closely coupled with Biblatex veisions. You need to have the
iight combination of the two. Bibei will wain you duiing piocessing if it encounteis
infoimation which comes fiom a Biblatex veision which is incompatible. table 1
shows a compatibility matiix foi the iecent veisions.
2 Database Guide
lt is impoitant to distinguish between BibTeX the piogiam and BibTeX the le foimat.
biblatex can be used with oi without BibTeX the piogiam since its default backend
Bibei uses fully suppoits the BibTeX le foimat (bib) and useis should be able to
move to biblatex will liule oi no changes to theii BibTeX data les when using
Bibei as a backend. lf using BibTeX as the data backend, note that you cannot use
aibitiaiy bst les because the package depends on a special BibTeX inteiface. When
using BibTeX as a backend, biblatex uses its own special bst le only. Te entiy
guide below is backend agnostic unless otheiwise stated.
Tis section desciibes the default data model dened in the blx-dm.def le which
is pait of biblatex. Te data model is dened using the macios documented in
4..3. lt is possible to iedene the data model which both biblatex and Bibei use
so that datasouices can contain new entiytypes and elds (which of couise will
need style suppoit). Te data model specication also allows foi constiaints to be
dened so that data souices can be validated against the data model (using Bibeis

--validate_datamodel option). Useis who want to customise the data model need
to look at the blx-dm.def le and to iead 4..3.
2.1 Entry Types
Tis section gives an oveiview of the entiy types suppoited by the default biblatex
data model along with the elds suppoited by each type.
2.1.1 Regular Types
Te lists below indicate the elds suppoited by each entiy type. Note that the
mapping of elds to an entiy type is ultimately at the discietion of the bibliogiaphy
style. Te lists belowtheiefoie seive two puiposes. Tey indicate the elds suppoited
by the standaid styles which ship with this package and they also seive as a model
foi custom styles. Note that the iequiied elds aie not stiictly iequiied in all cases,
see 2.3.2 foi details. Te elds maiked as optional aie optional in a technical sense.
Bibliogiaphical foimauing iules usually iequiie moie than just the iequiied elds.
Te default data model dened a few constiaints foi the foimat of date elds, lSBNs
and some special elds like gender but the constiaints aie only used if validating
against the data model with Bibeis --validate_datamodel option. Geneiic elds
like abstract and annotation oi label and shorthand aie not included in the lists
below because they aie independent of the entiy type. Te special elds discussed
in 2.2.3, which aie also independent of the entiy type, aie not included in the lists
eithei. See the default data model specication in the le blx-dm.def which comes
with biblatex foi a complete specication.
article An aiticle in a jouinal, magazine, newspapei, oi othei peiiodical which foims a
self-contained unit with its own title. Te title of the peiiodical is given in the
journaltitle eld. lf the issue has its own title in addition to the main title of the
peiiodical, it goes in the issuetitle eld. Note that editor and ielated elds iefei
to the jouinal while translator and ielated elds iefei to the aiticle.
Requiied elds author, title, journaltitle, year/date
Optional elds translator, annotator, commentator, subtitle, titleaddon,
editor, editora, editorb, editorc, journalsubtitle, issuetitle, issuesubtitle,
language, origlanguage, series, volume, number, eid, issue, month, pages,
version, note, issn, addendum, pubstate, doi, eprint, eprintclass, eprinttype,
url, urldate
book A single-volume book with one oi moie authois wheie the authois shaie ciedit foi
the woik as a whole. Tis entiy type also coveis the function of the @inbook type of
tiaditional BibTeX, see 2.3.1 foi details.
Requiied elds author, title, year/date
Optional elds editor, editora, editorb, editorc, translator, annotator,
commentator, introduction, foreword, afterword, subtitle, titleaddon,
maintitle, mainsubtitle, maintitleaddon, language, origlanguage, volume, part,
edition, volumes, series, number, note, publisher, location, isbn, chapter,
pages, pagetotal, addendum, pubstate, doi, eprint, eprintclass, eprinttype, url,
urldate
mvbook A multi-volume @book. Foi backwaids compatibility, multi-volume books aie also
suppoited by the entiy type @book. Howevei, it is advisable to make use of the
dedicated entiy type @mvbook.

Requiied elds author, title, year/date


Optional elds editor, editora, editorb, editorc, translator, annotator,
commentator, introduction, foreword, afterword, subtitle, titleaddon,
language, origlanguage, edition, volumes, series, number, note, publisher,
location, isbn, pagetotal, addendum, pubstate, doi, eprint, eprintclass,
eprinttype, url, urldate
inbook A pait of a book which foims a self-contained unit with its own title. Note that the
piole of this entiy type is dieient fiom standaid BibTeX, see 2.3.1.
Requiied elds author, title, booktitle, year/date
Optional elds bookauthor, editor, editora, editorb, editorc, translator,
annotator, commentator, introduction, foreword, afterword, subtitle,
titleaddon, maintitle, mainsubtitle, maintitleaddon, booksubtitle,
booktitleaddon, language, origlanguage, volume, part, edition, volumes, series,
number, note, publisher, location, isbn, chapter, pages, addendum, pubstate, doi,
eprint, eprintclass, eprinttype, url, urldate
bookinbook Tis type is similai to @inbook but intended foi woiks oiiginally published as a
stand-alone book. A typical example aie books iepiinted in the collected woiks of
an authoi.
suppbook Supplemental mateiial in a @book. Tis type is closely ielated to the @inbook entiy
type. While @inbook is piimaiily intended foi a pait of a book with its own title (e. g.,
a single essay in a collection of essays by the same authoi), this type is piovided
foi elements such as piefaces, intioductions, foiewoids, afeiwoids, etc. which
ofen have a geneiic title only. Style guides may iequiie such items to be foimaued
dieiently fiom othei @inbook items. Te standaid styles will tieat this entiy type
as an alias foi @inbook.
booklet A book-like woik without a foimal publishei oi sponsoiing institution. Use the eld
howpublished to supply publishing infoimation in fiee foimat, if applicable. Te
eld type may be useful as well.
Requiied elds author/editor, title, year/date
Optional elds subtitle, titleaddon, language, howpublished, type, note,
location, chapter, pages, pagetotal, addendum, pubstate, doi, eprint,
eprintclass, eprinttype, url, urldate
collection A single-volume collection with multiple, self-contained contiibutions by distinct
authois which have theii own title. Te woik as a whole has no oveiall authoi but it
will usually have an editoi.
Requiied elds editor, title, year/date
Optional elds editora, editorb, editorc, translator, annotator, commentator,
introduction, foreword, afterword, subtitle, titleaddon, maintitle,
mainsubtitle, maintitleaddon, language, origlanguage, volume, part, edition,
volumes, series, number, note, publisher, location, isbn, chapter, pages,
pagetotal, addendum, pubstate, doi, eprint, eprintclass, eprinttype, url,
urldate
mvcollection Amulti-volume @collection. Foi backwaids compatibility, multi-volume collections
aie also suppoited by the entiy type @collection. Howevei, it is advisable to make
use of the dedicated entiy type @mvcollection.
8
Requiied elds editor, title, year/date
Optional elds editora, editorb, editorc, translator, annotator, commentator,
introduction, foreword, afterword, subtitle, titleaddon, language,
origlanguage, edition, volumes, series, number, note, publisher, location, isbn,
pagetotal, addendum, pubstate, doi, eprint, eprintclass, eprinttype, url,
urldate
incollection Acontiibution to a collection which foims a self-contained unit with a distinct authoi
and title. Te author iefeis to the title, the editor to the booktitle, i. e., the title
of the collection.
Requiied elds author, editor, title, booktitle, year/date
Optional elds editora, editorb, editorc, translator, annotator, commentator,
introduction, foreword, afterword, subtitle, titleaddon, maintitle,
mainsubtitle, maintitleaddon, booksubtitle, booktitleaddon, language,
origlanguage, volume, part, edition, volumes, series, number, note, publisher,
location, isbn, chapter, pages, addendum, pubstate, doi, eprint, eprintclass,
eprinttype, url, urldate
suppcollection Supplemental mateiial in a @collection. Tis type is similai to @suppbook but ielated
to the @collection entiy type. Te standaid styles will tieat this entiy type as an
alias foi @incollection.
manual Technical oi othei documentation, not necessaiily in piinted foim. Te author oi
editor is omissible in teims of 2.3.2.
Requiied elds author/editor, title, year/date
Optional elds subtitle, titleaddon, language, edition, type, series, number,
version, note, organization, publisher, location, isbn, chapter, pages,
pagetotal, addendum, pubstate, doi, eprint, eprintclass, eprinttype, url,
urldate
misc A fallback type foi entiies which do not t into any othei categoiy. Use the eld
howpublished to supply publishing infoimation in fiee foimat, if applicable. Te
eld type may be useful as well. author, editor, and year aie omissible in teims of
2.3.2.
Requiied elds author/editor, title, year/date
Optional elds subtitle, titleaddon, language, howpublished, type, version,
note, organization, location, date, month, year, addendum, pubstate, doi, eprint,
eprintclass, eprinttype, url, urldate
online An online iesouice. author, editor, and year aie omissible in teims of 2.3.2. Tis
entiy type is intended foi souices such as web sites which aie intiinsically online
iesouices. Note that all entiy types suppoit the url eld. Foi example, when adding
an aiticle fiom an online jouinal, it may be piefeiable to use the @article type and
its url eld.
Requiied elds author/editor, title, year/date, url
Optional elds subtitle, titleaddon, language, version, note, organization,
date, month, year, addendum, pubstate, urldate
9
patent A patent oi patent iequest. Te numbei oi iecoid token is given in the number eld.
Use the type eld to specify the type and the location eld to indicate the scope of
the patent, if dieient fiom the scope implied by the type. Note that the location
eld is tieated as a key list with this entiy type, see 2.2.1 foi details.
Requiied elds author, title, number, year/date
Optional elds holder, subtitle, titleaddon, type, version, location, note,
date, month, year, addendum, pubstate, doi, eprint, eprintclass, eprinttype, url,
urldate
periodical An complete issue of a peiiodical, such as a special issue of a jouinal. Te title of the
peiiodical is given in the title eld. lf the issue has its own title in addition to the
main title of the peiiodical, it goes in the issuetitle eld. Te editor is omissible
in teims of 2.3.2.
Requiied elds editor, title, year/date
Optional elds editora, editorb, editorc, subtitle, issuetitle, issuesubtitle,
language, series, volume, number, issue, date, month, year, note, issn, addendum,
pubstate, doi, eprint, eprintclass, eprinttype, url, urldate
suppperiodical Supplemental mateiial in a @periodical. Tis type is similai to @suppbook but ielated
to the @periodical entiy type. Te iole of this entiy type may be moie obvious if
you beai in mind that the @article type could also be called @inperiodical. Tis
type may be useful when iefeiiing to items such as iegulai columns, obituaiies,
leueis to the editoi, etc. which only have a geneiic title. Style guides may iequiie
such items to be foimaued dieiently fiom aiticles in the stiict sense of the woid.
Te standaid styles will tieat this entiy type as an alias foi @article.
proceedings A single-volume confeience pioceedings. Tis type is veiy similai to @collection.
lt suppoits an optional organization eld which holds the sponsoiing institution.
Te editor is omissible in teims of 2.3.2.
Requiied elds editor, title, year/date
Optional elds subtitle, titleaddon, maintitle, mainsubtitle, maintitleaddon,
eventtitle, eventtitleaddon, eventdate, venue, language, volume, part, volumes,
series, number, note, organization, publisher, location, month, isbn, chapter,
pages, pagetotal, addendum, pubstate, doi, eprint, eprintclass, eprinttype, url,
urldate
mvproceedings A multi-volume @proceedings entiy. Foi backwaids compatibility, multi-volume
pioceedings aie also suppoited by the entiy type @proceedings. Howevei, it is
advisable to make use of the dedicated entiy type @mvproceedings
Requiied elds editor, title, year/date
Optional elds subtitle, titleaddon, eventtitle, eventtitleaddon, eventdate,
venue, language, volumes, series, number, note, organization, publisher,
location, month, isbn, pagetotal, addendum, pubstate, doi, eprint, eprintclass,
eprinttype, url, urldate
inproceedings An aiticle in a confeience pioceedings. Tis type is similai to @incollection. lt
suppoits an optional organization eld.
Requiied elds author, editor, title, booktitle, year/date
10
Optional elds subtitle, titleaddon, maintitle, mainsubtitle, maintitleaddon,
booksubtitle, booktitleaddon, eventtitle, eventtitleaddon, eventdate, venue,
language, volume, part, volumes, series, number, note, organization, publisher,
location, month, isbn, chapter, pages, addendum, pubstate, doi, eprint,
eprintclass, eprinttype, url, urldate
reference A single-volume woik of iefeience such as an encyclopedia oi a dictionaiy. Tis is
a moie specic vaiiant of the geneiic @collection entiy type. Te standaid styles
will tieat this entiy type as an alias foi @collection.
mvreference A multi-volume @reference entiy. Te standaid styles will tieat this entiy type as
an alias foi @mvcollection. Foi backwaids compatibility, multi-volume iefeiences
aie also suppoited by the entiy type @reference. Howevei, it is advisable to make
use of the dedicated entiy type @mvreference.
inreference An aiticle in a woik of iefeience. Tis is a moie specic vaiiant of the geneiic
@incollection entiy type. Te standaid styles will tieat this entiy type as an alias
foi @incollection.
report A technical iepoit, ieseaich iepoit, oi white papei published by a univeisity oi some
othei institution. Use the type eld to specify the type of iepoit. Te sponsoiing
institution goes in the institution eld.
Requiied elds author, title, type, institution, year/date
Optional elds subtitle, titleaddon, language, number, version, note, location,
month, isrn, chapter, pages, pagetotal, addendum, pubstate, doi, eprint,
eprintclass, eprinttype, url, urldate
set An entiy set. Tis entiy type is special, see 3.11. foi details.
thesis A thesis wiiuen foi an educational institution to satisfy the iequiiements foi a degiee.
Use the type eld to specify the type of thesis.
Requiied elds author, title, type, institution, year/date
Optional elds subtitle, titleaddon, language, note, location, month, isbn,
chapter, pages, pagetotal, addendum, pubstate, doi, eprint, eprintclass,
eprinttype, url, urldate
unpublished A woik with an authoi and a title which has not been foimally published, such as a
manusciipt oi the sciipt of a talk. Use the elds howpublished and note to supply
additional infoimation in fiee foimat, if applicable.
Requiied elds author, title, year/date
Optional elds subtitle, titleaddon, language, howpublished, note, location,
isbn, date, month, year, addendum, pubstate, url, urldate
xdata Tis entiy type is special. @xdata entiies hold data which may be inheiited by othei Biber only
entiies using the xdata eld. Entiies of this type only seive as data containeis, they
may not be cited oi added to the bibliogiaphy. See 3.11. foi details.
custom[a] Custom types foi special bibliogiaphy styles. Not used by the standaid styles.
11
2.1.2 Type Aliases
Te entiy types listed in this section aie piovided foi backwaids compatibility with
tiaditional BibTeX styles. Tese aliases aie iesolved by the backend as the data is
piocessed. Bibliogiaphy styles will see the entiy type the alias points to, not the
alias name. All unknown entiy types aie geneially expoited as @misc.
conference A BibTeX legacy alias foi @inproceedings.
electronic An alias foi @online.
mastersthesis Similai to @thesis except that the type eld is optional and defaults to the localized
teim Masteis thesis. You may still use the type eld to oveiiide that.
phdthesis Similai to @thesis except that the type eld is optional and defaults to the localized
teim PhD thesis. You may still use the type eld to oveiiide that.
techreport Similai to @report except that the type eld is optional and defaults to the localized
teim technical iepoit. You may still use the type eld to oveiiide that.
www An alias foi @online, piovided foi jurabib compatibility.
2.1.3 Unsupported Types
Te types in this section aie similai to the custom types @custom[a--f], i. e., the
standaid bibliogiaphy styles piovide no suppoit foi these types. When using the
standaid styles, they will be tieated as @misc entiies.
artwork Woiks of the visual aits such as paintings, sculptuie, and installations.
audio Audio iecoidings, typically on audio cu, uvu, audio casseue, oi similai media. See
also @music.
bibnote Tis special entiy type is not meant to be used in the bib le like othei types. lt
is piovided foi thiid-paity packages like notes2bib which meige notes into the
bibliogiaphy. Te notes should go into the note eld. Be advised that the @bibnote
type is not ielated to the \defbibnote command in any way. \defbibnote is foi
adding comments at the beginning oi the end of the bibliogiaphy, wheieas the
@bibnote type is meant foi packages which iendei endnotes as bibliogiaphy entiies.
commentary Commentaiies which have a status dieient fiom iegulai books, such as legal com-
mentaiies.
image lmages, pictuies, photogiaphs, and similai media.
jurisdiction Couit decisions, couit iecoidings, and similai things.
legislation Laws, bills, legislative pioposals, and similai things.
legal Legal documents such as tieaties.
leter Peisonal coiiespondence such as leueis, emails, memoianda, etc.
movie Motion pictuies. See also @video.
music Musical iecoidings. Tis is a moie specic vaiiant of @audio.
performance Musical and theatiical peifoimances as well as othei woiks of the peifoiming aits.
Tis type iefeis to the event as opposed to a iecoiding, a scoie, oi a piinted play.
12
review Reviews of some othei woik. Tis is a moie specic vaiiant of the @article type.
Te standaid styles will tieat this entiy type as an alias foi @article.
sofware Computei sofwaie.
standard National and inteinational standaids issued by a standaids body such as the lnteina-
tional Oiganization foi Standaidization.
video Audiovisual iecoidings, typically on uvu, vus casseue, oi similai media. See also
@movie.
2.2 Entry Fields
Tis section gives an oveiview of the elds suppoited by the biblatex default data
model. See 2.2.1 foi an intioduction to the data types used by the data model
specication and 2.2.2 and 2.2.3 foi the actual eld listings.
2.2.1 Data Types
ln datasouices such as a bib le, all bibliogiaphic data is specied in elds. Some
of those elds, foi example author and editor, may contain a list of items. Tis list
stiuctuie is implemented by the BibTeX le foimat via the keywoid and, which is
used to sepaiate the individual items in the list. Te biblatex package implements
thiee distinct data types to handle bibliogiaphic data name lists, liteial lists, and
elds. Teie aie also seveial list and eld subtypes and a content type which can be
used to semantically distinguish elds which aie otheiwise not distinguishable on
the basis of only theii datatype (see 4..3). Tis section gives an oveiview of the
data types suppoited by this package. See 2.2.2 and 2.2.3 foi infoimation about
the mapping of the BibTeX le foimat elds to biblatexs data types.
Name lists aie paised and split up into the individual items at the and delimitei.
Each item in the list is then dissected into foui name components the ist
name, the name piex (von, van, of, da, de, della, ), the last name, and the
name sux (junioi, senioi, ). Name lists may be tiuncated in the bib le
with the keywoid and others. Typical examples of name lists aie author and
editor.
Literal lists aie paised and split up into the individual items at the and delimitei
but not dissected fuithei. Liteial lists may be tiuncated in the bib le with the
keywoid and others. Teie aie two subtypes
Literal lists in the stiict sense aie handled as desciibed above. Te individual
items aie simply piinted as is. Typical examples of such liteial lists aie
publisher and location.
Key lists aie a vaiiant of liteial lists which may hold piintable data oi local-
ization keys. Foi each item in the list, a test is peifoimed to deteimine
whethei it is a known localization key (the localization keys dened by
default aie listed in 4.9.2). lf so, the localized stiing is piinted. lf not,
the item is piinted as is. A typical example of a key list is language.
Fields aie usually piinted as a whole. Teie aie seveial subtypes
Literal fields aie piinted as is. Typical examples of liteial elds aie title
and note.
13
Range fields aie liteial elds with one special featuie all dashes aie noi-
malized and ieplaced by the command \bibrangedash. Any numbei of
consecutive dashes will only yield a single iange dash. A typical example
of a iange eld is the pages eld. See also the \bibrangessep command Biber only
which can be used to customise the sepaiatoi between multiple ianges.
Integer fields hold unfoimaued integeis which may be conveited to oidinals
oi stiings as they aie piinted. A typical example is the extrayear eld.
Datepart fields hold unfoimaued integeis which may be conveited to oi-
dinals oi stiings as they aie piinted. A typical example is the month
eld.
Date fields hold a date specication in yyyy-mm-dd foimat oi a date iange in
yyyy-mm-dd/yyyy-mm-dd foimat. Date elds aie special in that the date is
paised and split up into its components. See 2.3.8 foi details. A typical
example is the date eld.
Verbatim fields aie piocessed in veibatim mode and may contain special
chaiacteis. Typical examples of veibatim elds aie file and doi.
URI fields aie piocessed in veibatim mode and may contain special chaiac-
teis. Tey aie also URL-escaped if they dont look like they alieady aie.
Te typical example of a uii eld is url.
Comma-separated value fields A comma-sepaiated list of liteial values.
Examples aie the keywords and options elds.
Patern fields A liteial eld which must match a paiticulai pauein. An
example is the gender eld fiom 2.2.3.
Key fields May hold piintable data oi localization keys. A test is peifoimed
to deteimine whethei the value of the eld is a known localization key
(the localization keys dened by default aie listed in 4.9.2). lf so, the
localized stiing is piinted. lf not, the value is piinted as is. A typical
example is the type eld.
Code fields Holds TeX code.
2.2.2 Data Fields
Te elds listed in this section aie the iegulai ones holding piintable data in the
default data model. Te name on the lef is the default data model name of the eld
as used by biblatex and its backend. Te biblatex data type is given to the iight of
the name. See 2.2.1 foi explanation of the vaiious data types.
abstract eld (liteial)
Tis eld is intended foi iecoiding abstiacts in a bib le, to be piinted by a special
bibliogiaphy style. lt is not used by all standaid bibliogiaphy styles.
addendum eld (liteial)
Miscellaneous bibliogiaphic data to be piinted at the end of the entiy. Tis is similai
to the note eld except that it is piinted at the end of the bibliogiaphy entiy.
aferword list (name)
Te authoi(s) of an afeiwoid to the woik. lf the authoi of the afeiwoid is identical
to the editor and/oi translator, the standaid styles will automatically concatenate
these elds in the bibliogiaphy. See also introduction and foreword.
14
annotation eld (liteial)
Tis eld may be useful when implementing a style foi annotated bibliogiaphies.
lt is not used by all standaid bibliogiaphy styles. Note that this eld is completely
unielated to annotator. Te annotator is the authoi of annotations which aie pait
of the woik cited.
annotator list (name)
Te authoi(s) of annotations to the woik. lf the annotatoi is identical to the editor
and/oi translator, the standaid styles will automatically concatenate these elds in
the bibliogiaphy. See also commentator.
author list (name)
Te authoi(s) of the title.
authortype eld (key)
Te type of authoi. Tis eld will aect the stiing (if any) used to intioduce the
authoi. Not used by the standaid bibliogiaphy styles.
bookauthor list (name)
Te authoi(s) of the booktitle.
bookpagination eld (key)
lf the woik is published as pait of anothei one, this is the pagination scheme of the
enclosing woik, i. e., bookpagination ielates to pagination like booktitle to title.
Te value of this eld will aect the foimauing of the pages and pagetotal elds.
Te key should be given in the singulai foim. Possible keys aie page, column, line,
verse, section, and paragraph. See also pagination as well as 2.3.10.
booksubtitle eld (liteial)
Te subtitle ielated to the booktitle. lf the subtitle eld iefeis to a woik which is
pait of a laigei publication, a possible subtitle of the main woik is given in this eld.
See also subtitle.
booktitle eld (liteial)
lf the title eld indicates the title of a woik which is pait of a laigei publication,
the title of the main woik is given in this eld. See also title.
booktitleaddon eld (liteial)
An annex to the booktitle, to be piinted in a dieient font.
chapter eld (liteial)
A chaptei oi section oi any othei unit of a woik.
commentator list (name)
Te authoi(s) of a commentaiy to the woik. Note that this eld is intended foi
commented editions which have a commentatoi in addition to the authoi. lf the woik
is a stand-alone commentaiy, the commentatoi should be given in the author eld.
lf the commentatoi is identical to the editor and/oi translator, the standaid styles
will automatically concatenate these elds in the bibliogiaphy. See also annotator.
1
date eld (date)
Te publication date. See also month and year as well as 2.3.8.
doi eld (veibatim)
Te Digital Object ldentiei of the woik.
edition eld (integei oi liteial)
Te edition of a piinted publication. Tis must be an integei, not an oidinal. Dont
say edition={First} oi edition={1st} but edition={1}. Te bibliogiaphy style
conveits this to a language dependent oidinal. lt is also possible to give the edition
as a liteial stiing, foi example Tiid, ievised and expanded edition.
editor list (name)
Te editoi(s) of the title, booktitle, oi maintitle, depending on the entiy type.
Use the editortype eld to specify the iole if it is dieient fiom editor. See 2.3.
foi fuithei hints.
editora list (name)
A secondaiy editoi peifoiming a dieient editoiial iole, such as compiling, iedacting,
etc. Use the editoratype eld to specify the iole. See 2.3. foi fuithei hints.
editorb list (name)
Anothei secondaiy editoi peifoiming a dieient iole. Use the editorbtype eld to
specify the iole. See 2.3. foi fuithei hints.
editorc list (name)
Anothei secondaiy editoi peifoiming a dieient iole. Use the editorctype eld to
specify the iole. See 2.3. foi fuithei hints.
editortype eld (key)
Te type of editoiial iole peifoimed by the editor. Roles suppoited by default aie
editor, compiler, founder, continuator, redactor, reviser, collaborator. Te
iole editor is the default. ln this case, the eld is omissible. See 2.3. foi fuithei
hints.
editoratype eld (key)
Similai to editortype but iefeiiing to the editora eld. See 2.3. foi fuithei hints.
editorbtype eld (key)
Similai to editortype but iefeiiing to the editorb eld. See 2.3. foi fuithei hints.
editorctype eld (key)
Similai to editortype but iefeiiing to the editorc eld. See 2.3. foi fuithei hints.
eid eld (liteial)
Te electionic identiei of an @article.
1
entrysubtype eld (liteial)
Tis eld, which is not used by the standaid styles, may be used to specify a subtype
of an entiy type. Tis may be useful foi bibliogiaphy styles which suppoit a nei-
giained set of entiy types.
eprint eld (veibatim)
Te electionic identiei of an online publication. Tis is ioughly compaiable to a
uoi but specic to a ceitain aichive, iepositoiy, seivice, oi system. See 3.11. foi
details. Also see eprinttype and eprintclass.
eprintclass eld (liteial)
Additional infoimation ielated to the iesouice indicated by the eprinttype eld.
Tis could be a section of an aichive, a path indicating a seivice, a classication of
some soit, etc. See 3.11. foi details. Also see eprint and eprinttype.
eprintype eld (liteial)
Te type of eprint identiei, e. g., the name of the aichive, iepositoiy, seivice, oi
system the eprint eld iefeis to. See 3.11. foi details. Also see eprint and
eprintclass.
eventdate eld (date)
Te date of a confeience, a symposium, oi some othei event in @proceedings and
@inproceedings entiies. Tis eld may also be useful foi the custom types listed in
2.1.3. See also eventtitle and venue as well as 2.3.8.
eventitle eld (liteial)
Te title of a confeience, a symposium, oi some othei event in @proceedings and
@inproceedings entiies. Tis eld may also be useful foi the custom types listed in
2.1.3. Note that this eld holds the plain title of the event. Tings like Pioceed-
ings of the Fifh XYZ Confeience go into the titleaddon oi booktitleaddon eld,
iespectively. See also eventdate and venue.
eventitleaddon eld (liteial)
An annex to the eventtitle eld. Can be used foi known event acionyms, foi
example.
file eld (veibatim)
A local link to a vui oi othei veision of the woik. Not used by the standaid biblio-
giaphy styles.
foreword list (name)
Te authoi(s) of a foiewoid to the woik. lf the authoi of the foiewoid is identical to
the editor and/oi translator, the standaid styles will automatically concatenate
these elds in the bibliogiaphy. See also introduction and afterword.
holder list (name)
Te holdei(s) of a @patent, if dieient fiom the author. Not that coipoiate holdeis
need to be wiapped in an additional set of biaces, see 2.3.3 foi details. Tis list may
also be useful foi the custom types listed in 2.1.3.
1
howpublished eld (liteial)
Apublication notice foi unusual publications which do not t into any of the common
categoiies.
indextitle eld (liteial)
A title to use foi indexing instead of the iegulai title eld. Tis eld may be useful
if you have an entiy with a title like An lntioduction to and want that indexed
as lntioduction to , An. Style authois should note that biblatex automatically
copies the value of the title eld to indextitle if the lauei eld is undened.
institution list (liteial)
Te name of a univeisity oi some othei institution, depending on the entiy type.
Tiaditional BibTeX uses the eld name school foi theses, which is suppoited as an
alias. See also 2.2. and 2.3.4.
introduction list (name)
Te authoi(s) of an intioduction to the woik. lf the authoi of the intioduction is
identical to the editor and/oi translator, the standaid styles will automatically
concatenate these elds in the bibliogiaphy. See also foreword and afterword.
isan eld (liteial)
Te lnteinational Standaid Audiovisual Numbei of an audiovisual woik. Not used
by the standaid bibliogiaphy styles.
isbn eld (liteial)
Te lnteinational Standaid Book Numbei of a book.
ismn eld (liteial)
Te lnteinational Standaid Music Numbei foi piinted music such as musical scoies.
Not used by the standaid bibliogiaphy styles.
isrn eld (liteial)
Te lnteinational Standaid Technical Repoit Numbei of a technical iepoit.
issn eld (liteial)
Te lnteinational Standaid Seiial Numbei of a peiiodical.
issue eld (liteial)
Te issue of a jouinal. Tis eld is intended foi jouinals whose individual issues aie
identied by a designation such as Spiing oi Summei iathei than the month oi a
numbei. Since the placement of issue is similai to month and number, this eld may
also be useful with double issues and othei special cases. See also month, number, and
2.3.9.
issuesubtitle eld (liteial)
Te subtitle of a specic issue of a jouinal oi othei peiiodical.
18
issuetitle eld (liteial)
Te title of a specic issue of a jouinal oi othei peiiodical.
iswc eld (liteial)
Te lnteinational Standaid Woik Code of a musical woik. Not used by the standaid
bibliogiaphy styles.
journalsubtitle eld (liteial)
Te subtitle of a jouinal, a newspapei, oi some othei peiiodical.
journaltitle eld (liteial)
Te name of a jouinal, a newspapei, oi some othei peiiodical.
label eld (liteial)
A designation to be used by the citation style as a substitute foi the iegulai label if
any data iequiied to geneiate the iegulai label is missing. Foi example, when an
authoi-yeai citation style is geneiating a citation foi an entiy which is missing the
authoi oi the yeai, it may fall back to label. See 2.3.2 foi details. Note that, in
contiast to shorthand, label is only used as a fallback. See also shorthand.
language list (key)
Te language(s) of the woik. Languages may be specied liteially oi as localization
keys. lf localization keys aie used, the piex lang is omissible. See also origlanguage
and compaie langid in 2.2.3.
library eld (liteial)
Tis eld may be useful to iecoid infoimation such as a libiaiy name and a call
numbei. Tis may be piinted by a special bibliogiaphy style if desiied. Not used by
the standaid bibliogiaphy styles.
location list (liteial)
Te place(s) of publication, i. e., the location of the publisher oi institution, de-
pending on the entiy type. Tiaditional BibTeX uses the eld name address, which
is suppoited as an alias. See also 2.2. and 2.3.4. With @patent entiies, this list
indicates the scope of a patent. Tis list may also be useful foi the custom types
listed in 2.1.3.
mainsubtitle eld (liteial)
Te subtitle ielated to the maintitle. See also subtitle.
maintitle eld (liteial)
Te main title of a multi-volume book, such as Collected Works. lf the title oi
booktitle eld indicates the title of a single volume which is pait of multi-volume
book, the title of the complete woik is given in this eld.
maintitleaddon eld (liteial)
An annex to the maintitle, to be piinted in a dieient font.
19
month eld (datepait)
Te publication month. Tis must be an integei, not an oidinal oi a stiing. Dont say
month={January} but month={1}. Te bibliogiaphy style conveits this to a language
dependent stiing oi oidinal wheie iequiied. See also date as well as 2.3.9 and
2.3.8.
nameaddon eld (liteial)
An addon to be piinted immediately afei the authoi name in the bibliogiaphy. Not
used by the standaid bibliogiaphy styles. Tis eld may be useful to add an alias oi
pen name (oi give the ieal name if the pseudonym is commonly used to iefei to that
authoi).
note eld (liteial)
Miscellaneous bibliogiaphic data which does not t into any othei eld. Te note
eld may be used to iecoid bibliogiaphic data in a fiee foimat. Publication facts such
as Repiint of the edition London 1831 aie typical candidates foi the note eld. See
also addendum.
number eld (liteial)
Te numbei of a jouinal oi the volume/numbei of a book in a series. See also issue
as well as 2.3. and 2.3.9. With @patent entiies, this is the numbei oi iecoid token
of a patent oi patent iequest.
organization list (liteial)
Te oiganization(s) that published a @manual oi an @online iesouice, oi sponsoied a
confeience. See also 2.3.4.
origdate eld (date)
lf the woik is a tianslation, a iepiint, oi something similai, the publication date of
the oiiginal edition. Not used by the standaid bibliogiaphy styles. See also date.
origlanguage eld (key)
lf the woik is a tianslation, the language of the oiiginal woik. See also language.
origlocation list (liteial)
lf the woik is a tianslation, a iepiint, oi something similai, the location of the
oiiginal edition. Not used by the standaid bibliogiaphy styles. See also location
and 2.3.4.
origpublisher list (liteial)
lf the woik is a tianslation, a iepiint, oi something similai, the publisher of the
oiiginal edition. Not used by the standaid bibliogiaphy styles. See also publisher
and 2.3.4.
origtitle eld (liteial)
lf the woik is a tianslation, the title of the oiiginal woik. Not used by the standaid
bibliogiaphy styles. See also title.
20
pages eld (iange)
One oi moie page numbeis oi page ianges. lf the woik is published as pait of anothei
one, such as an aiticle in a jouinal oi a collection, this eld holds the ielevant page
iange in that othei woik. lt may also be used to limit the iefeience to a specic pait
of a woik (a chaptei in a book, foi example).
pagetotal eld (liteial)
Te total numbei of pages of the woik.
pagination eld (key)
Te pagination of the woik. Te value of this eld will aect the foimauing the
postnote aigument to a citation command. Te key should be given in the singulai
foim. Possible keys aie page, column, line, verse, section, and paragraph. See also
bookpagination as well as 2.3.10 and 3.12.3.
part eld (liteial)
Te numbei of a paitial volume. Tis eld applies to books only, not to jouinals. lt
may be used when a logical volume consists of two oi moie physical ones. ln this
case the numbei of the logical volume goes in the volume eld and the numbei of
the pait of that volume in the part eld. See also volume.
publisher list (liteial)
Te name(s) of the publishei(s). See also 2.3.4.
pubstate eld (key)
Te publication state of the woik, e. g., in piess. See 4.9.2.11 foi known publication
states.
reprintitle eld (liteial)
Te title of a iepiint of the woik. Not used by the standaid styles. BibTeX only
series eld (liteial)
Te name of a publication seiies, such as Studies in , oi the numbei of a jouinal
seiies. Books in a publication seiies aie usually numbeied. Te numbei oi volume
of a book in a seiies is given in the number eld. Note that the @article entiy type
makes use of the series eld as well, but handles it in a special way. See 2.3. foi
details.
shortauthor list (name)
Te authoi(s) of the woik, given in an abbieviated foim. Tis eld is mainly intended
foi abbieviated foims of coipoiate authois, see 2.3.3 foi details.
shorteditor list (name)
Te editoi(s) of the woik, given in an abbieviated foim. Tis eld is mainly intended
foi abbieviated foims of coipoiate editois, see 2.3.3 foi details.
21
shorthand eld (liteial)
A special designation to be used by the citation style instead of the usual label. Tis
eld is intended foi citation aliasing. lf dened, it oveiiides the default label. lf
any of the cited bibliogiaphy entiies includes a shorthand eld, biblatex automat-
ically builds a list of shoithands which may be piinted in addition to the iegulai
bibliogiaphy, see 3..3 foi details. See also label.
shorthandintro eld (liteial)
Te veibose citation styles which comes with this package use a phiase like hence-
foith cited as [shoithand] to intioduce shoithands on the ist citation. lf the
shorthandintro eld is dened, it oveiiides the standaid phiase. Note that the
alteinative phiase must include the shoithand.
shortjournal eld (liteial)
A shoit veision oi an acionym of the journaltitle. Not used by the standaid
bibliogiaphy styles.
shortseries eld (liteial)
A shoit veision oi an acionym of the series eld. Not used by the standaid biblio-
giaphy styles.
shortitle eld (liteial)
Te title in an abiidged foim. Tis eld is usually not included in the bibliogiaphy.
lt is intended foi citations in authoi-title foimat. lf piesent, the authoi-title citation
styles use this eld instead of title.
subtitle eld (liteial)
Te subtitle of the woik.
title eld (liteial)
Te title of the woik.
titleaddon eld (liteial)
An annex to the title, to be piinted in a dieient font.
translator list (name)
Te tianslatoi(s) of the title oi booktitle, depending on the entiy type. lf the
tianslatoi is identical to the editor, the standaid styles will automatically concatenate
these elds in the bibliogiaphy.
type eld (key)
Te type of a manual, patent, report, oi thesis. Tis eld may also be useful foi
the custom types listed in 2.1.3.
url eld (uii)
Te uvi of an online publication. lf it is not URL-escaped (no chais), with Bibei,
it will be URl-escaped accoiding to RFC 398, that is, even Unicode chais will be
coiiectly escaped.
22
urldate eld (date)
Te access date of the addiess specied in the url eld. See also 2.3.8.
venue eld (liteial)
Te location of a confeience, a symposium, oi some othei event in @proceedings
and @inproceedings entiies. Tis eld may also be useful foi the custom types listed
in 2.1.3. Note that the location list holds the place of publication. lt theiefoie
coiiesponds to the publisher and institution lists. Te location of the event is
given in the venue eld. See also eventdate and eventtitle.
version eld (liteial)
Te ievision numbei of a piece of sofwaie, a manual, etc.
volume eld (liteial)
Te volume of a multi-volume book oi a peiiodical. See also part.
volumes eld (liteial)
Te total numbei of volumes of a multi-volume woik. Depending on the entiy type,
this eld iefeis to title oi maintitle.
year eld (liteial)
Te yeai of publication. See also date and 2.3.8.
2.2.3 Special Fields
Te elds listed in this section do not hold piintable data but seive a dieient puipose.
Tey apply to all entiy types in the default data model.
crossref eld (entiy key)
Tis eld holds an entiy key foi the cioss-iefeiencing featuie. Child entiies with a
crossref eld inheiit data fiom the paient entiy specied in the crossref eld. lf
the numbei of child entiies iefeiencing a specic paient entiy hits a ceitain thieshold,
the paient entiy is automatically added to the bibliogiaphy even if it has not been
cited explicitly. Te thieshold is seuable with the mincrossrefs package option fiom
3.1.2.1. Style authois should note that whethei oi not the crossref elds of the
child entiies aie dened on the biblatex level depends on the availability of the
paient entiy. lf the paient entiy is available, the crossref elds of the child entiies
will be dened. lf not, the child entiies still inheiit the data fiom the paient entiy
but theii crossref elds will be undened. Whethei the paient entiy is added to
the bibliogiaphy implicitly because of the thieshold oi explicitly because it has been
cited does not mauei. See also the xref eld in this section as well as 2.4.1.
entryset eld (comma-sepaiated values)
Tis eld is specic to entiy sets. See 3.11. foi details. Tis eld is consumed by
the backend piocessing and does not appeai in the .bbl.
23
Language Region/Dialect Identifiers
Catalan Spain, Fiance, Andoiia, ltaly catalan
Cioatian Cioatia, Bosnia and Heizegovina, Seibia croatian
Czech Czech Republic czech
Danish Denmaik danish
Dutch Netheilands dutch
English USA american, USenglish, english
United Kingdom british, UKenglish
Canada canadian
Austialia australian
New Zealand newzealand
Finnish Finland finnish
Fiench Fiance, Canada french
Geiman Geimany german
Austiia austrian
Geiman (new) Geimany ngerman
Austiia naustrian
Gieek Gieece greek
ltalian ltaly italian
Noiwegian Noiway norwegian, norsk, nynorsk
Polish Poland polish
Poituguese Biazil brazil
Poitugal portuguese, portuges
Russian Russia russian
Spanish Spain spanish
Swedish Sweden swedish
Table 2: Supported Languages
execute eld (code)
A special eld which holds aibitiaiy TeX code to be executed whenevei the data of
the iespective entiy is accessed. Tis may be useful to handle special cases. Con-
ceptually, this eld is compaiable to the hooks \AtEveryBibitem, \AtEveryLositem,
and \AtEveryCitekey fiom 4.10., except that it is denable on a pei-entiy basis in
the bib le. Any code in this eld is executed automatically immediately afei these
hooks.
gender eld (Pauein matching one of sf, sm, sn, pf, pm, pn, pp)
Te gendei of the authoi oi the gendei of the editoi, if theie is no authoi. Te
following identieis aie suppoited sf (feminine singulai, a single female name),
sm (masculine singulai, a single male name), sn (neutei singulai, a single neutei
name), pf (feminine pluial, a list of female names), pm (masculine pluial, a list of male
names), pn (neutei pluial, a list of neutei names), pp (pluial, a mixed gendei list of
names). Tis infoimation is only iequiied by special bibliogiaphy and citation styles
and only in ceitain languages. Foi example, a citation style may ieplace iecuiient
authoi names with a teim such as idem. lf the Latin woid is used, as is custom in
English and Fiench, theie is no need to specify the gendei. ln Geiman publications,
howevei, such key teims aie usually given in Geiman and in this case they aie
gendei-sensitive.
langid eld (identiei)
Te language id of the bibliogiaphy entiy. Te alias hyphenation is piovided foi
backwaids compatibility. Te identiei must be a language name known to the
babel/polyglossia packages. Tis infoimation may be used to switch hyphenation
24
paueins and localize stiings in the bibliogiaphy. Note that the language names aie
case sensitive. Te languages cuiiently suppoited by this package aie given in table 2.
Note that babel tieats the identiei english as an alias foi british oi american,
depending on the babel veision. Te biblatex package always tieats it as an alias
foi american. lt is piefeiable to use the language identieis american and british
(babel) oi a language specic option to specify a language vaiiant (polyglossia,
using the langidopts eld) to avoid any possible confusion. Compaie language in
2.2.2.
langidopts eld (comma-sepaiated key=value options)
Foi polyglossia useis, allows pei-entiy language specic options. Tese aie
passed to polyglossias language switching facility when using the package option
autolang=langname. Foi example, the elds
langid = {english},
langidopts = {variant=british},
would wiap the bibliogiaphy entiy in
\english[variant=british]
...
\endenglish
ids eld (comma-sepaiated list of entiykeys) Biber only
Citation key aliases foi the main citation key. An entiy may be cited by any of its
aliases and biblatex will tieat the citation as if it had used the piimaiy citation key.
Tis is to aid useis who change theii citation keys but have legacy documents which
use oldei keys foi the same entiy. Tis eld is consumed by the backend piocessing
and does not appeai in the .bbl.
indexsortitle eld (liteial)
Te title used when soiting the index. ln contiast to indextitle, this eld is used
foi soiting only. Te piinted title in the index is the indextitle oi the title eld.
Tis eld may be useful if the title contains special chaiacteis oi commands which
inteifeie with the soiting of the index. Considei this example
title = {The \LaTeX\ Companion},
indextitle = {\LaTeX\ Companion, The},
indexsorttitle = {LATEX Companion},
Style authois should note that biblatex automatically copies the value of eithei the
indextitle oi the title eld to indexsorttitle if the lauei eld is undened.
keywords eld (comma-sepaiated values)
A comma-sepaiated list of keywoids. Tese keywoids aie intended foi the bibliogia-
phy lteis (see 3..2 and 3.11.4), they aie usually not piinted. Note that spaces
afei commas aie ignoied.
2
options eld (comma-sepaiated key=value options)
A comma-sepaiated list of entiy options in key=value notation. Tis eld is used
to set options on a pei-entiy basis. See 3.1.3 foi details. Note that citation and
bibliogiaphy styles may dene additional entiy options.
presort eld (stiing)
A special eld used to modify the soiting oidei of the bibliogiaphy. Tis eld is
the ist item the soiting ioutine consideis when soiting the bibliogiaphy, hence it
may be used to aiiange the entiies in gioups. Tis may be useful when cieating
subdivided bibliogiaphies with the bibliogiaphy lteis. Please iefei to 3. foi
fuithei details. Also see 4... Tis eld is consumed by the backend piocessing
and does not appeai in the .bbl.
related eld (comma-sepaiated values) Biber only
Citation keys of othei entiies which have a ielationship to this entiy. Te ielationship
is specied by the relatedtype eld. Please iefei to 3.4 foi fuithei details.
relatedoptions eld (comma-sepaiated values) Biber only
Pei-type options to set foi a ielated entiy. Note that this does not set the options on
the ielated entiy itself, only the dataonly clone which is used as a datasouice foi
the paient entiy.
relatedtype eld (identiei) Biber only
An identiei which specied the type of ielationship foi the keys listed in the related
eld. Te identiei is a localized bibliogiaphy stiing piinted befoie the data fiom the
ielated entiy list. lt is also used to identify type-specic foimauing diiectives and
bibliogiaphy macios foi the ielated entiies. Please iefei to 3.4 foi fuithei details.
relatedstring eld (liteial) Biber only
A eld used to oveiiide the bibliogiaphy stiing specied by relatedtype. Please
iefei to 3.4 foi fuithei details.
sortkey eld (liteial)
A eld used to modify the soiting oidei of the bibliogiaphy. Tink of this eld as
the mastei soit key. lf piesent, biblatex uses this eld duiing soiting and ignoies
eveiything else, except foi the presort eld. Please iefei to 3. foi fuithei details.
Tis eld is consumed by the backend piocessing and does not appeai in the .bbl.
sortname list (name)
A name oi a list of names used to modify the soiting oidei of the bibliogiaphy. lf
piesent, this list is used instead of author oi editor when soiting the bibliogiaphy.
Please iefei to 3. foi fuithei details. Tis eld is consumed by the backend
piocessing and does not appeai in the .bbl.
sortshorthand eld (liteial) Biber only
Similai to sortkey but used in the list of shoithands. lf piesent, biblatex uses
this eld instead of shorthand when soiting the list of shoithands. Tis is useful if
the shorthand eld holds shoithands with foimauing commands such as \emph oi
\textbf. Tis eld is consumed by the backend piocessing and does not appeai in
the .bbl.
2
sortitle eld (liteial)
A eld used to modify the soiting oidei of the bibliogiaphy. lf piesent, this eld
is used instead of the title eld when soiting the bibliogiaphy. Te sorttitle
eld may come in handy if you have an entiy with a title like An lntioduction
to and want that alphabetized undei l iathei than A. ln this case, you could put
lntioduction to in the sorttitle eld. Please iefei to 3. foi fuithei details.
Tis eld is consumed by the backend piocessing and does not appeai in the .bbl.
sortyear eld (liteial)
A eld used to modify the soiting oidei of the bibliogiaphy. lf piesent, this eld is
used instead of the year eld when soiting the bibliogiaphy. Please iefei to 3.
foi fuithei details. Tis eld is consumed by the backend piocessing and does not
appeai in the .bbl.
xdata eld (comma-sepaiated list of entiykeys) Biber only
Tis eld inheiits data fiom one oi moie @xdata entiies. Conceptually, the xdata
eld is ielated to crossref and xref crossref establishes a logical paient/child
ielation and inheiits data, xref establishes as logical paient/child ielation without
inheiiting data, xdata inheiits data without establishing a ielation. Te value of
the xdata may be a single entiy key oi a comma-sepaiated list of keys. See 3.11.
foi fuithei details. Tis eld is consumed by the backend piocessing and does not
appeai in the .bbl.
xref eld (entiy key)
Tis eld is an alteinative cioss-iefeiencing mechanism. lt dieis fiom crossref in
that the child entiy will not inheiit any data fiom the paient entiy specied in the
xref eld. lf the numbei of child entiies iefeiencing a specic paient entiy hits a
ceitain thieshold, the paient entiy is automatically added to the bibliogiaphy even
if it has not been cited explicitly. Te thieshold is seuable with the mincrossrefs
package option fiom 3.1.2.1. Style authois should note that whethei oi not the
xref elds of the child entiies aie dened on the biblatex level depends on the
availability of the paient entiy. lf the paient entiy is available, the xref elds of
the child entiies will be dened. lf not, theii xref elds will be undened. Whethei
the paient entiy is added to the bibliogiaphy implicitly because of the thieshold oi
explicitly because it has been cited does not mauei. See also the crossref eld in
this section as well as 2.4.1.
2.2.4 Custom Fields
Te elds listed in this section aie intended foi special bibliogiaphy styles. Tey aie
not used by the standaid bibliogiaphy styles.
name[ac] list (name)
Custom lists foi special bibliogiaphy styles. Not used by the standaid bibliogiaphy
styles.
name[ac]type eld (key)
Similai to authortype and editortype but iefeiiing to the elds name[a--c]. Not
used by the standaid bibliogiaphy styles.
2
list[a] list (liteial)
Custom lists foi special bibliogiaphy styles. Not used by the standaid bibliogiaphy
styles.
user[a] eld (liteial)
Custom elds foi special bibliogiaphy styles. Not used by the standaid bibliogiaphy
styles.
verb[ac] eld (liteial)
Similai to the custom elds above except that these aie veibatim elds. Not used by
the standaid bibliogiaphy styles.
2.2.5 Field Aliases
Te aliases listed in this section aie piovided foi backwaids compatibility with tiadi-
tional BibTeX and othei applications based on tiaditional BibTeX styles. Note that
these aliases aie immediately iesolved as the bib le is piocessed. All bibliogiaphy
and citation styles must use the names of the elds they point to, not the alias. ln bib
les, you may use eithei the alias oi the eld name but not both at the same time.
address list (liteial)
An alias foi location, piovided foi BibTeX compatibility. Tiaditional BibTeX uses the
slightly misleading eld name address foi the place of publication, i. e., the location
of the publishei, while biblatex uses the geneiic eld name location. See 2.2.2
and 2.3.4.
annote eld (liteial)
An alias foi annotation, piovided foi jurabib compatibility. See 2.2.2.
archiveprefix eld (liteial)
An alias foi eprinttype, piovided foi aiXiv compatibility. See 2.2.2 and 3.11..
journal eld (liteial)
An alias foi journaltitle, piovided foi BibTeX compatibility. See 2.2.2.
key eld (liteial)
An alias foi sortkey, piovided foi BibTeX compatibility. See 2.2.3.
pdf eld (veibatim)
An alias foi file, piovided foi JabRef compatibility. See 2.2.2.
primaryclass eld (liteial)
An alias foi eprintclass, piovided foi aiXiv compatibility. See 2.2.2 and 3.11..
school list (liteial)
An alias foi institution, piovided foi BibTeX compatibility. Te institution eld
is used by tiaditional BibTeX foi technical iepoits wheieas the school eld holds
the institution associated with theses. Te biblatex package employs the geneiic
eld name institution in both cases. See 2.2.2 and 2.3.4.
28
2.3 Usage Notes
Te entiy types and elds suppoited by this package should foi the most pait be
intuitive to use foi anyone familiai with BibTeX. Howevei, apait fiom the additional
types and elds piovided by this package, some of the familiai ones aie handled in
a way which is in need of explanation. Tis package includes some compatibility
code foi bib les which weie geneiated with a tiaditional BibTeX style in mind.
Unfoitunately, it is not possible to handle all legacy les automatically because
biblatexs data model is slightly dieient fiom tiaditional BibTeX. Teiefoie, such
bib les will most likely iequiie editing in oidei to woik piopeily with this package.
ln sum, the following items aie dieient fiom tiaditional BibTeX styles
Te entiy type @inbook. See 2.1.1 and 2.3.1 foi details.
Te elds institution, organization, and publisher as well as the aliases
address and school. See 2.2.2, 2.2., 2.3.4 foi details.
Te handling of ceitain types of titles. See 2.3. foi details.
Te eld series. See 2.2.2 and 2.3. foi details.
Te elds year and month. See 2.2.2, 2.3.8, 2.3.9 foi details.
Te eld edition. See 2.2.2 foi details.
Te eld key. See 2.3.2 foi details.
Useis of the jurabib package should note that the shortauthor eld is tieated as
a name list by biblatex, see 2.3.3 foi details.
2.3.1 The Entry Type @inbook
Use the @inbook entiy type foi a self-contained pait of a book with its own title
only. lt ielates to @book just like @incollection ielates to @collection. See 2.3.
foi examples. lf you want to iefei to a chaptei oi section of a book, simply use the
book type and add a chapter and/oi pages eld. Whethei a bibliogiaphy should at
all include iefeiences to chapteis oi sections is contioveisial because a chaptei is
not a bibliogiaphic entity.
2.3.2 Missing and Omissible Data
Te elds maiked as iequiied in 2.1.1 aie not stiictly iequiied in all cases. Te
bibliogiaphy styles which ship with this package can get by with as liule as a title
eld foi most entiy types. A book published anonymously, a peiiodical without
an explicit editoi, oi a sofwaie manual without an explicit authoi should pose no
pioblem as fai as the bibliogiaphy is conceined. Citation styles, howevei, may
have dieient iequiiements. Foi example, an authoi-yeai citation scheme obviously
iequiies an author/editor and a year eld.
You may geneially use the label eld to piovide a substitute foi any missing data
iequiied foi citations. How the label eld is employed depends on the citation style.
Te authoi-yeai citation styles which come with this package use the label eld
as a fallback if eithei the author/editor oi the year is missing. Te numeiic styles,
on the othei hand, do not use it at all since the numeiic scheme is independent of
the available data. Te authoi-title styles ignoie it as well, because the baie title is
usually sucient to foim a unique citation and a title is expected to be available in
any case. Te label eld may also be used to oveiiide the non-numeiic poition of
29
the automatically geneiated labelalpha eld used by alphabetic citation styles. See
4.2.4 foi details.
Note that tiaditional BibTeX styles suppoit a key eld which is used foi alphabet-
izing if both author and editor aie missing. Te biblatex package tieats key as an
alias foi sortkey. ln addition to that, it oeis veiy ne-giained soiting contiols, see
2.2.3 and 3. foi details. Te natbib package employs the key eld as a fallback
label foi citations. Use the label eld instead.
2.3.3 Corporate Authors and Editors
Coipoiate authois and editois aie given in the author oi editor eld, iespectively.
Note that they must be wiapped in an extia paii of cuily biaces to pievent data
paising fiom tieating them as peisonal names which aie to be dissected into theii
components. Use the shortauthor eld if you want to give an abbieviated foim of
the name oi an acionym foi use in citations.
author = {{National Aeronautics and Space Administration}},
shortauthor = {NASA},
Te default citation styles will use the shoit name in all citations while the full
name is piinted in the bibliogiaphy. Foi coipoiate editois, use the coiiesponding
elds editor and shorteditor. Since all of these elds aie tieated as name lists, it is
possible to mix peisonal names and coipoiate names, piovided that the names of all
coipoiations and institutions aie wiapped in biaces.
editor = {{National Aeronautics and Space Administration}
and Doe, John},
shorteditor = {NASA and Doe, John},
Useis switching fiom the jurabib package to biblatex should note that the
shortauthor eld is tieated as a name list.
2.3.4 Literal Lists
Te elds institution, organization, publisher, and location aie liteial lists in
teims of 2.2. Tis also applies to origlocation, origpublisher and to the eld
aliases address and school. All of these elds may contain a list of items sepaiated
by the keywoid and. lf they contain a liteial and, it must be wiapped in biaces.
publisher = {William Reid {and} Company},
institution = {Office of Information Management {and} Communications},
organization = {American Society for Photogrammetry {and} Remote Sensing
and
American Congress on Surveying {and} Mapping},
Note the dieience between a liteial {and} and the list sepaiatoi and in the above
examples. You may also wiap the entiie name in biaces
publisher = {{William Reid and Company}},
institution = {{Office of Information Management and Communications}},
organization = {{American Society for Photogrammetry and Remote Sensing}
and
{American Congress on Surveying and Mapping}},
30
Legacy les which have not been updated foi use with biblatex will still woik if
these elds do not contain a liteial and. Howevei, note that you will miss out on
the additional featuies of liteial lists in this case, such as conguiable foimauing
and automatic tiuncation.
2.3.5 Titles
Te following examples demonstiate how to handle dieient types of titles. Lets
stait with a ve-volume woik which is iefeiied to as a whole
@MvBook{works,
author = {Shakespeare, William},
title = {Collected Works},
volumes = {5},
...
Te individual volumes of a multi-volume woik usually have a title of theii own.
Suppose the fouith volume of the Collected Works includes Shakespeaies sonnets
and we aie iefeiiing to this volume only
@Book{works:4,
author = {Shakespeare, William},
maintitle = {Collected Works},
title = {Sonnets},
volume = {4},
...
lf the individual volumes do not have a title, we put the main title in the title eld
and include a volume numbei
@Book{works:4,
author = {Shakespeare, William},
title = {Collected Works},
volume = {4},
...
ln the next example, we aie iefeiiing to a pait of a volume, but this pait is a self-
contained woik with its own title. Te iespective volume also has a title and theie is
still the main title of the entiie edition
@InBook{lear,
author = {Shakespeare, William},
bookauthor = {Shakespeare, William},
maintitle = {Collected Works},
booktitle = {Tragedies},
title = {King Lear},
volume = {1},
pages = {53-159},
...
Suppose the ist volume of the Collected Works includes a iepiinted essay by a well-
known scholai. Tis is not the usual intioduction by the editoi but a self-contained
woik. Te Collected Works also have a sepaiate editoi
31
@InBook{stage,
author = {Expert, Edward},
title = {Shakespeare and the Elizabethan Stage},
bookauthor = {Shakespeare, William},
editor = {Bookmaker, Bernard},
maintitle = {Collected Works},
booktitle = {Tragedies},
volume = {1},
pages = {7-49},
...
See 2.3. foi fuithei examples.
2.3.6 Editorial Roles
Te type of editoiial iole peifoimed by an editoi in one of the editor elds
(i. e., editor, editora, editorb, editorc) may be specied in the coiiesponding
editor...type eld. Te following ioles aie suppoited by default. Te iole editor
is the default. ln this case, the editortype eld is omissible.
editor Te main editoi. Tis is the most geneiic editoiial iole and the default value.
compiler Similai to editor but used if the task of the editoi is mainly compiling.
founder Te founding editoi of a peiiodical oi a compiehensive publication pioject such as a
Collected Woiks edition oi a long-iunning legal commentaiy.
continuator An editoi who continued the woik of the founding editoi (founder) but was subse-
quently ieplaced by the cuiient editoi (editor).
redactor A secondaiy editoi whose task is iedacting the woik.
reviser A secondaiy editoi whose task is ievising the woik.
collaborator A secondaiy editoi oi a consultant to the editoi.
Foi example, if the task of the editoi is compiling, you may indicate that in the
coiiesponding editortype eld
@Collection{...,
editor = {Editor, Edward},
editortype = {compiler},
...
Teie may also be secondaiy editois in addition to the main editoi
@Book{...,
author = {...},
editor = {Editor, Edward},
editora = {Redactor, Randolph},
editoratype = {redactor},
editorb = {Consultant, Conrad},
editorbtype = {collaborator},
...
Peiiodicals oi long-iunning publication piojects may see seveial geneiations of
editois. Foi example, theie may be a founding editoi in addition to the cuiient
editoi
32
@Book{...,
author = {...},
editor = {Editor, Edward},
editora = {Founder, Frederic},
editoratype = {founder},
...
Note that only the editor is consideied in citations and when soiting the bibliogiaphy.
lf an entiy is typically cited by the founding editoi (and soited accoidingly in the
bibliogiaphy), the foundei goes into the editor eld and the cuiient editoi moves to
one of the editor... elds
@Collection{...,
editor = {Founder, Frederic},
editortype = {founder},
editora = {Editor, Edward},
...
You may add moie ioles by initializing and dening a new localization key whose
name coiiesponds to the identiei in the editor...type eld. See 3.8 and 4.9.1
foi details.
2.3.7 Publication and Journal Series
Te series eld is used by tiaditional BibTeX styles both foi the main title of a multi-
volume woik and foi a publication seiies, i. e., a loosely ielated sequence of books by
the same publishei which deal with the same geneial topic oi belong to the same
eld of ieseaich. Tis may be ambiguous. Tis package intioduces a maintitle eld
foi multi-volume woiks and employs series foi publication seiies only. Te volume
oi numbei of a book in the seiies goes in the number eld in this case
@Book{...,
author = {Expert, Edward},
title = {Shakespeare and the Elizabethan Age},
series = {Studies in English Literature and Drama},
number = {57},
...
Te @article entiy type makes use of the series eld as well, but handles it in a
special way. Fiist, a test is peifoimed to deteimine whethei the value of the eld is
an integei. lf so, it will be piinted as an oidinal. lf not, anothei test is peifoimed to
deteimine whethei it is a localization key. lf so, the localized stiing is piinted. lf not,
the value is piinted as is. Considei the following example of a jouinal published in
numbeied seiies
@Article{...,
journal = {Journal Name},
series = {3},
volume = {15},
number = {7},
year = {1995},
...
33
Date Specification Formated Date (Examples)
Short Format Long Format
1850 180 180
1997/ 199 199
1967-02 02/19 Febiuaiy 19
2009-01-31 31/01/2009 31st Januaiy 2009
1988/1992 19881992 19881992
2002-01/2002-02 01/200202/2002 Januaiy 2002Febiuaiy 2002
1995-03-30/1995-04-05 30/03/1990/04/199 30th Maich 199th Apiil 199
Table 3: Date Specifications
Tis entiy will be piinted as Journal Name. 3id sei. 1. (199). Some jouinals
use designations such as old seiies and new seiies instead of a numbei. Such
designations may be given in the series eld as well, eithei as a liteial stiing oi as a
localization key. Considei the following example which makes use of the localization
key newseries
@Article{...,
journal = {Journal Name},
series = {newseries},
volume = {9},
year = {1998},
...
Tis entiy will be piinted as Journal Name. New sei. 9 (1998). See 4.9.2 foi a list
of localization keys dened by default.
2.3.8 Date Specifications
Te date elds date, origdate, eventdate, and urldate iequiie a date specication
in yyyy-mm-dd foimat. Date ianges aie given as yyyy-mm-dd/yyyy-mm-dd. Paitial
dates aie valid piovided that date components aie omiued at the end only. You may
specify an open ended date iange by giving the iange sepaiatoi and omiuing the
end date (e. g., yyyy/). See table 3 foi some examples of valid date specications
and the foimaued date automatically geneiated by biblatex. Te foimaued date
is language specic and will be adapted automatically. lf theie is no date eld
in an entiy, biblatex will also considei the elds year and month foi backwaids
compatibility with tiaditional BibTeX. Style authoi should note that date elds like
date oi origdate aie only available in the bib le. All dates aie paised and dissected
into theii components as the bib le is piocessed. Te date components aie made
available to styles by way of the special elds discussed in 4.2.4.3. See this section
and table 8 on page 129 foi fuithei infoimation.
2.3.9 Months and Journal Issues
Te month eld is an integei eld. Te bibliogiaphy style conveits the month to a
language-dependent stiing as iequiied. Foi backwaids compatibility, you may also
use the following thiee-leuei abbieviations in the month eld jan, feb, mar, apr, may,
jun, jul, aug, sep, oct, nov, dec. Note that these abbieviations aie BibTeX stiings
which must be given without any biaces oi quotes. When using them, dont say
month={jan} oi month="jan" but month=jan. lt is not possible to specify a month
such as month={8/9}. Use the date eld foi date ianges instead. Qaiteily jouinals
34
aie typically identied by a designation such as Spiing oi Summei which should
be given in the issue eld. Te placement of the issue eld in @article entiies is
similai to and oveiiides the month eld.
2.3.10 Pagination
When specifying a page oi page iange, eithei in the pages eld of an entiy oi in the
postnote aigument to a citation command, it is convenient to have biblatex add
piexes like p. oi pp. automatically and this is indeed what this package does by
default. Howevei, some woiks may use a dieient pagination scheme oi may not be
cited by page but iathei by veise oi line numbei. Tis is when the pagination and
bookpagination elds come into play. As an example, considei the following entiy
@InBook{key,
title = {...},
pagination = {verse},
booktitle = {...},
bookpagination = {page},
pages = {53--65},
...
Te bookpagination eld aects the foimauing of the pages and pagetotal elds
in the list of iefeiences. Since page is the default, this eld is omissible in the above
example. ln this case, the page iange will be foimaued as pp. 3. Suppose that,
when quoting fiom this woik, it is customaiy to use veise numbeis iathei than page
numbeis in citations. Tis is ieected by the pagination eld, which aects the
foimauing of the postnote aigument to any citation command. With a citation like
\cite[17]{key}, the postnote will be foimaued as v. 1. Seuing the pagination
eld to section would yield 1. See 3.12.3 foi fuithei usage instiuctions.
Te pagination and bookpagination elds aie key elds. Tis package will tiy to
use theii value as a localization key, piovided that the key is dened. Always use
the singulai foim of the key name in bib les, the pluial is foimed automatically.
Te keys page, column, line, verse, section, and paragraph aie piedened, with
page being the default. Te stiing none has a special meaning when used in a
pagination oi bookpagination eld. lt suppiesses the piex foi the iespective entiy.
lf theie aie no piedened localization keys foi the pagination scheme iequiied by a
ceitain entiy, you can simply add them. See the commands \NewBibliographyString
and \DefineBibliographyStrings in 3.8. You need to dene two localization
stiings foi each additional pagination scheme the singulai foim (whose localization
key coiiesponds to the value of the pagination eld) and the pluial foim (whose
localization key must be the singulai plus the leuei s). See the piedened keys in
4.9.2 foi examples.
2.4 Hints and Caveats
Tis section piovides some additional hints conceining the data inteiface of this
package. lt also addiesses some common pioblems.
2.4.1 Cross-referencing
2.4.1.1 The crossref field (BibTeX)
Te crossref eld is a convenient way to establish a paient/child ielation between
two associated entiies. Unfoitunately, the BibTeX piogiam uses symmetiic eld
3
mapping which ieduces the usefulness of the crossref eld signicantly. Te aie
two issues with symmetiic eld mapping, as seen in the following example
@Book{book,
author = {Author},
bookauthor = {Author},
title = {Booktitle},
booktitle = {Booktitle},
subtitle = {Booksubtitle},
booksubtitle = {Booksubtitle},
publisher = {Publisher},
location = {Location},
date = {1995},
}
@InBook{inbook,
crossref = {book},
title = {Title},
subtitle = {},
pages = {5--25},
}
As BibTeX is not capable of mapping the title eld of the paient to the booktitle
eld of the child, the title of the book needs to be given twice. Te style then needs
to ignoie the booktitle of the paient since it is only iequiied to woik aiound this
fundamental limitation of BibTeX. Te pioblem with the subtitle eld is the inveise
of that. Since the subtitle of the paient would become the subtitle, iathei than
in the booksubtitle, of the child, we need to add an empty subtitle eld to the
child entiy to pievent inheiitance of this eld. Of couise we also need to duplicate
the subtitle in the paient entiy to ensuie that it is available as booksubtitle in the
child entiy. ln shoit, using BibTeXs crossref eld tends to bloat database les and
coiiupt the data model.
2.4.1.2 The crossref field (Biber)
With Bibei, the limitations of BibTeXs crossref eld belong to the past. Bibei
featuies a highly customizable cioss-iefeiencing mechanism with exible data inhei-
itance iules. Duplicating ceitain elds in the paient entiy oi adding empty elds to
the child entiy is no longei iequiied. Entiies aie specied in a natuial way
@Book{book,
author = {Author},
title = {Booktitle},
subtitle = {Booksubtitle},
publisher = {Publisher},
location = {Location},
date = {1995},
}
@InBook{inbook,
crossref = {book},
title = {Title},
pages = {5--25},
}
3
Te title eld of the paient will be copied to the booktitle eld of the child,
the subtitle becomes the booksubtitle. Te author of the paient becomes the
bookauthor of the child and, since the child does not piovide an author eld, it is
also duplicated as the author of the child. Afei data inheiitance, the child entiy is
similai to this
author = {Author},
bookauthor = {Author},
title = {Title},
booktitle = {Booktitle},
booksubtitle = {Booksubtitle},
publisher = {Publisher},
location = {Location},
date = {1995},
pages = {5--25},
See appendix B foi a list of mapping iules set up by default. Note that all of this is
customizable. See 4..9 on how to conguie Bibeis cioss-iefeiencing mechanism.
See also 2.2.3.
2.4.1.3 The xref field
ln addition to the crossref eld, biblatex suppoits a simplied cioss-iefeiencing
mechanism based on the xref eld. Tis is useful if you want to establish a paient/
child ielation between two associated entiies but piefei to keep them independent
as fai as the data is conceined. Te xref eld dieis fiom crossref in that the child
entiy will not inheiit any data fiom the paient. lf the paient is iefeienced by a ceitain
numbei of child entiies, biblatex will automatically add it to the bibliogiaphy. Te
thieshold is contiolled by the mincrossrefs package option fiom 3.1.2.1. Te xref
eld is suppoited with all backends. See also 2.2.3.
2.4.2 Capacity Issues
2.4.2.1 BibTeX
A veneiable tool oiiginally developed in the 1980s, BibTeX uses static memoiy
allocation, much to the dismay of useis woiking with laige bibliogiaphical databases.
With a laige bib le which contains seveial hundied entiies, BibTeX is veiy likely to
iun out of memoiy. Te numbei of entiies it can cope with depends on the numbei
of elds dened by the BibTeX style (bst). Style les which dene a consideiable
numbei of elds, such as biblatex.bst, aie moie likely to tiiggei such pioblems.
Unfoitunately, tiaditional BibTeX does not output a cleai eiioi message when it iuns
out of memoiy but exposes a iathei ciyptical kind of faulty behavioi. Te waining
messages piinted in this case look like this
Warning--I'm ignoring Jones1995's extra "year" field
--line 422 of file huge.bib
Warning--I'm ignoring Jones1995's extra "volume" field
--line 423 of file huge.bib
Tese waining messages could indeed indicate that the entiy Jones1995 is faulty
because it includes two year and two volume elds. lf that is not the case and the bib
le is faiily laige, this is most likely a capacity issue. What makes these wainings so
3
Parameter Switch Capacity
Default --big --huge --wolfgang
max_cites --mcites 0 2000 000 00
max_ent_ints --mentints 3000 4000 000 00
max_ent_strs --mentstrs 3000 000 10000 10000
max_fields --mfields 120 30000 8000 12000
max_strings --mstrings 4000 10000 19000 30000
pool_size --mpool 30 130000 00000 0000
wiz_fn_space --mwizfuns 3000 000 10000 10000
hash_prime 423 801 1319 30011
hash_size 000 10000 19000 3000
Table 4: Capacity and Switches of bibtex8
confusing is that they aie not tied to a specic entiy. lf you iemove the allegedly
faulty entiy, a dieient one will tiiggei similai wainings. Tis is one ieason why
switching to bibtex8 oi Bibei is advisable.
2.4.2.2 bibtex8
bibtex8 is a veneiable tool as well and will also iun out of memoiy with its default
capacity. Switching fiom tiaditional BibTeX to bibtex8 is still an impiovement
because the capacity of the lauei may be incieased at iun-time via command-line
switches and it also piints unambiguous eiioi messages, foi example
17289 fields:
Sorry---you've exceeded BibTeX's total number of fields 17250
Table 4 gives an oveiview of the vaiious capacity paiameteis of bibtex8 and the
command-line switches used to inciease theii default values. Teie aie two ways to
inciease the capacity on the command-line. You may use a high-level switch like
--huge to select a dieient set of defaults oi low-level switches such as --mfields to
modify a single paiametei. Te ist thing you should always do is iun bibtex8 with
the --wolfgang switch. Dont even bothei tiying anything else. With a veiy laige
database, howevei, even that capacity may be too small. ln this case, you need to
iesoit to the low-level switches. Heie is an example of a set of switches which should
cope with a bib le containing about 1000 entiies
bibtex8 --wolfgang --mcites 30000 --mentints 30000 --mentstrs 40000
--mfields 250000 --mstrings 35000 --mpool 750000 --csfile csfile.csf
auxfile
When taking a closei look at table 4, you will notice that theie aie two paiameteis
which can not be modied diiectly, hash_prime and hash_size. lncieasing these
values is only possible with the high-level switches. Tat is why the above command
includes the --wolfgang switch in addition to the low-level switches. Tis situation is
veiy unfoitunate because the hash size eectively sets a cap on some othei paiameteis.
Foi example, max_strings can not be gieatei than hash_size. lf you hit this cap,
all you can do is iecompile bibtex8 with a laigei capacity. Also note that the
wiz_fn_space paiametei is not ielated to the bib le but to the memoiy iequiiements
of the bst le. biblatex.bst needs a value of about 000. Te value 10000 implicitly
used by the --wolfgang switch is ne.
38
2.4.2.3 Biber
Bibei eliminates all of the above limitations.
2.4.3 Sorting and Encoding Issues
2.4.3.1 BibTeX
Tiaditional BibTeX can only alphabetize Ascii chaiacteis coiiectly. lf the biblio-
giaphic data includes non-Ascii chaiacteis, they have to be given in Ascii notation.
Foi example, instead of typing a leuei like diiectly, you need to input it as \"a, us-
ing an accent command and the Ascii leuei. Tis Ascii notation needs to be wiapped
in a paii of cuily biaces. Tiaditional BibTeX will then ignoie the accent and use the
Ascii leuei foi soiting. Heie aie a few examples
author = {S{\'a}nchez, Jos{\'e}},
editor = {Ma{\ss}mann, R{\"u}diger},
translator = {Ferdi{\`e}re, Fr{\c{c}}ois},
title = {{\OE}uvres compl{\`e}tes},
Apait fiom it being inconvenient, theie aie two majoi issues with this convention.
One subtle pioblem is that the extia set of biaces suppiesses the keining on both
sides of all non-Ascii leueis. But ist and foiemost, simply ignoiing all accents may
not be the coiiect way to handle them. Foi example, in Danish, the leuei a is the
veiy last leuei of the alphabet, so it should be alphabetized afei z. BibTeX will
soit it like an a. Te ligatuie and the leuei o aie also soited afei z in this
language. Teie aie similai cases in Noiwegian. ln Swedish, the leuei is the veiy
last leuei of the alphabet and the leueis a and aie also alphabetized afei z,
iathei than like an a. Whats moie, even the soiting of Ascii chaiacteis is done
in a iathei peculiai way by tiaditional BibTeX because the soiting algoiithm uses
Ascii codepage oidei (0-9,A-Z,a-z). Tis implies that the loweicase leuei a would
end up afei the uppeicase Z, which is not even acceptable in the language BibTeX
was oiiginally designed foi. Te tiaditional bst les woik aiound this pioblem by
conveiting all stiings used foi soiting to loweicase, i. e., soiting is eectively case-
insensitive. See also 2.4.3.4.
2.4.3.2 bibtex8
Switching to bibtex8 will help in such cases. bibtex8 can soit case-sensitively
and it can handle 8-bit chaiacteis piopeily, piovided that you supply it with a
suitable csf le and give the --csfile switch on the command line. Tis also
implies that it is possible to apply language specic soiting iules to the bibliogiaphy.
Te biblatex package comes with csf les foi some common Westein Euiopean
encodings. bibtex8 also ships with a few csf les. Note that biblatex.bst can
not detect if it is iunning undei tiaditional BibTeX oi bibtex8, hence the bibtex8
package option. By default, soiting is case-insensitive since this is iequiied foi
tiaditional BibTeX. lf the bibtex8 package option is enabled, soiting is case-sensitive.
Since bibtex8 is backwaids compatible with tiaditional BibTeX, it is possible to
mix 8-bit input and Ascii notation. Tis is useful if the encoding used in the bib
le does not covei all iequiied chaiacteis. Teie aie also a few maiginal cases
in which the Ascii notation scheme would yield beuei soiting iesults. A typical
example is the ligatuie . bibtex8 will handle this ligatuie like a single chaiactei.
Depending on the soiting scheme dened in the csf le, it could be tieated like an o
39
oi alphabetized afei the leuei o but it can not be soited as oe. Te Ascii notation
(\oe) is equivalent to oe duiing soiting
title = {uvres compltes},
title = {{\OE}uvres compltes},
Sometimes even that is not sucient and fuithei tiicks aie iequiied. Foi example,
the leuei in Geiman is paiticulaily tiicky. Tis leuei is essentially alphabetized as
ss but afei ss. Te name Bamann would be alphabetized as follows Basmann/
Bassmann/Bamann/Bastmann. ln this case, the Ascii notation (\ss) would yield
slightly beuei soiting iesults than in conjunction with a csf le which tieats
like s
author = {Ba{\ss}mann, Paul},
To get it absolutely iight, howevei, you need to iesoit to the sortname eld
author = {Bamann, Paul},
sortname = {Basszzmann, Paul},
Not only BibTeX, LaTeX needs to know about the encoding as well. See 2.4.3.4 on
how to specify encodings.
2.4.3.3 Biber
Bibei handles Ascii, 8-bit encodings such as Latin 1, and u1i-8. lt featuies tiue
Unicode suppoit and is capable of ieencoding the bib data on the y in a iobust way.
Foi soiting, Bibei uses a Peil implementation of the Unicode Collation Algoiithm
(uc), as outlined in Unicode Technical Standaid -10.
12
Collation tailoiing based on
the Unicode Common Locale Data Repositoiy (ciuv) is also suppoited.
13
Te bouom
line is that Bibei will delivei soiting iesults fai supeiioi to both BibTeX and bibtex8
in many cases. lf you aie inteiested in the technical details, section 1.8 of Unicode
Technical Standaid -10 will piovide you with a veiy concise summaiy of why the
inadequateness of tiaditional BibTeX and even bibtex8 is of a veiy geneial natuie
and not limited to the lack of u1i-8 suppoit.
14
Suppoiting Unicode implies much moie than handling u1i-8 input. Unicode is
a complex standaid coveiing moie than its most well-known paits, the Unicode
chaiactei encoding and tianspoit encodings such as u1i-8. lt also standaidizes
aspects such as stiing collation, which is iequiied foi language-sensitive soiting. Foi
example, by using the Unicode Collation Algoiithm, Bibei can handle the chaiactei
mentioned as an example in 2.4.3.2 without any manual inteivention. All you
need to do to get localized soiting is specify the locale
\usepackage[backend=biber,sortlocale=de]{biblatex}
lf the language of the document coiiesponds to the main locale of the opeiating
system, sortlocale is omissible as Bibei will detect the locale seuings of the en-
viionment automatically. Note that this will also woik with 8-bit encodings such
as Latin 9, i. e., you can take advantage of Unicode-based soiting even though you
aie not using u1i-8 input. See 2.4.3.4 on how to specify input and data encodings
piopeily.
12
http://unicode.org/reports/tr10/
13
http://cldr.unicode.org/
14
http://unicode.org/reports/tr10/#Common_Misperceptions
40
2.4.3.4 Specifying Encodings
When using a non-Ascii encoding in the bib le, it is impoitant to undeistand what
biblatex can do foi you and what may iequiie manual inteivention. Te package
takes caie of the LaTeX side, i. e., it ensuies that the data impoited fiom the bbl
le is inteipieted coiiectly, piovided that the bibencoding package option is set
piopeily. Depending on the backend, the BibTeX side may demand auention, too.
When using bibtex8, you need to supply bibtex8 with a matching csf le as it
needs to know about the encoding of the bib le to be able to alphabetize the entiies
coiiectly. Unfoitunately, theie is no way foi biblatex to pass this infoimation to
bibtex8 automatically. Te only way is seuing its --csfile option on the command
line when iunning bibtex8. When using Bibei, all of this is handled automatically
and no fuithei steps, apait fiom seuing the bibencoding option in ceitain cases, aie
iequiied. Heie aie a few typical usage scenaiios along with the ielevant lines fiom
the document pieamble
Ascii notation in both the tex and the bib le with pdfTeX oi tiaditional TeX
(this will woik with BibTeX, bibtex8, and Bibei)
\usepackage{biblatex}
Latin 1 encoding (iso-889-1) in the tex le, Ascii notation in the bib le with
pdfTeX oi tiaditional TeX (BibTeX, bibtex8, Bibei)
\usepackage[latin1]{inputenc}
\usepackage[bibencoding=ascii]{biblatex}
Latin 9 encoding (iso-889-1) in both the tex and the bib le with pdfTeX oi
tiaditional TeX (bibtex8, Bibei)
\usepackage[latin9]{inputenc}
\usepackage[bibencoding=auto]{biblatex}
Since bibencoding=auto is the default seuing, the option is omissible. Te
following setup will have the same eect
\usepackage[latin9]{inputenc}
\usepackage{biblatex}
u1i-8 encoding in the tex le, Latin 1 (iso-889-1) in the bib le with pdfTeX
oi tiaditional TeX (bibtex8, Bibei)
\usepackage[utf8]{inputenc}
\usepackage[bibencoding=latin1]{biblatex}
Te same scenaiio with XeTeX oi LuaTeX in native u1i-8 mode
\usepackage[bibencoding=latin1]{biblatex}
Using u1i-8 encoding in both the tex and the bib le is not possible with
tiaditional BibTeX oi bibtex8 since neithei of them is capable of handling
u1i-8. Unless you switch to Bibei, you need to use an 8-bit encoding such as
Latin 1 (see above) oi iesoit to Ascii notation in this case
41
\usepackage[utf8]{inputenc}
\usepackage[bibencoding=ascii]{biblatex}
Te same scenaiio with XeTeX oi LuaTeX in native u1i-8 mode
\usepackage[bibencoding=ascii]{biblatex}
Bibei can handle Ascii notation, 8-bit encodings such as Latin 1, and u1i-8. lt is
also capable of ieencoding the bib data on the y (ieplacing the limited macio-level
ieencoding featuie of biblatex). Tis will happen automatically if iequiied, piovided
that you specify the encoding of the bib les piopeily. ln addition to the scenaiios
discussed above, Bibei can also handle the following cases
Tianspaient u1i-8 woikow, i. e., u1i-8 encoding in both the tex and the bib
le with pdfTeX oi tiaditional TeX
\usepackage[utf8]{inputenc}
\usepackage[bibencoding=auto]{biblatex}
Since bibencoding=auto is the default seuing, the option is omissible
\usepackage[utf8]{inputenc}
\usepackage{biblatex}
Te same scenaiio with XeTeX oi LuaTeX in native u1i-8 mode
\usepackage{biblatex}
lt is even possible to combine an 8-bit encoded tex le with u1i-8 encoding
in the bib le, piovided that all chaiacteis in the bib le aie also coveied by
the selected 8-bit encoding
\usepackage[latin1]{inputenc}
\usepackage[bibencoding=utf8]{biblatex}
Some woikaiounds may be iequiied when using tiaditional TeX oi pdfTeX with
u1i-8 encoding because inputencs utf8 module does not covei all of Unicode.
Roughly speaking, it only coveis the Westein Euiopean Unicode iange. When loading
inputenc with the utf8 option, biblatex will noimally instiuct Bibei to ieencode
the bib data to u1i-8. Tis may lead to inputenc eiiois if some of the chaiacteis in
the bib le aie outside the limited Unicode iange suppoited by inputenc.
lf you aie aected by this pioblem, tiy seuing the safeinputenc option
\usepackage[utf8]{inputenc}
\usepackage[safeinputenc]{biblatex}
lf this option is enabled, biblatex will ignoie inputencs utf8 option and use
Ascii. Bibei will then tiy to conveit the bib data to Ascii notation. Foi example,
it will conveit Sto \k{S}. Tis option is similai to seuing texencoding=ascii
but will only take eect in this specic scenaiio (inputenc/inputenx with
u1i-8). Tis woikaiound takes advantage of the fact that both Unicode and
the u1i-8 tianspoit encoding aie backwaids compatible with Ascii.
42
Tis solution may be acceptable as a woikaiound if the data in the bib le is
mostly Ascii anyway, with only a few stiings, such as some authois names, causing
pioblems. Howevei, keep in mind that it will not magically make tiaditional TeX oi
pdfTeX suppoit Unicode. lt may help if the occasional odd chaiactei is not suppoited
by inputenc, but may still be piocessed by TeX when using an accent command (e. g.,
\d{S} instead of ). lf you need full Unicode suppoit, howevei, switch to XeTeX oi
LuaTeX.
Typical eiiois when inputenc cannot handle a ceitain UTF-8 chaiactei aie
Package inputenc Error: Unicode char \u8: not set up for use with LaTeX
but also less obvious things like
! Argument of \UTFviii@three@octets has an extra }.
2.4.4 Editors and Compiler Scripts
Tis section is in need of an update to match the new sciipt inteiface used by
biblatex. Foi the time being, see the documentation of the logreq package
1
and
the Biblatex Developeis Wiki foi a diaf spec.
1
3 User Guide
Tis pait of the manual documents the usei inteiface of the biblatex package. Te
usei guide coveis eveiything you need to know in oidei to use biblatex with the
default styles that come with this package. You should iead the usei guide ist in
any case. lf you want to wiite youi own citation and/oi bibliogiaphy styles, continue
with the authoi guide afeiwaids.
3.1 Package Options
All package options aie given in key=value notation. Te value true is omissible
with all boolean keys. Foi example, giving sortcites without a value is equivalent
to sortcites=true.
3.1.1 Load-time Options
Te following options must be used as biblatex is loaded, i. e., in the optional
aigument to \usepackage.
backend=bibtex, bibtex8, bibtexu, biber default biber
Species the database backend. Te following backends aie suppoited
biber Bibei, the default backend of biblatex, suppoits Ascii, 8-bit encod-
ings, u1i-8, on-the-y ieencoding, locale-specic soiting, and many
othei featuies. Locale-specic soiting, case-sensitive soiting, and up-
pei/loweicase piecedence aie contiolled by the options sortlocale,
sortcase, and sortupper, iespectively.
bibtex Legacy BibTeX. Tiaditional BibTeX suppoits Ascii encoding only. Soit-
ing is always case-insensitive.
1
http://www.ctan.org/tex-archive/macros/latex/contrib/logreq/
1
http://sourceforge.net/apps/mediawiki/biblatex/index.php?title=Workflow_Automation
43
bibtex8 bibtex8, the 8-bit implementation of BibTeX, suppoits Ascii and 8-bit
encodings such as Latin 1. Depending on the csf le, case-sensitive
soiting may be suppoited.
bibtexu bibtexu is a Unicode-enabled implementation of BibTeX which sup-
poits u1i-8. Note that bibtexu is not actively suppoited by biblatex
and has not been tested as backend in any way. Bibei is the iecom-
mended backend.
See 2.4.3 foi fuithei instiuctions conceining the encoding of bib les. Tis option
is only available at load-time as inteinally, the code chooses completely dieient
paths depending on the backend. Tis means that you cant set the backend with,
foi example, \ExecuteBibliographyOptions in the pieamble.
style=le default numeric
Loads the bibliogiaphy style file.bbx and the citation style file.cbx. See 3.3 foi
an oveiview of the standaid styles.
bibstyle=le default numeric
Loads the bibliogiaphy style file.bbx. See 3.3.2 foi an oveiview of the standaid
bibliogiaphy styles.
citestyle=le default numeric
Loads the citation style file.cbx. See 3.3.1 foi an oveiview of the standaid citation
styles.
natbib=true, false default false
Loads compatibility module which piovides aliases foi the citation commands of the
natbib package. See 3..9 foi details.
mcite=true, false default false
Loads a citation module which piovides mcite/mciteplus-like citation commands.
See 3..10 foi details.
3.1.2 Preamble Options
3.1.2.1 General
Te following options may be used in the optional aigument to \usepackage as well
as in the conguiation le and the document pieamble. Te default value listed
to the iight is the package default. Note that bibliogiaphy and citation styles may
modify the default seuing at load time, see 3.3 foi details.
sorting=nty, nyt, nyvt, anyt, anyvt, ynt, ydnt, none, debug, name default nty
Te soiting oidei of the bibliogiaphy. Unless stated otheiwise, the entiies aie soited
in ascending oidei. Te following choices aie available by default
nty Soit by name, title, yeai.
nyt Soit by name, yeai, title.
nyvt Soit by name, yeai, volume, title.
anyt Soit by alphabetic label, name, yeai, title.
44
anyvt Soit by alphabetic label, name, yeai, volume, title.
ynt Soit by yeai, name, title.
ydnt Soit by yeai (descending), name, title.
none Do not soit at all. All entiies aie piocessed in citation oidei.
debug Soit by entiy key. Tis is intended foi debugging only.
name Use name, as dened with \DeclareSortingScheme ( 4..) Biber only
Using any of the alphabetic soiting schemes only makes sense in conjunction
with a bibliogiaphy style which piints the coiiesponding labels. Note that some
bibliogiaphy styles initialize this package option to a value dieient fiomthe package
default (nty). See 3.3.2 foi details. Please iefei to 3. foi an in-depth explanation
of the above soiting options as well as the elds consideied in the soiting piocess.
See also 4.. on how to adapt the piedened schemes oi dene new ones.
sortcase=true, false default true
Whethei oi not to soit the bibliogiaphy and the list of shoithands case-sensitively.
Note that case-sensitive soiting is only suppoited by the bibtex8 and Bibei backends.
Soiting is always case-insensitive with legacy BibTeX. See the backend option foi
details.
sortupper=true, false default true Biber only
Tis option coiiesponds to Bibeis --sortupper command-line option. lt has no
eect with any othei backend. lf enabled, the bibliogiaphy is soited in uppeicase
befoie loweicase oidei. Disabling this option means loweicase befoie uppeicase
oidei.
sortlocale=locale Biber only
Tis option coiiesponds to Bibeis --sortlocale command-line option. lt has no
eect with any othei backend. lf set, it species the locale to be used foi soiting.
While biblatex piovides no default value foi this option, Bibei will inheiit the locale
seuings fiom the enviionment if no locale has been specied explicitly.
sortlos=bib, los default los BibTeX only
Te soiting oidei of the list of shoithands. Te following choices aie available
bib Soit accoiding to the soiting oidei of the bibliogiaphy.
los Soit by shoithand.
Te soiting oidei of shoithands with Bibei is moie exible and is set with the sorting
option to the \printshorthands command.
related=true, false default true Biber only
Whethei oi not to use infoimation fiom ielated entiies oi not. See 3.4.
sortcites=true, false default false
Whethei oi not to soit citations if multiple entiy keys aie passed to a citation
command. lf this option is enabled, citations aie soited accoiding to the global
soiting oidei of the bibliogiaphy. Tis featuie woiks with all citation styles.
4
maxnames=integer default 3
A thieshold aecting all lists of names (author, editor, etc.). lf a list exceeds this
thieshold, i. e., if it holds moie than integer names, it is automatically tiuncated
accoiding to the seuing of the minnames option. maxnames is the mastei option which
sets both maxbibnames and maxcitenames.
minnames=integer default 1
A limit aecting all lists of names (author, editor, etc.). lf a list holds moie
than maxnames names, it is automatically tiuncated to minnames names. Te
minnames value must be smallei than oi equal to maxnames. minnames is the
mastei option which sets both minbibnames and mincitenames.
maxbibnames=integer default maxnames
Similai to maxnames but aects only the bibliogiaphy.
minbibnames=integer default minnames
Similai to minnames but aects only the bibliogiaphy.
maxcitenames=integer default maxnames
Similai to maxnames but aects only the citations in the document body.
mincitenames=integer default minnames
Similai to minnames but aects only the citations in the document body.
maxitems=integer default 3
Similai to maxnames, but aecting all liteial lists (publisher, location, etc.).
minitems=integer default 1
Similai to minnames, but aecting all liteial lists (publisher, location, etc.).
autocite=plain, inline, footnote, superscript, ...
Tis option contiols the behavioi of the \autocite command discussed in 3..4.
Te plain option makes \autocite behave like \cite, inline makes it behave like
\parencite, footnote makes it behave like \footcite, and superscript makes it
behave like \supercite. Te options plain, inline, and footnote aie always avail-
able, the superscript option is only piovided by the numeiic citation styles which
come with this package. Te citation style may also dene additional options. Te
default seuing of this option depends on the selected citation style, see 3.3.1.
autopunct=true, false default true
Tis option contiols whethei the citation commands scan ahead foi punctuation
maiks. See 3. and \DeclareAutoPunctuation in 4.. foi details.
language=auto, language default auto
Tis option contiols multilingual suppoit. When set to auto, biblatex will tiy to get
the main document language fiom the babel/polyglossia package (and fall back to
English if babel/polyglossia is not available). Tis is the default behavioi. lt is also
possible to select the document language manually. ln this case, the autolang option
below will have no eect. Please iefei to table 2 foi a list of suppoited languages
and the coiiesponding identieis.
4
clearlang=true, false default true
lf this option is enabled, biblatex will automatically cleai the language eld of all
entiies whose language matches the babel/polyglossia language of the document
(oi the language specied explicitly with the language option) in oidei to omit
iedundant language specications. Te language mappings iequiied by this featuie
aie piovided by the \DeclareRedundantLanguages command fiom 4.9.1.
autolang=none, hyphen, other, other*, langname default none
Tis option contiols which babel language enviionment
1
is used if the
babel/polyglossia package is loaded and a bibliogiaphy entiy includes a langid
eld (see 2.2.3). Note that biblatex automatically adjusts to the main document
language if babel/polyglossia is loaded. ln multilingual documents, it will also
continually adjust to the cuiient language as fai as citations and the default language
of the bibliogiaphy is conceined. Tis option is foi switching languages on a pei-
entiy basis within the bibliogiaphy. Te possible choices aie
none Disable this featuie, i. e., do not use any language enviionment at all.
hyphen Enclose the entiy in a hyphenrules enviionment. Tis will load hy-
phenation paueins foi the language specied in the hyphenation eld
of the entiy, if available.
other Enclose the entiy in an otherlanguage enviionment. Tis will load
hyphenation paueins foi the specied language, enable all extia de-
nitions which babel/polyglossia and biblatex piovide foi the ie-
spective language, and tianslate key teims such as editoi and vol-
ume. Te extia denitions include localizations of the date foimat, of
oidinals, and similai things.
other* Enclose the entiy in an otherlanguage* enviionment. Please note
that biblatex tieats otherlanguage* like otherlanguage but othei
packages may make a distinction in this case.
langname polyglossia only. Enclose the entiy in a languagename enviion-
ment. Te benet of this option value foi polyglossia useis is that it
takes note of the langidopts eld so that you can add pei-language
options to an entiy (like selecting a language vaiiant). When using
babel, this option does the same as the other option value.
block=none, space, par, nbpar, ragged default none
Tis option contiols the extia spacing between blocks, i. e., laigei segments of a
bibliogiaphy entiy. Te possible choices aie
none Do not add anything at all.
space lnseit additional hoiizontal space between blocks. Tis is similai to
the default behavioi of the standaid LaTeX document classes.
par Stait a new paiagiaph foi eveiy block. Tis is similai to the openbib
option of the standaid LaTeX document classes.
nbpar Similai to the par option, but disallows page bieaks at block bound-
aiies and within an entiy.
1
polyglossia undeistands the babel language enviionments too and so this option contiols both the
babel and polyglossia language enviionments.
4
ragged lnseits a small negative penalty to encouiage line bieaks at block
boundaiies and sets the bibliogiaphy iagged iight.
Te \newblockpunct command may also be iedened diiectly to achieve dieient
iesults, see 3.9.1. Also see 4..1 foi additional infoimation.
notetype=foot+end, footonly, endonly default foot+end
Tis option contiols the behavioi of \mkbibfootnote, \mkbibendnote, and similai
wiappeis fiom 4.10.4. Te possible choices aie
foot+end Suppoit both footnotes and endnotes, i. e., \mkbibfootnote will gen-
eiate footnotes and \mkbibendnote will geneiate endnotes.
footonly Foice footnotes, i. e., make \mkbibendnote geneiate footnotes.
endonly Foice endnotes, i. e., make \mkbibfootnote geneiate endnotes.
hyperref=true, false, auto default auto
Whethei oi not to tiansfoim citations and back iefeiences into clickable hypeilinks.
Tis featuie iequiies the hyperref package. lt also iequiies suppoit by the selected
citation style. All standaid styles which ship with this package suppoit hypeilinks.
hyperref=auto automatically detects if the hyperref package has been loaded.
backref=true, false default false
Whethei oi not to piint back iefeiences in the bibliogiaphy. Te back iefeiences aie a
list of page numbeis indicating the pages on which the iespective bibliogiaphy entiy
is cited. lf theie aie refsection enviionments in the document, the back iefeiences
aie local to the iefeience sections. Stiictly speaking, this option only contiols whethei
the biblatex package collects the data iequiied to piint such iefeiences. Tis featuie
still has to be suppoited by the selected bibliogiaphy style. All standaid styles which
ship with this package do so.
backrefstyle=none, three, two, two+, three+, all+ default three
Tis option contiols how sequences of consecutive pages in the list of back iefeiences
aie foimaued. Te following styles aie available
none Disable this featuie, i. e., do not compiess the page list.
three Compiess any sequence of thiee oi moie consecutive pages to a iange,
e. g., the list 1, 2, 11, 12, 13, 21, 22, 23, 24 is compiessed to 1, 2, 1113,
2124.
two Compiess any sequence of two oi moie consecutive pages to a iange,
e. g., the above list is compiessed to 12, 1113, 2124.
two+ Similai in concept to two but a sequence of exactly two consecutive
pages is piinted using the staiting page and the localization stiing
sequens, e. g., the above list is compiessed to 1 sq., 1113, 2124.
three+ Similai in concept to two+ but a sequence of exactly thiee consecutive
pages is piinted using the staiting page and the localization stiing
sequentes, e. g., the above list is compiessed to 1 sq., 11 sqq., 2124.
all+ Similai in concept to three+ but any sequence of consecutive pages
is piinted as an open-ended iange, e. g., the above list is compiessed
to 1 sq., 11 sqq., 21 sqq..
48
All styles suppoit both Aiabic and Roman numeials. ln oidei to avoid potentially
ambiguous lists, dieient sets of numeials will not be mixed when geneiating ianges,
e. g., the list iii, iv, v, , , 8 is compiessed to iiiv, 8.
backrefsetstyle=setonly, memonly, setormem, setandmem, memandset,
setplusmem
default setonly
Tis option contiols how back iefeiences to @set entiies and theii membeis aie
handled. Te following options aie available
setonly All back iefeiences aie added to the @set entiy. Te pageref lists of
set membeis iemain blank.
memonly Refeiences to set membeis aie added to the iespective membei. Ref-
eiences to the @set entiy aie added to all membeis. Te pageref list
of the @set entiy iemains blank.
setormem Refeiences to the @set entiy aie added to the @set entiy. Refeiences
to set membeis aie added to the iespective membei.
setandmem Refeiences to the @set entiy aie added to the @set entiy. Refeiences
to set membeis aie added to the iespective membei and to the @set
entiy.
memandset Refeiences to the @set entiy aie added to the @set entiy and to all
membeis. Refeiences to set membeis aie added to the iespective
membei.
setplusmem Refeiences to the @set entiy aie added to the @set entiy and to all
membeis. Refeiences to set membeis aie added to the iespective
membei and to the @set entiy.
indexing=true, false, cite, bib default false
Tis option contiols indexing in citations and in the bibliogiaphy. Moie piecisely,
it aects the \ifciteindex and \ifbibindex commands fiom 4..2. Te option is
seuable on a global, a pei-type, oi on a pei-entiy basis. Te possible choices aie
true Enable indexing globally.
false Disable indexing globally.
cite Enable indexing in citations only.
bib Enable indexing in the bibliogiaphy only.
Tis featuie iequiies suppoit by the selected citation style. All standaid styles
which ship with this package suppoit indexing of both citations and entiies in the
bibliogiaphy. Note that you still need to enable indexing globally with \makeindex
to get an index.
loadfiles=true, false default false
Tis option contiols whethei exteinal les iequested by way of the \printfile
command aie loaded. See also 3.11.8 and \printfile in 4.4.1. Note that this
featuie is disabled by default foi peifoimance ieasons.
refsection=none, part, chapter, section, subsection default none
Tis option automatically staits a new iefeience section at a document division such
as a chaptei oi a section. Tis is equivalent to the \newrefsection command, see
3..4 foi details. Te following choice of document divisions is available
49
none Disable this featuie.
part Stait a iefeience section at eveiy \part command.
chapter Stait a iefeience section at eveiy \chapter command.
section Stait a iefeience section at eveiy \section command.
subsection Stait a iefeience section at eveiy \subsection command.
Te staiied veisions if these commands will not stait a new iefeience section.
refsegment=none, part, chapter, section, subsection default none
Similai to the refsection option but staits a new iefeience segment. Tis is equiv-
alent to the \newrefsegment command, see 3.. foi details. When using both
options, note that you can only apply this option to a lowei-level document division
than the one refsection is applied to and that nested iefeience segments will be
local to the enclosing iefeience section.
citereset=none, part, chapter, section, subsection default none
Tis option automatically executes the \citereset command fiom 3..8 at a doc-
ument division such as a chaptei oi a section. Te following choice of document
divisions is available
none Disable this featuie.
part Peifoim a ieset at eveiy \part command.
chapter Peifoim a ieset at eveiy \chapter command.
section Peifoim a ieset at eveiy \section command.
subsection Peifoim a ieset at eveiy \subsection command.
Te staiied veisions if these commands will not tiiggei a ieset.
abbreviate=true, false default true
Whethei oi not to use long oi abbieviated stiings in citations and in the bibliogiaphy.
Tis option aects the localization modules. lf this option is enabled, key teims such
as editoi aie abbieviated. lf not, they aie wiiuen out.
date=year, short, long, terse, comp, iso8601 default comp
Tis option contiols the basic foimat of piinted date specications. Te following
choices aie available
year Use only yeais, foi example
2010
20102012
short Use the shoit foimat with veibose ianges, foi example
01/01/2010
21/01/201030/01/2010
01/21/201001/30/2010
long Use the long foimat with veibose ianges, foi example
1st Januaiy 2010
21st Januaiy 201030th Januaiy 2010
Januaiy 21, 2010Januaiy 30, 2010
0
terse Use the shoit foimat with compact ianges, foi example
2130/01/2010
01/2101/30/2010
comp Use the long foimat with compact ianges, foi example
21st30th Januaiy 2010
Januaiy 2130, 2010
iso8601 Use extended iso801 foimat (yyyy-mm-dd), foi example
2010-01-01
2010-01-21/2010-01-30
As seen in the above examples, the actual date foimat is language specic. Note
that the month name in all long foimats is iesponsive to the abbreviate package
option. Te leading zeios in all shoit foimats may be contiolled sepaiately with the
datezeros package option.
datelabel=year, short, long, terse, comp, iso8601 default year
Similai to the date option but contiols the foimat of the date eld selected with
\DeclareLabeldate.
origdate=year, short, long, terse, comp, iso8601 default comp
Similai to the date option but contiols the foimat of the origdate.
eventdate=year, short, long, terse, comp, iso8601 default comp
Similai to the date option but contiols the foimat of the eventdate.
urldate=year, short, long, terse, comp, iso8601 default short
Similai to the date option but contiols the foimat of the urldate.
alldates=year, short, long, terse, comp, iso8601
Sets all of the above date options to the same value.
datezeros=true, false default true
Tis option contiols whethei short and terse dates aie piinted with leading zeios.
dateabbrev=true, false default true
Tis option contiols whethei long and comp dates aie piinted with long oi abbieviated
month names. Te option is similai to the geneiic abbreviate option but specic to
the date foimauing.
defernumbers=true, false default false
ln contiast to standaid LaTeX, the numeiic labels geneiated by this package aie
noimally assigned to the full list of iefeiences at the beginning of the document
body. lf this option is enabled, numeiic labels (i. e., the labelnumber eld discussed in
4.2.4) aie assigned the ist time an entiy is piinted in any bibliogiaphy. See 3.12.
foi fuithei explanation. Tis option iequiies two LaTeX iuns afei the data has been
expoited to the bbl le by the backend (in addition to any othei iuns iequiied by
page bieaks changing etc.). An impoitant thing to note is that if you change the
1
value of this option in youi document (oi the value of options which depend on this
like some of the options to the \printbibliography macio, see 3..2), then it is
likely that you will need to delete youi cuiient aux le and ie-iun LaTeX to obtain
the coiiect numbeiing. See 4.1.
punctfont=true, false default false
Tis option enables an alteinative mechanism foi dealing with unit punctuation
afei a eld piinted in a dieient font (foi example, a title piinted in italics). See
\setpunctfont in 4..1 foi details.
arxiv=abs, ps, pdf, format default abs
Path selectoi foi aiXiv links. lf hypeilink suppoit is enabled, this option contiols
which veision of the document the aiXiv eprint links will point to. Te following
choices aie available
abs Link to the abstiact page.
ps Link to the PostSciipt veision.
pdf Link to the vui veision.
format Link to the foimat selectoi page.
See 3.11. foi details on suppoit foi aiXiv and electionic publishing infoimation.
texencoding=auto, encoding default auto
Species the encoding of the tex le. Tis option aects the data tiansfeiied
fiom the backend to biblatex. When using Bibei, this coiiesponds to Bibeis
--output_encoding option. Te following choices aie available
auto Tiy to auto-detect the input encoding. lf the inputenc/inputenx/
luainputenc package is available, biblatex will get the main encod-
ing fiom that package. lf not, it assumes u1i-8 encoding if XeTeX oi
LuaTeX has been detected, and Ascii otheiwise.
encoding Species the encoding explicitly. Tis is foi odd cases in which
auto-detection fails oi you want to foice a ceitain encoding foi some
ieason.
Note that seuing texencoding=encoding will also aect the bibencoding option if
bibencoding=auto.
bibencoding=auto, encoding default auto
Species the encoding of the bib les. When using Bibei, this coiiesponds to Bibeis
--output_encoding option. Te following choices aie available
auto Use this option if the woikow is tianspaient, i. e., if the encoding of
the bib le is identical to the encoding of the tex le.
encoding lf the encoding of the bib le is dieient fiom the one of the tex le,
you need to specify it explicitly.
By default, biblatex assumes that the tex le and the bib le use the same encoding
(bibencoding=auto). Note that some backends only suppoit a limited numbei of
encodings. See 2.4.3 foi fuithei instiuctions.
2
safeinputenc=true, false default false Biber only
lf this option is enabled, biblatex will automatically foice texencoding=ascii if the
inputenc/inputenx package has been loaded and the input encoding is u1i-8, i. e., it
will ignoie any macio-based u1i-8 suppoit and use Ascii only. Bibei will then tiy to
conveit any non-Ascii data in the bib le to Ascii. Foi example, it will conveit to
\d{S}. See 2.4.3.4 foi an explanation of why you may want to enable this option.
bibwarn=true, false default true
By default, biblatex will iepoit wainings issued by the backend conceining the data
in the bib le as LaTeX wainings. Use this option to suppiess such wainings.
mincrossrefs=integer default 2
Sets the minimumnumbei of cioss iefeiences to integer when iequesting a backend
iun.
18
Note that when using the BibTeX backend, this package option meiely aects
the foimat of ceitain iequests wiiuen to the tiansciipt le. lt will not have any
eect if the editoi oi compilei sciipt launching BibTeX does not include dedicated
biblatex suppoit oi if BibTeX is manually launched fiom the command-line.
19
See
2.4.4 foi details. Tis option also aects the handling of the xref eld. See the eld
desciiption in 2.2.3 as well as 2.4.1 foi details.
3.1.2.2 Style-specific
Te following options aie piovided by the standaid styles (as opposed to the coie
package). Technically, they aie pieamble options like those in 3.1.2.1.
isbn=true, false default true
Tis option contiols whethei the elds isbn/issn/isrn aie piinted.
url=true, false default true
Tis option contiols whethei the url eld and the access date is piinted. Te option
only aects entiy types whose url infoimation is optional. Te url eld of @online
entiies is always piinted.
doi=true, false default true
Tis option contiols whethei the eld doi is piinted.
eprint=true, false default true
Tis option contiols whethei eprint infoimation is piinted.
18
lf an entiy which is cioss-iefeienced by othei entiies in the bib le hits this thieshold, it is included
in the bibliogiaphy even if it has not been cited explicitly. Tis is a standaid featuie of the BibTeX
(also Bibei) and not specic to biblatex. See the desciiption of the crossref eld in 2.2.3 foi
fuithei infoimation.
19
As of this wiiting, no LaTeX editois oi compilei sciipts with dedicated biblatex suppoit aie known,
but this will hopefully change in the futuie.
3
3.1.2.3 Internal
Te default seuings of the following pieamble options aie contiolled by bibliogiaphy
and citation styles. Apait fiom the pagetracker and firstinits options, which you
may want to adapt, theie is noimally no need to set them explicitly.
pagetracker=true, false, page, spread default false
Tis option contiols the page tiackei which is iequiied by the \ifsamepage and
\iffirstonpage tests fiom 4..2. Te possible choices aie
true Enable the tiackei in automatic mode. Tis is like spread if LaTeX is
in twoside mode, and like page otheiwise.
false Disable the tiackei.
page Enable the tiackei in page mode. ln this mode, tiacking woiks on a
pei-page basis.
spread Enable the tiackei in spiead mode. ln this mode, tiacking woiks on a
pei-spiead (double page) basis.
Note that this tiackei is disabled in all oats, see 4.11..
citecounter=true, false, context default false
Tis option contiols the citation countei which is iequiied by citecounter fiom
4..2. Te possible choices aie
true Enable the citation countei in global mode.
false Disable the citation countei.
context Enable the citation countei in context-sensitive mode. ln this mode,
citations in footnotes and in the body text aie counted independently.
citetracker=true, false, context, strict, constrict default false
Tis option contiols the citation tiackei which is iequiied by the \ifciteseen and
\ifentryseen tests fiom 4..2. Te possible choices aie
true Enable the tiackei in global mode.
false Disable the tiackei.
context Enable the tiackei in context-sensitive mode. ln this mode, citations
in footnotes and in the body text aie tiacked independently.
strict Enable the tiackei in stiict mode. ln this mode, an item is only con-
sideied by the tiackei if it appeaied in a stand-alone citation, i. e., if a
single entiy key was passed to the citation command.
constrict Tis mode combines the featuies of context and strict.
Note that this tiackei is disabled in all oats, see 4.11..
ibidtracker=true, false, context, strict, constrict default false
Tis option contiols the ibidem tiackei which is iequiied by the \ifciteibid test
fiom 4..2. Te possible choices aie
true Enable the tiackei in global mode.
false Disable the tiackei.
4
context Enable the tiackei in context-sensitive mode. ln this mode, citations
in footnotes and in the body text aie tiacked sepaiately.
strict Enable the tiackei in stiict mode. ln this mode, potentially ambiguous
iefeiences aie suppiessed. A iefeience is consideied ambiguous if
eithei the cuiient citation (the one including the ibidem) oi the
pievious citation (the one the ibidem iefeis to) consists of a list of
iefeiences.
20
constrict Tis mode combines the featuies of context and strict. lt also keeps
tiack of footnote numbeis and detects potentially ambiguous ief-
eiences in footnotes in a stiictei way than the strict option. ln
addition to the conditions imposed by the strict option, a iefeience
in a footnote will only be consideied as unambiguous if the cuiient
citation and the pievious citation aie given in the same footnote oi in
immediately consecutive footnotes.
Note that this tiackei is disabled in all oats, see 4.11..
opcittracker=true, false, context, strict, constrict default false
Tis option contiols the opcit tiackei which is iequiied by the \ifopcit test fiom
4..2. Tis featuie is similai to the ibidem tiackei, except that it tiacks citations on
a pei-authoi/editoi basis, i. e., \ifopcit will yield true if the cited item is the same
as the last one by this authoi/editoi. Te possible choices aie
true Enable the tiackei in global mode.
false Disable the tiackei.
context Enable the tiackei in context-sensitive mode. ln this mode, citations
in footnotes and in the body text aie tiacked sepaiately.
strict Enable the tiackei in stiict mode. ln this mode, potentially ambiguous
iefeiences aie suppiessed. See ibidtracker=strict foi details.
constrict Tis mode combines the featuies of context and strict. See the
explanation of ibidtracker=constrict foi details.
Note that this tiackei is disabled in all oats, see 4.11..
loccittracker=true, false, context, strict, constrict default false
Tis option contiols the loccit tiackei which is iequiied by the \ifloccit test fiom
4..2. Tis featuie is similai to the opcit tiackei except that it also checks whethei
the postnote aiguments match, i. e., \ifloccit will yield true if the citation iefeis
to the same page cited befoie. Te possible choices aie
true Enable the tiackei in global mode.
false Disable the tiackei.
context Enable the tiackei in context-sensitive mode. ln this mode, citations
in footnotes and in the body text aie tiacked sepaiately.
20
Foi example, suppose the initial citation is Jones, Title, Williams, Title and the following one
ibidem. Fiom a technical point of view, it is faiily cleai that the ibidem iefeis to Williams
because this is the last iefeience piocessed by the pievious citation command. To a human ieadei,
howevei, this may not be obvious because the ibidem may also iefei to both titles. Te stiict mode
avoids such ambiguous iefeiences.

strict Enable the tiackei in stiict mode. ln this mode, potentially ambiguous
iefeiences aie suppiessed. See ibidtracker=strict foi details. ln
addition to that, this mode also checks if the postnote aigument is
numeiical (based on \ifnumerals fiom 4..2).
constrict Tis mode combines the featuies of context and strict. See the
explanation of ibidtracker=constrict foi details. ln addition to
that, this mode also checks if the postnote aigument is numeiical
(based on \ifnumerals fiom 4..2).
Note that this tiackei is disabled in all oats, see 4.11..
idemtracker=true, false, context, strict, constrict default false
Tis option contiols the idem tiackei which is iequiied by the \ifciteidem test
fiom 4..2. Te possible choices aie
true Enable the tiackei in global mode.
false Disable the tiackei.
context Enable the tiackei in context-sensitive mode. ln this mode, citations
in footnotes and in the body text aie tiacked sepaiately.
strict Tis is an alias foi true, piovided only foi consistency with the othei
tiackeis. Since idem ieplacements do not get ambiguous in the same
way as ibidem oi op. cit., the strict tiacking mode does not apply
to them.
constrict Tis mode is similai to context with one additional condition a
iefeience in a footnote will only be consideied as unambiguous if
the cuiient citation and the pievious citation aie given in the same
footnote oi in immediately consecutive footnotes.
Note that this tiackei is disabled in all oats, see 4.11..
parentracker=true, false default true
Tis option contiols the paienthesis tiackei which keeps tiack of nested paien-
theses and biackets. Tis infoimation is used by \parentext and \brackettext
fiom 3.., \mkbibparens and \mkbibbrackets fiom 4.10.4 and \bibopenparen,
\bibcloseparen, \bibopenbracket, \bibclosebracket (also 4.10.4).
maxparens=integer default 3
Te maximum peimiued nesting level of paientheses and biackets. lf paientheses
and biackets aie nested deepei than this value, biblatex will issue eiiois.
firstinits=true, false default false
When enabled, all ist and middle names will be iendeied as initials. Te option will
aect the \iffirstinits test fiom 4..2.
sortfirstinits=true, false default false
When enabled, soiting names will only use theii initials. Tis is sepaiate fiom Biber only
firstinits in case useis want to show only inits but soit on full names, foi example.

terseinits=true, false default false


Tis option contiols the foimat of initials geneiated by biblatex. lf enabled, initials
aie iendeied using a teise foimat without dots and spaces. Foi example, the initials
of Donald Eivin Knuth would be iendeied as D. E. by default, and as DE if this
option is enabled. Te option will aect the \ifterseinits test fiom 4..2. With Biber only
Bibei, the option woiks by iedening some macios which contiol the foimat of
initials. See 3.12.4 foi details.
labelalpha=true, false default false
Whethei oi not to piovide the special elds labelalpha and extraalpha, see 4.2.4
foi details. With Bibei, this option is also seuable on a pei-type basis. See also Biber only
maxalphanames and minalphanames. Table summaiises the vaiious extra* disam-
biguation counteis and what they tiack.
maxalphanames=integer default 3 Biber only
Similai to the maxnames option but customizes the foimat of the labelalpha eld.
minalphanames=integer default 1 Biber only
Similai to the minnames option but customizes the foimat of the labelalpha eld.
labelnumber=true, false default false
Whethei oi not to piovide the special eld labelnumber, see 4.2.4 foi details. Tis
option is also seuable on a pei-type basis.
labeltitle=true, false default false Biber only
Whethei oi not to piovide the special eld extratitle, see 4.2.4 foi details. Note
that the special eld labeltitle is always piovided and this option contiols iathei
whethei labeltitle is used to geneiate extratitle infoimation. Tis option is also
seuable on a pei-type basis. Table summaiises the vaiious extra* disambiguation
counteis and what they tiack.
labeltitleyear=true, false default false Biber only
Whethei oi not to piovide the special eld extratitleyear, see 4.2.4 foi details.
Note that the special eld labeltitle is always piovided and this option contiols
iathei whethei labeltitle is used to geneiate extratitleyear infoimation. Tis
option is also seuable on a pei-type basis. Table summaiises the vaiious extra*
disambiguation counteis and what they tiack.
labeldate=true, false default false
Whethei oi not to piovide the special elds labelyear, labelmonth, labelday and
extrayear, see 4.2.4 foi details. With Bibei, this option is also seuable on a pei-type Biber only
basis. Table summaiises the vaiious extra* disambiguation counteis and what
they tiack.
singletitle=true, false default false
Whethei oi not to piovide the data iequiied by the \ifsingletitle test, see 4..2
foi details. With Bibei, this option is also seuable on a pei-type basis. Biber only

Option Enabled field Enabled counter Counter tracks


labelalpha labelalpha extraalpha label
labeldate labelyear extrayear labelname+labelyear
labeltitle --- extratitle labelname+labeltitle
labeltitleyear --- extratitleyear labeltitle+labelyear
Table 5: Disambiguation counters
uniquename=true, false, init, full, allinit, allfull, mininit, minfull default false Biber only
Whethei oi not to update the uniquename countei, see 4..2 foi details. Tis featuie
will disambiguate individual names in the labelname list. Tis option is also seuable
on a pei-type basis. Te possible choices aie
true An alias foi full.
false Disable this featuie.
init Disambiguate names using initials only.
full Disambiguate names using initials oi full names, as iequiied.
allinit Similai to init but disambiguates all names in the labelname list,
beyond maxnames/minnames/uniquelist.
allfull Similai to full but disambiguates all names in the labelname list,
beyond maxnames/minnames/uniquelist.
mininit A vaiiant of init which only disambiguates names in lists with iden-
tical last names.
minfull A vaiiant of full which only disambiguates names in lists with iden-
tical last names.
Note that the uniquename option will also aect uniquelist, the \ifsingletitle
test, and the extrayear eld. See 4.11.4 foi fuithei details and piactical examples.
uniquelist=true, false, minyear default false Biber only
Whethei oi not to update the uniquelist countei, see 4..2 foi details. Tis featuie
will disambiguate the labelname list if it has become ambiguous afei maxnames/
minnames tiuncation. Essentially, it oveiiides maxnames/minnames on a pei-eld basis.
Tis option is also seuable on a pei-type basis. Te possible choices aie
true Disambiguate the labelname list.
false Disable this featuie.
minyear Disambiguate the labelname list only if the tiuncated list is identical
to anothei one with the same labelyear. Tis mode of opeiation is
useful foi authoi-yeai styles and iequiies labeldate=true.
Note that the uniquelist option will also aect the \ifsingletitle test and the
extrayear eld. See 4.11.4 foi fuithei details and piactical examples. See 4.11.4
foi fuithei details and piactical examples.
3.1.3 Entry Options
Entiy options aie package options which can be adjusted on a pei-entiy basis in the
options eld fiom 2.2.3.
8
3.1.3.1 Preamble/Type/Entry Options
Te following options aie seuable on a pei-entiy basis in the options eld. ln
addition to that, they may also be used in the optional aigument to \usepackage as
well as in the conguiation le and the document pieamble. Tis is useful if you
want to change the default behavioi globally.
useauthor=true, false default true
Whethei the author is used in labels and consideied duiing soiting. Tis may be
useful if an entiy includes an author eld but is usually not cited by authoi foi
some ieason. Seuing useauthor=false does not mean that the author is ignoied
completely. lt means that the author is not used in labels and ignoied duiing soiting.
Te entiy will then be alphabetized by editor oi title. With the standaid styles,
the author is piinted afei the title in this case. See also 3.. With Bibei, this option Biber only
is also seuable on a pei-type basis.
useeditor=true, false default true
Whethei the editor ieplaces a missing author in labels and duiing soiting. Tis
may be useful if an entiy includes an editor eld but is usually not cited by editoi.
Seuing useeditor=false does not mean that the editor is ignoied completely. lt
means that the editor does not ieplace a missing author in labels and duiing soiting.
Te entiy will then be alphabetized by title. With the standaid styles, the editor
is piinted afei the title in this case. See also 3.. With Bibei, this option is also Biber only
seuable on a pei-type basis.
usetranslator=true, false default false
Whethei the translator ieplaces a missing author/editor in labels and duiing
soiting. Seuing usetranslator=true does not mean that the translator oveiiides
the author/editor. lt means that the translator is consideied as a fallback if the
author/editor is missing oi if useauthor and useeditor aie set to false. ln othei
woids, in oidei to cite a book by tianslatoi iathei than by authoi, you need to set
the following options With Bibei, this option is also seuable on a pei-type basis. Biber only
@Book{...,
options = {useauthor=false,usetranslator=true},
author = {...},
translator = {...},
...
With the standaid styles, the translator is piinted afei the title by default. See also
3..
useprefix=true, false default false
Whethei the name piex (von, van, of, da, de, della, etc.) is consideied when piinting
the last name in citations. Tis also aects the soiting and foimauing of the biblio-
giaphy as well as the geneiation of ceitain types of labels. lf this option is enabled,
biblatex always piecedes the last name with the piex. Foi example, Ludwig van
Beethoven would be cited as Beethoven and alphabetized as Beethoven, Ludwig
van by default. lf this option is enabled, he is cited as van Beethoven and alpha-
betized as Van Beethoven, Ludwig instead. With Bibei, this option is also seuable Biber only
on a pei-type basis.
9
indexing=true, false, cite, bib
Te indexing option is also seuable pei-type oi pei-entiy basis. See 3.1.2.1 foi
details.
3.1.3.2 Type/Entry Options
Te following options aie only seuable on a pei-entiy basis in the options eld.
Tey aie not available globally.
skipbib=true, false default false
lf this option is enabled, the entiy is excluded fiom the bibliogiaphy but it may still
be cited. With Bibei, this option is also seuable on a pei-type basis. Biber only
skiplos=true, false default false
lf this option is enabled, the entiy is excluded fiom the list of shoithands. lt is still
included in the bibliogiaphy and it may also be cited by shoithand. With Bibei, this Biber only
option is also seuable on a pei-type basis.
skiplab=true, false default false
lf this option is enabled, biblatex will not assign any labels to the entiy. lt is
not iequiied foi noimal opeiation. Use it with caie. lf enabled, biblatex can not
guaiantee unique citations foi the iespective entiy and citations styles which iequiie
labels may fail to cieate valid citations foi the entiy. With Bibei, this option is also Biber only
seuable on a pei-type basis.
dataonly=true, false default false
Seuing this option is equivalent to uniquename=false, uniquelist=false, skipbib,
skiplos, and skiplab. lt is not iequiied foi noimal opeiation. Use it with caie. With Biber only
Bibei, this option is also seuable on a pei-type basis.
labelnamefield=eldname
Species the eld to considei ist when looking foi a labelname candidate. lt is
essentially piepended to the seaich list cieated by \DeclareLabelname foi just this
entiy.
labeltitlefield=eldname
Species the eld to considei ist when looking foi a labeltitle candidate. lt is
essentially piepended to the seaich list cieated by \DeclareLabeltitle foi just this
entiy.
3.1.4 Legacy Options
Te following legacy option may be used globally in the optional aigument to
\documentclass oi locally in the optional aigument to \usepackage
openbib Tis option is piovided foi backwaids compatibility with the standaid LaTeX docu- Deprecated
ment classes. openbib is similai to block=par.
0
3.2 Global Customization
Apait fiom wiiting new citation and bibliogiaphy styles, theie aie numeious ways to
customize the styles which ship with this package. Customization will usually take
place in the pieamble, but theie is also a conguiation le foi peimanent adaptions.
Te conguiation le may also be used to initialize the package options to a value
dieient fiom the package default.
3.2.1 Configuration File
lf available, this package will load the conguiation le biblatex.cfg. Tis le is
iead at the end of the package, immediately afei the citation and bibliogiaphy styles
have been loaded.
3.2.2 Seting Package Options
Te load-time package options in 3.1.1 must be given in the optional aigument to
\usepackage. Te package options in 3.1.2 may also be given in the pieamble. Te
options aie executed with the following command
\ExecuteBibliographyOptions[entrytype, ]{key=value, }
Tis command may also be used in the conguiation le to modify the default seuing
of a package option. Ceitain options aie also seuable on a pei-type basis. ln this
case, the optional entrytype aigument species the entiy type. Te entrytype
aigument may be a comma-sepaiated list of values.
3.3 Standard Styles
Tis section piovides a shoit desciiption of all bibliogiaphy and citation styles which
ship with the biblatex package. lf you want to wiite youi own styles, see 4.
3.3.1 Citation Styles
Te citation styles which come with this package implement seveial common citation
schemes. All standaid styles catei foi the shorthand eld and suppoit hypeilinks as
well as indexing.
numeric Tis style implements a numeiic citation scheme similai to the standaid bibliogiaphic
facilities of LaTeX. lt should be employed in conjunction with a numeiic bibliogia-
phy style which piints the coiiesponding labels in the bibliogiaphy. lt is intended
foi in-text citations. Te style will set the following package options at load time
autocite=inline, labelnumber=true. Tis style also piovides an additional pieam-
ble option called subentry which aects the handling of entiy sets. lf this option is
disabled, citations iefeiiing to a membei of a set will point to the entiie set. lf it is
enabled, the style suppoits citations like [c] which point to a subentiy in a set
(the thiid one in this example). See the style example foi details.
numeric-comp A compact vaiiant of the numeric style which piints a list of moie than two con-
secutive numbeis as a iange. Tis style is similai to the cite package and the
sort&compress option of the natbib package in numeiical mode. Foi example, in-
stead of [8, 3, 1, , 2] this style would piint [13, , 8]. lt is intended foi in-text
citations. Te style will set the following package options at load time autocite=
inline, sortcites=true, labelnumber=true. lt also piovides the subentry option.
1
numeric-verb A veibose vaiiant of the numeric style. Te dieience aects the handling of a list of
citations and is only appaient when multiple entiy keys aie passed to a single citation
command. Foi example, instead of [2, , ] this style would piint [2], [], []. lt is
intended foi in-text citations. Te style will set the following package options at load
time autocite=inline, labelnumber=true. lt also piovides the subentry option.
alphabetic Tis style implements an alphabetic citation scheme similai to the alpha.bst style
of tiaditional BibTeX. Te alphabetic labels iesemble a compact authoi-yeai style to
some extent, but the way they aie employed is similai to a numeiic citation scheme.
Foi example, instead of Jones 199 this style would use the label [Jon9]. Jones
and Williams 198 would be iendeied as [JW8]. Tis style should be employed
in conjunction with an alphabetic bibliogiaphy style which piints the coiiesponding
labels in the bibliogiaphy. lt is intended foi in-text citations. Te style will set the
following package options at load time autocite=inline, labelalpha=true.
alphabetic-verb A veibose vaiiant of the alphabetic style. Te dieience aects the handling of a
list of citations and is only appaient when multiple entiy keys aie passed to a single
citation command. Foi example, instead of [Doe92, Doe9, Jon98] this style would
piint [Doe92], [Doe9], [Jon98]. lt is intended foi in-text citations. Te style will
set the following package options at load time autocite=inline, labelalpha=true.
authoryear Tis style implements an authoi-yeai citation scheme. lf the bibliogiaphy contains
two oi moie woiks by the same authoi which weie all published in the same yeai, a
leuei is appended to the yeai. Foi example, this style would piint citations such as
Doe 199a, Doe 199b, Jones 1998. Tis style should be employed in conjunction
with an authoi-yeai bibliogiaphy style which piints the coiiesponding labels in the
bibliogiaphy. lt is piimaiily intended foi in-text citations, but it could also be used
with citations given in footnotes. Te style will set the following package options at
load time autocite=inline, labeldate=true, uniquename=full, uniquelist=true.
authoryear-comp A compact vaiiant of the authoryear style which piints the authoi only once if
subsequent iefeiences passed to a single citation command shaie the same authoi. lf
they shaie the same yeai as well, the yeai is also piinted only once. Foi example,
instead of Doe 199b, Doe 1992, Jones 1998, Doe 199a this style would piint
Doe 1992, 199a,b, Jones 1998. lt is piimaiily intended foi in-text citations, but it
could also be used with citations given in footnotes. Te style will set the following
package options at load time autocite=inline, sortcites=true, labeldate=true,
uniquename=full, uniquelist=true.
authoryear-ibid A vaiiant of the authoryear style which ieplaces iepeated citations by the abbie-
viation ibidem unless the citation is the ist one on the cuiient page oi double-
page spiead, oi the ibidem would be ambiguous in the sense of the package op-
tion ibidtracker=constrict. Te style will set the following package options at
load time autocite=inline, labeldate=true, uniquename=full, uniquelist=true,
ibidtracker=constrict, pagetracker=true. Tis style also piovides an additional
pieamble option called ibidpage. See the style example foi details.
authoryear-icomp A style combining authoryear-comp and authoryear-ibid. Te style will set
the following package options at load time autocite=inline, labeldate=true,
uniquename=full, uniquelist=true, ibidtracker=constrict, pagetracker=true,
sortcites=true. Tis style also piovides an additional pieamble option called
ibidpage. See the style example foi details.
2
authortitle Tis style implements a simple authoi-title citation scheme. lt will make use of
the shorttitle eld, if available. lt is intended foi citations given in footnotes.
Te style will set the following package options at load time autocite=footnote,
uniquename=full, uniquelist=true.
authortitle-comp A compact vaiiant of the authortitle style which piints the authoi only once if
subsequent iefeiences passed to a single citation command shaie the same authoi.
Foi example, instead of Doe, First title, Doe, Second title this style would piint Doe,
First title, Second title. lt is intended foi citations given in footnotes. Te style will set
the following package options at load time autocite=footnote, sortcites=true,
uniquename=full, uniquelist=true.
authortitle-ibid A vaiiant of the authortitle style which ieplaces iepeated citations by the abbie-
viation ibidem unless the citation is the ist one on the cuiient page oi double-
page spiead, oi the ibidem would be ambiguous in the sense of the package option
ibidtracker=constrict. lt is intended foi citations given in footnotes. Te style will
set the following package options at load time autocite=footnote, uniquename=
full, uniquelist=true, ibidtracker=constrict, pagetracker=true. Tis style also
piovides an additional pieamble option called ibidpage. See the style example foi
details.
authortitle-icomp A style combining the featuies of authortitle-comp and authortitle-ibid. Te
style will set the following package options at load time autocite=footnote,
uniquename=full, uniquelist=true, ibidtracker=constrict, pagetracker=true,
sortcites=true. Tis style also piovides an additional pieamble option called
ibidpage. See the style example foi details.
authortitle-terse Ateise vaiiant of the authortitle style which only piints the title if the bibliogiaphy
contains moie than one woik by the iespective authoi/editoi. Tis style will make
use of the shorttitle eld, if available. lt is suitable foi in-text citations as well as
citations given in footnotes. Te style will set the following package options at load
time autocite=inline, singletitle=true, uniquename=full, uniquelist=true.
authortitle-tcomp A style combining the featuies of authortitle-comp and authortitle-terse. Tis
style will make use of the shorttitle eld, if available. lt is suitable foi in-text
citations as well as citations given in footnotes. Te style will set the following
package options at load time autocite=inline, sortcites=true, singletitle=
true, uniquename=full, uniquelist=true.
authortitle-ticomp A style combining the featuies of authortitle-icomp and authortitle-terse. ln
othei woids a vaiiant of the authortitle-tcomp style with an ibidem featuie. Tis
style is suitable foi in-text citations as well as citations given in footnotes. lt will
set the following package options at load time autocite=inline, ibidtracker=
constrict, pagetracker=true, sortcites=true, singletitle=true, uniquename=
full, uniquelist=true. Tis style also piovides an additional pieamble option called
ibidpage. See the style example foi details.
verbose A veibose citation style which piints a full citation similai to a bibliogiaphy entiy
when an entiy is cited foi the ist time, and a shoit citation afeiwaids. lf available,
the shorttitle eld is used in all shoit citations. lf the shorthand eld is dened,
the shoithand is intioduced on the ist citation and used as the shoit citation
theieafei. Tis style may be used without a list of iefeiences and shoithands since
all bibliogiaphic data is piovided on the ist citation. lt is intended foi citations
given in footnotes. Te style will set the following package options at load time
3
autocite=footnote, citetracker=context. Tis style also piovides an additional
pieamble option called citepages. See the style example foi details.
verbose-ibid A vaiiant of the verbose style which ieplaces iepeated citations by the abbieviation
ibidem unless the citation is the ist one on the cuiient page oi double-page spiead,
oi the ibidem would be ambiguous in the sense of ibidtracker=strict. Tis style is
intended foi citations given in footnotes. Te style will set the following package
options at load time autocite=footnote, citetracker=context, ibidtracker=
constrict, pagetracker=true. Tis style also piovides additional pieamble options
called ibidpage and citepages. See the style example foi details.
verbose-note Tis style is similai to the verbose style in that it piints a full citation similai to
a bibliogiaphy entiy when an entiy is cited foi the ist time, and a shoit citation
afeiwaids. ln contiast to the verbose style, the shoit citation is a pointei to the
footnote with the full citation. lf the bibliogiaphy contains moie than one woik
by the iespective authoi/editoi, the pointei also includes the title. lf available, the
shorttitle eld is used in all shoit citations. lf the shorthand eld is dened,
it is handled as with the verbose style. Tis style may be used without a list of
iefeiences and shoithands since all bibliogiaphic data is piovided on the ist citation.
lt is exclusively intended foi citations given in footnotes. Te style will set the
following package options at load time autocite=footnote, citetracker=context,
singletitle=true. Tis style also piovides additional pieamble options called
pageref and citepages. See the style example foi details.
verbose-inote A vaiiant of the verbose-note style which ieplaces iepeated citations by the abbie-
viation ibidem unless the citation is the ist one on the cuiient page oi double-page
spiead, oi the ibidem would be ambiguous in the sense of ibidtracker=strict.
Tis style is exclusively intended foi citations given in footnotes. lt will set the
following package options at load time autocite=footnote, citetracker=context,
ibidtracker=constrict, singletitle=true, pagetracker=true. Tis style also pio-
vides additional pieamble options called ibidpage, pageref, and citepages. See the
style example foi details.
verbose-trad1 Tis style implements a tiaditional citation scheme. lt is similai to the verbose style
in that it piints a full citation similai to a bibliogiaphy entiy when an item is cited foi
the ist time, and a shoit citation afeiwaids. Apait fiom that, it uses the scholaily
abbieviations ibidem, idem, op. cit., and loc. cit. to ieplace iecuiient authois, titles,
and page numbeis in iepeated citations in a special way. lf the shorthand eld is
dened, the shoithand is intioduced on the ist citation and used as the shoit citation
theieafei. Tis style may be used without a list of iefeiences and shoithands since
all bibliogiaphic data is piovided on the ist citation. lt is intended foi citations
given in footnotes. Te style will set the following package options at load time
autocite=footnote, citetracker=context, ibidtracker=constrict, idemtracker=
constrict, opcittracker=context, loccittracker=context. Tis style also pio-
vides additional pieamble options called ibidpage, strict, and citepages. See the
style example foi details.
verbose-trad2 Anothei tiaditional citation scheme. lt is also similai to the verbose style but uses
scholaily abbieviations like ibidem and idem in iepeated citations. ln contiast to
the verbose-trad1 style, the logic of the op. cit. abbieviations is dieient in this
style and loc. cit. is not used at all. lt is in fact moie similai to verbose-ibid and
verbose-inote than to verbose-trad1. Te style will set the following package
options at load time autocite=footnote, citetracker=context, ibidtracker=
4
constrict, idemtracker=constrict. Tis style also piovides additional pieamble
options called ibidpage, strict, and citepages. See the style example foi details.
verbose-trad3 Yet anothei tiaditional citation scheme. lt is similai to the verbose-trad2 style
but uses the scholaily abbieviations ibidem and op. cit. in a slightly dieient way.
Te style will set the following package options at load time autocite=footnote,
citetracker=context, ibidtracker=constrict, loccittracker=constrict. Tis
style also piovides additional pieamble options called strict and citepages. See
the style example foi details.
reading A citation style which goes with the bibliogiaphy style by the same name. lt simply
loads the authortitle style.
Te following citation styles aie special puipose styles. Tey aie not intended foi
the nal veision of a document
draf A diaf style which uses the entiy keys in citations. Te style will set the following
package options at load time autocite=plain.
debug Tis style piints the entiy key iathei than some kind of label. lt is intended foi
debugging only and will set the following package options at load time autocite=
plain.
3.3.2 Bibliography Styles
All bibliogiaphy styles which come with this package use the same basic foimat
foi the individual bibliogiaphy entiies. Tey only diei in the kind of label piinted
in the bibliogiaphy and the oveiall foimauing of the list of iefeiences. Teie is a
matching bibliogiaphy style foi eveiy citation style. Note that some bibliogiaphy
styles aie not mentioned below because they simply load a moie geneiic style. Foi
example, the bibliogiaphy style authortitle-comp will load the authortitle style.
numeric Tis style piints a numeiic label similai to the standaid bibliogiaphic facilities of
LaTeX. lt is intended foi use in conjunction with a numeiic citation style. Note that the
shorthand eld oveiiides the default label. Te style will set the following package
options at load time labelnumber=true. Tis style also piovides an additional
pieamble option called subentry which aects the foimauing of entiy sets. lf this
option is enabled, all membeis of a set aie maiked with a leuei which may be used in
citations iefeiiing to a set membei iathei than the entiie set. See the style example
foi details.
alphabetic Tis style piints an alphabetic label similai to the alpha.bst style of tiaditional
BibTeX. lt is intended foi use in conjunction with an alphabetic citation style. Note
that the shorthand eld oveiiides the default label. Te style will set the following
package options at load time labelalpha=true, sorting=anyt.
authoryear Tis style dieis fiom the othei styles in that the publication date is not piinted
towaids the end of the entiy but iathei afei the authoi/editoi. lt is intended foi
use in conjunction with an authoi-yeai citation style. Recuiiing authoi and editoi
names aie ieplaced by a dash unless the entiy is the ist one on the cuiient page oi
double-page spiead. Tis style piovides an additional pieamble option called dashed
which contiols this featuie. lt also piovided a pieamble option called mergedate. See
the style example foi details. Te style will set the following package options at load
time labeldate=true, sorting=nyt, pagetracker=true, mergedate=true.

authortitle Tis style does not piint any label at all. lt is intended foi use in conjunction with
an authoi-title citation style. Recuiiing authoi and editoi names aie ieplaced by a
dash unless the entiy is the ist one on the cuiient page oi double-page spiead. Tis
style also piovides an additional pieamble option called dashed which contiols this
featuie. See the style example foi details. Te style will set the following package
options at load time pagetracker=true.
verbose Tis style is similai to the authortitle style. lt also piovides an additional pieamble
option called dashed. See the style example foi details. Te style will set the following
package options at load time pagetracker=true.
reading Tis special bibliogiaphy style is designed foi peisonal ieading lists, annotated
bibliogiaphies, and similai applications. lt optionally includes the elds annotation,
abstract, library, and file in the bibliogiaphy. lf desiied, it also adds vaiious
kinds of shoit headeis to the bibliogiaphy. Tis style also piovides the additional
pieamble options entryhead, entrykey, annotation, abstract, library, and file
which contiol whethei oi not the coiiesponding items aie piinted in the bibliogiaphy.
See the style example foi details. See also 3.11.8. Te style will set the following
package options at load time loadfiles=true, entryhead=true, entrykey=true,
annotation=true, abstract=true, library=true, file=true.
Te following bibliogiaphy styles aie special puipose styles. Tey aie not intended
foi the nal veision of a document
draf Tis diaf style includes the entiy keys in the bibliogiaphy. Te bibliogiaphy will be
soited by entiy key. Te style will set the following package options at load time
sorting=debug.
debug Tis style piints all bibliogiaphic data in tabulai foimat. lt is intended foi debugging
only and will set the following package options at load time sorting=debug.
3.4 Related Entries
Almost all bibliogiaphy styles iequiie authois to specify ceitain types of ielationship
between entiies such as Repiint of, Repiinted in etc. lt is impossible to piovide
data elds to covei all of these ielationships and so biblatex piovides a geneial
mechanism foi this using the entiy elds related, relatedtype and relatedstring.
A ielated entiy does not need to be cited and does not appeai in the bibliogiaphy
itself (unless of couise it is also cited itself independently) as a clone is taken of the
ielated entiy to be used as a data souice. Te relatedtype eld should specify a
localization stiing which will be piinted befoie the infoimation fiom the ielated
entiies is piinted, foi example Oiig. Pub. as. Te relatedstring eld can be used
to oveiiide the stiing deteimined via relatedtype. Some examples
@Book{key1,
...
related = {key2},
relatedtype = {reprintof},
...
}
@Book{key2,
...
}

Heie we specify that entiy key1 is a iepiint of entiy key2. ln the bibliogiaphy diivei
foi Book entiies, when \usebibmacro{related} is called foi entiy key1
lf the localization stiing reprintof is dened, it is piinted in the
relatedstring:reprintof foimat. lf this foimauing diiective is undened,
the stiing is piinted in the relatedstring:default foimat.
lf the related:reprintof macio is dened, it is used to foimat the infoimation
contained in entiy key2, otheiwise the related:default macio is used
lf the related:reprintof foimat is dened, it is used to foimat both the
localization stiing and data. lf this foimat is not dened, then the related
foimat is used instead.
lt is also suppoited to have cascading and/oi ciiculai ielations
@Book{key1,
...
related = {key2},
relatedtype = {reprintof},
...
}
@Book{key2,
...
related = {key3},
relatedtype = {translationof},
...
}
@Book{key3,
...
related = {key2},
relatedtype = {translatedas},
...
}
Multiple ielations to the same entiy aie also possible
@MVBook{key1,
...
related = {key2,key3},
relatedtype = {multivolume},
...
}
@Book{key2,
...
}
@Book{key3,
...
}

Note the the oidei of the keys in lists of multiple ielated entiies is impoitant. Te
data fiom multiple ielated entiies is piinted in the oidei of the keys listed in this
eld. See 4..1 foi a moie details on the mechanisms behind this featuie. You can
tuin this featuie o using the package option related fiom 3.1.2.1.
You can use the relatedoptions to set options on the ielated entiy data clone. Tis
is useful if you need to oveiiide the dataonly option which is set by default on all
ielated entiy clones. Foi example, if you will expose some of the names in the ielated
clone in youi document, you may want to have them disambiguated fiom names in
othei entiies but noimally this wont happen as ielated clones have the pei-entiy
dataonly option set and this in tuin sets uniquename=false and uniquelist=false.
ln such a case, you can set relatedoptions to just skiplab, skipbib, skiplos.
3.5 Sorting Options
Tis package suppoits vaiious soiting schemes foi the bibliogiaphy. Te soiting
scheme is selected with the sorting package option fiom 3.1.2.1. Apait fiom the
iegulai data elds theie aie also some special elds which may be used to optimize the
soiting of the bibliogiaphy. Appendices C.1 and C.2 give an outline of the alphabetic
soiting schemes suppoited by biblatex. Chionological soiting schemes aie listed in
appendix C.3. A few explanations conceining these schemes aie in oidei.
Te ist item consideied in the soiting piocess is always the presort eld of the
entiy. lf this eld is undened, biblatex will use the default value mm as a piesoit
stiing. Te next itemconsideied is the sortkey eld. lf this eld is dened, it seives as
the mastei soit key. Apait fiomthe presort eld, no fuithei data is consideied in this
case. lf the sortkey eld is undened, soiting continues with the name. Te package
will tiy using the sortname, author, editor, and translator elds, in this oidei.
Which elds aie consideied also depends on the seuing of the useauthor, useeditor,
and usetranslator options. lf all thiee of them aie disabled, the sortname eld is
ignoied as well. Note that all name elds aie iesponsive to maxnames and minnames.
lf no name eld is available, eithei because all of them aie undened oi because
useauthor, useeditor, and usetranslator aie disabled, biblatex will fall back to
the sorttitle and title elds as a last iesoit. Te iemaining items aie, in vaiious
oidei the sortyear eld, if dened, oi the ist foui digits of the year eld otheiwise,
the sorttitle eld, if dened, oi the title eld otheiwise, the volume eld, which
is padded to foui digits with leading zeios, oi the stiing 0000 otheiwise. Note that
the soiting schemes shown in appendix C.2 include an additional item labelalpha
is the label used by alphabetic bibliogiaphy styles. Stiictly speaking, the stiing
used foi soiting is labelalpha extraalpha. Te soiting schemes in appendix C.2
aie intended to be used in conjunction with alphabetic styles only.
Te chionological soiting schemes piesented in appendix C.3 also make use of
the presort and sortkey elds, if dened. Te next item consideied is the sortyear
oi the year eld, depending on availability. Te ynt scheme extiacts the ist foui
Aiabic guies fiom the eld. lf both elds aie undened, the stiing 9999 is used as a
fallback value. Tis means that all entiies without a yeai will be moved to the end of
the list. Te ydnt scheme is similai in concept but soits the yeai in descending oidei.
As with the ynt scheme, the stiing 9999 is used as a fallback value. Te iemaining
items aie similai to the alphabetic soiting schemes discussed above. Note that the
ydnt soiting scheme will only soit the date in descending oidei. All othei items aie
soited in ascending oidei as usual.
Using special elds such as sortkey, sortname, oi sorttitle is usually not ie-
quiied. Te biblatex package is quite capable of woiking out the desiied soiting
oidei by using the data found in the iegulai elds of an entiy. You will only need
8
them if you want to manually modify the soiting oidei of the bibliogiaphy oi if any
data iequiied foi soiting is missing. Please iefei to the eld desciiptions in 2.2.3
foi details on possible uses of the special elds. Also note that using Bibei instead of
legacy BibTeX is stiongly iecommended.
3.6 Bibliography Commands
3.6.1 Resources
\addbibresource[options]{resource}
Adds a resource, such as a .bib le, to the default iesouice list. Tis command
is only available in the pieamble. lt ieplaces the \bibliography legacy command.
Note that les must be specied with theii full name, including the extension. Do
not omit the .bib extension fiom the lename. Also note that the resource is a
single iesouice. lnvoke \addbibresource multiple times to add moie iesouices, foi
example
\addbibresource{bibfile1.bib}
\addbibresource{bibfile2.bib}
\addbibresource[location=remote]{http://www.citeulike.org/bibtex/group/9517}
\addbibresource[location=remote,label=lan]{ftp://192.168.1.57/~user/file.bib}
Since the resource stiing is iead in a veibatim-like mode, it may contain aibitiaiy
chaiacteis. Te only iestiiction is that any cuily biaces must be balanced. Te
following options aie available
label=identier
Assigns a label to a iesouice. Te identier may be used in place of the full iesouice
name in the optional aigument of refsection (see 3..4).
location=location default local
Te location of the iesouice. Te location may be eithei local foi local iesouices
oi remote foi uvis. Remote iesouices iequiie Bibei. Te piotocols u11v and i1v aie
suppoited. Te iemote uvi must be a fully qualied path to a bib le oi a uvi which
ietuins a bib le.
type=type default file
Te type of iesouice. Cuiiently, the only suppoited type is file.
datatype=datatype default bibtex
Te data type (foimat) of the iesouice. Te following foimats aie cuiiently suppoited
bibtex BibTeX foimat.
ris Reseaich lnfoimation Systems (vis) foimat.
21
Note that an ID tag is Biber only
iequiied in all vis iecoids. Te ID value coiiesponds to the entiy
key. Suppoit foi this foimat is expeiimental.
zoterordfxml Zoteio vui/xi foimat. Suppoit foi this foimat is expeiimental. Biber only
Refei to the Bibei manual foi details.
endnotexml EndNote xi foimat. Suppoit foi this foimat is expeiimental. Refei Biber only
to the Bibei manual foi details.
21
http://en.wikipedia.org/wiki/RIS_(file_format)
9
\addglobalbib[options]{resource}
Tis command dieis fiom \addbibresource in that the resource is added to the
global iesouice list. Te dieience between default iesouices and global iesouices
is only ielevant if theie aie iefeience sections in the document and the optional
aigument of refsection ( 3..4) is used to specify alteinative iesouices which
ieplace the default iesouice list. Any global iesouices aie added to all iefeience
sections.
\addsectionbib[options]{resource}
Tis command dieis fiom \addbibresource in that the iesouice options aie ieg-
isteied but the resource not added to any iesouice list. Tis is only iequiied foi
iesouices which 1) aie given exclusively in the optional aigument of refsection
( 3..4) and 2) iequiie options dieient fiom the default seuings. ln this case,
\addsectionbib is employed to qualify the resource piioi to using it by seuing the
appiopiiate options in the pieamble. Te label option may be useful to assign a
shoit name to the iesouice.
\bibliography{bible, } Deprecated
Te legacy command foi adding bibliogiaphic iesouices, suppoited foi backwaids
compatibility. Like \addbibresource, this command is only available in the pieamble
and adds iesouices to the default iesouice list. lts aigument is a comma-sepaiated
list of bib les. Te .bib extension may be omiued fiom the lename. lnvoking
this command multiple times to add moie les is peimissible. Tis command is
depiecated. Please considei using \addbibresource instead.
3.6.2 The Bibliography
\printbibliography[key=value, ]
Tis command piints the bibliogiaphy. lt takes one optional aigument, which is a
list of options given in key=value notation. Te following options aie available
env=name default bibliography/shorthands
Te high-level layout of the bibliogiaphy and the list of shoithands is contiolled
by enviionments dened with \defbibenvironment. Tis option selects an enviion-
ment. Te name coiiesponds to the identiei used when dening the enviionment
with \defbibenvironment. By default, the \printbibliography command uses the
identiei bibliography, \printshorthands uses shorthands. See also 3..3 and
3...
heading=name default bibliography/shorthands
Te bibliogiaphy and the list of shoithands typically have a chaptei oi section
heading. Tis option selects the heading name, as dened with \defbibheading.
By default, the \printbibliography command uses the heading bibliography,
\printshorthands uses shorthands. See also 3..3 and 3...
title=text
Tis option oveiiides the default title piovided by the heading selected with the
heading option, if suppoited by the heading denition. See 3.. foi details.
0
prenote=name
Te pienote is an aibitiaiy piece of text to be piinted afei the heading but be-
foie the list of iefeiences. Tis option selects the pienote name, as dened with
\defbibnote. By default, no pienote is piinted. Te note is piinted in the standaid
text font. lt is not aected by \bibsetup and \bibfont but it may contain its own
font declaiations. See 3..8 foi details.
postnote=name
Te postnote is an aibitiaiy piece of text to be piinted afei the list of iefeiences.
Tis option selects the postnote name, as dened with \defbibnote. By default,
no postnote is piinted. Te note is piinted in the standaid text font. lt is not aected
by \bibsetup and \bibfont but it may contain its own font declaiations. See 3..8
foi details.
section=integer default current section
Piint only entiies cited in iefeience section integer. Te iefeience sections aie
numbeied staiting at 1. All citations given outside a refsection enviionment aie
assigned to section 0. See 3..4 foi details and 3.11.3 foi usage examples.
segment=integer default 0
Piint only entiies cited in iefeience segment integer. Te iefeience segments
aie numbeied staiting at 1. All citations given outside a refsegment enviionment
aie assigned to segment 0. See 3.. foi details and 3.11.3 foi usage examples.
Remembei that segments within a section aie numbeied local to the section so the
segment you iequest will be the nth segment in the iequested (oi cuiiently active
enclosing) section.
sorting=name Biber only
Soit the bibliogiaphy accoiding to a built-in oi usei specied soiting scheme dened
with \DeclareSortingScheme. lf omiued, the global soiting scheme specied with
package sorting option is used. Tis option facilitates multiple bibliogiaphy lists
within a iefsection, each of which can be soited dieiently.
type=entrytype
Piint only entiies whose entiy type is entrytype.
nottype=entrytype
Piint only entiies whose entiy type is not entrytype. Tis option may be used
multiple times.
subtype=subtype
Piint only entiies whose entrysubtype is dened and subtype.
notsubtype=subtype
Piint only entiies whose entrysubtype is undened oi not subtype. Tis option
may be used multiple times.
1
keyword=keyword
Piint only entiies whose keywords eld includes keyword. Tis option may be used
multiple times.
notkeyword=keyword
Piint only entiies whose keywords eld does not include keyword. Tis option may
be used multiple times.
category=category
Piint only entiies assigned to categoiy category. Tis option may be used multiple
times.
notcategory=category
Piint only entiies not assigned to categoiy category. Tis option may be used
multiple times.
filter=name
Filtei the entiies with ltei name, as dened with \defbibfilter. See 3..9 foi
details.
check=name
Filtei the entiies with check name, as dened with \defbibcheck. See 3..9 foi
details.
prefixnumbers=string
Tis option applies to numeiical citation/bibliogiaphy styles only and iequiies that
the defernumbers option fiom 3.1.2.1 be enabled globally. Seuing this option will
implicitly enable resetnumbers foi the cuiient bibliogiaphy. Te option assigns the
string as a piex to all entiies in the iespective bibliogiaphy. Foi example, if the
string is A, the numeiical labels piinted will be [A1], [A2], [A3], etc. Tis is useful
foi subdivided numeiical bibliogiaphies wheie each subbibliogiaphy uses a dieient
piex. Te string is available to styles in the prefixnumber eld of all aected
entiies. See 4.2.4.2 foi details.
resetnumbers=true, false
Tis option applies to numeiical citation/bibliogiaphy styles only and iequiies that
the defernumbers option fiom 3.1.2.1 be enabled globally. lf enabled, it will ieset
the numeiical labels assigned to the entiies in the iespective bibliogiaphy, i. e., the
numbeiing will iestait at 1. Use this option with caie as biblatex can not guaiantee
unique labels globally if they aie ieset manually.
omitnumbers=true, false
Tis option applies to numeiical citation/bibliogiaphy styles only and iequiies that
the defernumbers option fiom 3.1.2.1 be enabled globally. lf enabled, biblatex will
not assign a numeiical label to the entiies in the iespective bibliogiaphy. Tis is
useful when mixing a numeiical subbibliogiaphy with one oi moie subbibliogiaphies
using a dieient scheme (e. g., authoi-title oi authoi-yeai).
2
\bibbysection[key=value, ]
Tis command automatically loops ovei all iefeience sections. Tis is equivalent
to giving one \printbibliography command foi eveiy section but has the addi-
tional benet of automatically skipping sections without iefeiences. Note that
\bibbysection staits looking foi iefeiences in section 1. lt will ignoie iefeiences
given outside of refsection enviionments since they aie assigned to section 0.
See 3.11.3 foi usage examples. Te options aie a subset of those suppoited by
\printbibliography. Valid options aie env, heading, prenote, postnote. Te global
soiting scheme specied with package sorting option is used foi all sections.
\bibbysegment[key=value, ]
Tis command automatically loops ovei all iefeience segments. Tis is equiva-
lent to giving one \printbibliography command foi eveiy segment in the cuiient
refsection but has the additional benet of automatically skipping segments with-
out iefeiences. Note that \bibbysegment staits looking foi iefeiences in segment 1.
lt will ignoie iefeiences given outside of refsegment enviionments since they aie
assigned to segment 0. See 3.11.3 foi usage examples. Te options aie a subset of
those suppoited by \printbibliography. Valid options aie env, heading, prenote,
postnote. Te global soiting scheme specied with package sorting option is used
foi all segments.
\bibbycategory[key=value, ]
Tis command loops ovei all bibliogiaphy categoiies. Tis is equivalent to giving
one \printbibliography command foi eveiy categoiy but has the additional benet
of automatically skipping empty categoiies. Te categoiies aie piocessed in the
oidei in which they weie declaied. See 3.11.3 foi usage examples. Te options aie
a subset of those suppoited by \printbibliography. Valid options aie env, prenote,
postnote, section. Note that heading is not available with this command. Te name
of the cuiient categoiy is automatically used as the heading name. Tis is equivalent
to passing heading=category to \printbibliography and implies that theie must
be a matching heading denition foi eveiy categoiy. Te global soiting scheme
specied with package sorting option is used foi all categoiies.
\printbibheading[key=value, ]
Tis command piints a bibliogiaphy heading dened with \defbibheading. lt takes
one optional aigument, which is a list of options given in key=value notation. Te
options aie a small subset of those suppoited by \printbibliography. Valid options
aie heading and title. By default, this command uses the heading bibliography.
See 3.. foi details. Also see 3.11.3 and 3.11.4 foi usage examples.
3.6.3 The List of Shorthands
lf any entiy includes a shorthand eld, biblatex automatically builds a list of shoit-
hands which may be piinted in addition to the iegulai bibliogiaphy. Te following
command piints the list of shoithands.
\printshorthands[key=value, ]
Tis command piints the list of shoithands. lt takes one optional aigument, which
is a list of options given in key=value notation. Valid options aie all options
suppoited by \printbibliography ( 3..2) except prefixnumbers, resetnumbers,
3
and omitnumbers. lf theie aie any refsection enviionments in the document, the
list of shoithands will be local to these enviionments, see 3..4 foi details. By
default, this command uses the heading shorthands. See 3.. foi details.
Te sorting option dieis fiom \printbibliography in that if omiued, the default
is to soit by shoithand.
3.6.4 Bibliography Sections
Te refsection enviionment is used in the document body to maik a iefeience
section. Tis enviionment is useful if you want sepaiate, independent bibliogiaphies
and lists of shoithands in each chaptei, section, oi any othei pait of a document.
Within a iefeience section, all cited woiks aie assigned labels which aie local to
the enviionment. Technically, iefeience sections aie completely independent fiom
document divisions such as \chapter and \section even though they will most
likely be used pei chaptei oi section. See the refsection package option in 3.1.2.1
foi a way to automate this. Also see 3.11.3 foi usage examples.
\beginrefsection[resource, ]
\end{refsection}
Te optional aigument is a comma-sepaiated list of iesouices specic to the iefeience
section. lf the aigument is omiued, the iefeience section will use the default iesouice
list, as specied with \addbibresource in the pieamble. lf the aigument is piovided,
it ieplaces the default iesouice list. Global iesouices specied with \addglobalbib
aie always consideied. refsection enviionments may not be nested, but you may
use refsegment enviionments within a refsection to subdivide it into segments.
Use the section option of \printbibliography to select a section when piinting the
bibliogiaphy, and the coiiesponding option of \printshorthands when piinting the
list of shoithands. Bibliogiaphy sections aie numbeied staiting at 1. Te numbei of
the cuiient section is also wiiuen to the tiansciipt le. All citations given outside a
refsection enviionment aie assigned to section 0. lf \printbibliography is used
within a refsection, it will automatically select the cuiient section. Te section
option is not iequiied in this case. Tis also applies to \printshorthands.
\newrefsection[resource, ]
Tis command is similai to the refsection enviionment except that it is a stand-
alone command iathei than an enviionment. lt automatically ends the pievious
iefeience section (if any) and immediately staits a new one. Note that the iefeience
section staited by the last \newrefsection command in the document will extend
to the veiy end of the document. Use \endrefsection if you want to teiminate it
eailiei.
3.6.5 Bibliography Segments
Te refsegment enviionment is used in the document body to maik a iefeience
segment. Tis enviionment is useful if you want one global bibliogiaphy which
is subdivided by chaptei, section, oi any othei pait of the document. Technically,
iefeience segments aie completely independent fiom document divisions such as
\chapter and \section even though they will typically be used pei chaptei oi section.
See the refsegment package option in 3.1.2.1 foi a way to automate this. Also see
3.11.3 foi usage examples.
4
\beginrefsegment
\end{refsegment}
Te dieience between a refsection and a refsegment enviionment is that the
foimei cieates labels which aie local to the enviionment wheieas the lauei piovides
a taiget foi the segment ltei of \printbibliography without aecting the labels.
Tey will be unique acioss the entiie document. refsegment enviionments may not
be nested, but you may use them in conjunction with refsection to subdivide a
iefeience section into segments. ln this case, the segments aie local to the enclos-
ing refsection enviionment. Use the refsegment option of \printbibliography to
select a segment when piinting the bibliogiaphy. Within a section, the iefeience
segments aie numbeied staiting at 1 and the numbei of the cuiient segment will
be wiiuen to the tiansciipt le. All citations given outside a refsegment enviion-
ment aie assigned to segment 0. ln contiast to the refsection enviionment, the
cuiient segment is not selected automatically if \printbibliography is used within
a refsegment enviionment.
\newrefsegment Tis command is similai to the refsegment enviionment except that it is a stand-
alone command iathei than an enviionment. lt automatically ends the pievious
iefeience segment (if any) and immediately staits a new one. Note that the iefeience
segment staited by the last \newrefsegment command will extend to the end of the
document. Use \endrefsegment if you want to teiminate it eailiei.
3.6.6 Bibliography Categories
Bibliogiaphy categoiies allow you to split the bibliogiaphy into multiple paits dedi-
cated to dieient topics oi dieient types of iefeiences, foi example piimaiy and
secondaiy souices. See 3.11.4 foi usage examples.
\DeclareBibliographyCategory{category}
Declaies a new category, to be used in conjunction with \addtocategory and the
category and notcategory lteis of \printbibliography. Tis command is used in
the document pieamble.
\addtocategory{category}{key}
Assigns a key to a category, to be used in conjunction with the category and
notcategory lteis of \printbibliography. Tis command may be used in the
pieamble and in the document body. Te key may be a single entiy key oi a
comma-sepaiated list of keys. Te assignment is global.
3.6.7 Bibliography Headings and Environments
\defbibenvironment{name}{begin code}{end code}{item code}
Tis command denes bibliogiaphy enviionments. Te name is an identiei passed
to the env option of \printbibliography and \printshorthands when selecting the
enviionment. Te begin code is LaTeX code to be executed at the beginning of
the enviionment, the end code is executed at the end of the enviionment, the
item code is code to be executed at the beginning of each entiy in the bibliogiaphy
oi the list of shoithands. Heie is an example of a denition based on the standaid
LaTeX list enviionment

\defbibenvironment{bibliography}
{\list{}
{\setlength{\leftmargin}{\bibhang}%
\setlength{\itemindent}{-\leftmargin}%
\setlength{\itemsep}{\bibitemsep}%
\setlength{\parsep}{\bibparsep}}}
{\endlist}
{\item}
As seen in the above example, usage of \defbibenvironment is ioughly similai to
\newenvironment except that theie is an additional mandatoiy aigument foi the
item code.
\defbibheading{name}[title]{code}
Tis command denes bibliogiaphy headings. Te name is an identiei to be
passed to the heading option of \printbibliography oi \printbibheading and
\printshorthands when selecting the heading. Te code should be LaTeX code
geneiating a fully-edged heading, including page headeis and an entiy in the table
of contents, if desiied. lf \printbibliography oi \printshorthands aie invoked
with a title option, the title will be passed to the heading denition as #1. lf not,
the default title specied by the optional title aigument is passed as #1 instead.
Te title aigument will typically be \bibname, \refname, oi \losname (see 4.9.2.1).
Tis command is ofen needed when afei changes to document headeis in the
pieamble. Heie is an example of a simple heading denition
\defbibheading{bibliography}[\bibname]{%
\chapter*{#1}%
\markboth{#1}{#1}}
Te following headings, which aie intended foi use with \printbibliography and
\printbibheading, aie piedened
bibliography
Tis is the default heading used by \printbibliography if the heading option is not
given. lts default denition depends on the document class. lf the class piovides
a \chapter command, the heading is similai to the bibliogiaphy heading of the
standaid LaTeX book class, i. e., it uses \chapter* to cieate an unnumbeied chaptei
heading which is not included in the table of contents. lf theie is no \chapter
command, it is similai to the bibliogiaphy heading of the standaid LaTeX article
class, i. e., it uses \section* to cieate an unnumbeied section heading which is not
included in the table of contents. Te stiing used in the heading also depends on
the document class. With book-like classes the localization stiing bibliography is
used, with othei classes it is references (see 4.9.2). See also 3.12.1 and 3.12.2
foi class-specic hints.
subbibliography
Similai to bibliography but one sectioning level lowei. Tis heading denition uses
\section* instead of \chapter* with a book-like class and \subsection* instead of
\section* otheiwise.

bibintoc
Similai to bibliography above but adds an entiy to the table of contents.
subbibintoc
Similai to subbibliography above but adds an entiy to the table of contents.
bibnumbered
Similai to bibliography above but uses \chapter oi \section to cieate a numbeied
heading which is also added to the table of contents.
subbibnumbered
Similai to subbibliography above but uses \section oi \subsection to cieate a
numbeied heading which is also added to the table of contents.
none
A blank heading denition. Use this to suppiess the heading.
Te following headings intended foi use with \printshorthands aie piedened
shorthands
Tis is the default heading used by \printshorthands if the heading option is not
given. lt is similai to bibliography above except that it uses the localization stiing
shorthands instead of bibliography oi references (see 4.9.2). See also 3.12.1
and 3.12.2 foi class-specic hints.
losintoc
Similai to shorthands above but adds an entiy to the table of contents.
losnumbered
Similai to shorthands above but uses \chapter oi \section to cieate a numbeied
heading which is also added to the table of contents.
3.6.8 Bibliography Notes
\defbibnote{name}{text}
Denes the bibliogiaphy note name, to be used via the prenote and postnote
options of \printbibliography and \printshorthands. Te text may be any ai-
bitiaiy piece of text, possibly spanning seveial paiagiaphs and containing font
declaiations. Also see 3.12..
3.6.9 Bibliography Filters and Checks
\defbibfilter{name}{expression}
Denes the custom bibliogiaphy ltei name, to be used via the filter option
of \printbibliography. Te expression is a complex test based on the logical
opeiatois and, or, not, the gioup sepaiatoi (...), and the following atomic tests

segment=integer
Matches all entiies cited in iefeience segment integer.
type=entrytype
Matches all entiies whose entiy type is entrytype.
subtype=subtype
Matches all entiies whose entrysubtype is subtype.
keyword=keyword
Matches all entiies whose keywords eld includes keyword. lf the keyword con-
tains spaces, it needs to be wiapped in biaces.
category=category
Matches all entiies assigned to category with \addtocategory.
Heie is an example of a ltei expiession
\defbibfilter{example}{%
( type=book or type=inbook )
and keyword=abc
and not keyword={x y z}
}
Tis ltei will match all entiies whose entiy type is eithei @book oi @inbook and
whose keywords eld includes the keywoid abc but not x y z. As seen in the above
example, all elements aie sepaiated by whitespace (spaces, tabs, oi line endings).
Teie is no spacing aiound the equal sign. Te logical opeiatois aie evaluated with
the \ifboolexpr command fiom the etoolbox package. See the etoolbox manual foi
details about the syntax. Te syntax of the \ifthenelse command fiom the ifthen
package, which has been employed in oldei veisions of biblatex, is still suppoited.
Tis is the same test using ifthen-like syntax
\defbibfilter{example}{%
\( \type{book} \or \type{inbook} \)
\and \keyword{abc}
\and \not \keyword{x y z}
}
Note that custom lteis aie local to the iefeience section in which they aie used.
Use the section ltei of \printbibliography to select a dieient section. Tis is
not possible fiom within a custom ltei.
\defbibcheck{name}{code}
Denes the custom bibliogiaphy ltei name, to be used via the check option
of \printbibliography. \defbibcheck is similai in concept to \defbibfilter but
much moie low-level. Rathei than a high-level expiession, the code is LaTeX code,
much like the code used in diivei denitions, which may peifoim aibitiaiy tests
to decide whethei oi not a given entiy is to be piinted. Te bibliogiaphic data of
the iespective entiy is available when the code is executed. lssuing the command
\skipentry in the code will cause the cuiient entiy to be skipped. Foi example,
the following ltei will only output entiies with an abstract eld
8
\defbibcheck{abstract}{%
\iffieldundef{abstract}{\skipentry}{}}
...
\printbibliography[check=abstract]
Te following check will exclude all entiies published befoie the yeai 2000
\defbibcheck{recent}{%
\iffieldint{year}
{\ifnumless{\thefield{year}}{2000}
{\skipentry}
{}}
{\skipentry}}
See the authoi guide, in paiticulai 4..2 and 4..3, foi fuithei details.
3.6.10 Dynamic Entry Sets
ln addition to the @set entiy type, biblatex also suppoits dynamic entiy sets dened
on a pei-document/pei-iefsection basis. Te following command, which may be
used in the document pieamble oi the document body, denes the set key
\defbibentryset{key}{key1,key2,key3, } Biber only
Te key is the entiy key of the set, which is used like any othei entiy key when
iefeiiing to the set. Te key must be unique and it must not conict with any othei
entiy key. Te second aigument is a comma-sepaiated list of the entiy keys which
make up the set. \defbibentryset implies the equivalent of a \nocite command,
i. e., all sets which aie declaied aie also added to the bibliogiaphy. When declaiing
the same set moie than once, only the ist invocation of \defbibentryset will
dene the set. Subsequent denitions of the same key aie ignoied and woik like
\nocitekey. Dynamic entiy sets dened in the document body aie local to the
enclosing refsection enviionment, if any. Otheiwise, they aie assigned to iefeience
section 0. Tose dened in the pieamble aie assigned to iefeience section 0. Note
that dynamic entiy sets iequiie Bibei. Tey will not woik with any othei backend.
See 3.11. foi fuithei details.
3.7 Citation Commands
All citation commands geneially take one mandatoiy and two optional aiguments.
Te prenote is text to be piinted at the beginning of the citation. Tis is usually
a notice such as see oi compaie. Te postnote is text to be piinted at the veiy
end of the citation. Tis is usually a page numbei. lf only one of these aiguments is
given, it is taken as a postnote. lf you want to specify a pienote but no postnote, you
need to leave the second optional aigument empty, as in \cite[see][]{key}. Te
key aigument to all citation commands is mandatoiy. Tis is the entiy key oi a
comma-sepaiated list of keys coiiesponding to the entiy keys in the bib le. ln sum,
all basic citations commands listed fuithei down have the following syntax
\command[prenote][postnote]{keys}punctuation
lf the autopunct package option fiom 3.1.2.1 is enabled, they will scan ahead
foi any punctuation immediately following theii last aigument. Tis is useful to
avoid spuiious punctuation maiks afei citations. Tis featuie is conguied with
\DeclareAutoPunctuation, see 4.. foi details.
9
3.7.1 Standard Commands
Te following commands aie dened by the citation style. Citation styles may
piovide any aibitiaiy numbei of specialized commands, but these aie the standaid
commands typically piovided by geneial-puipose styles.
\cite[prenote][postnote]{key}
\Cite[prenote][postnote]{key}
Tese aie the baie citation commands. Tey piint the citation without any additions
such as paientheses. Te numeiic and alphabetic styles still wiap the label in squaie
biackets since the iefeience may be ambiguous otheiwise. \Cite is similai to \cite
but capitalizes the name piex of the ist name in the citation if the useprefix
option is enabled, piovided that theie is a name piex and the citation style piints
any name at all.
\parencite[prenote][postnote]{key}
\Parencite[prenote][postnote]{key}
Tese commands use a foimat similai to \cite but enclose the entiie citation in paien-
theses. Te numeiic and alphabetic styles use squaie biackets instead. \Parencite is
similai to \parencite but capitalizes the name piex of the ist name in the citation
if the useprefix option is enabled, piovided that theie is a name piex and the
citation style piints any name at all.
\footcite[prenote][postnote]{key}
\footcitetext[prenote][postnote]{key}
Tese command use a foimat similai to \cite but put the entiie citation in a footnote
and add a peiiod at the end. ln the footnote, they automatically capitalize the name
piex of the ist name if the useprefix option is enabled, piovided that theie is a
name piex and the citation style piints any name at all. \footcitetext dieis fiom
\footcite in that it uses \footnotetext instead of \footnote.
3.7.2 Style-specific Commands
Te following additional citation commands aie only piovided by some of the citation
styles which ship with this package.
\textcite[prenote][postnote]{key}
\Textcite[prenote][postnote]{key}
Tese citation commands aie piovided by all styles that ship with this package. Tey
aie intended foi use in the ow of text, ieplacing the subject of a sentence. Tey piint
the authois oi editois followed by a citation label which is enclosed in paientheses.
Depending on the citation style, the label may be a numbei, the yeai of publication,
an abiidged veision of the title, oi something else. Te numeiic and alphabetic styles
use squaie biackets instead of paientheses. ln the veibose styles, the label is piovided
in a footnote. Tiailing punctuation is moved between the authoi oi editoi names
and the footnote maik. \Textcite is similai to \textcite but capitalizes the name
piex of the ist name in the citation if the useprefix option is enabled, piovided
that theie is a name piex.
80
\smartcite[prenote][postnote]{key}
\Smartcite[prenote][postnote]{key}
Like \parencite in a footnote and like \footcite in the body.
\cite*[prenote][postnote]{key}
Tis command is piovided by all authoi-yeai and authoi-title styles. lt is similai to
the iegulai \cite command but meiely piints the yeai oi the title, iespectively.
\parencite*[prenote][postnote]{key}
Tis command is piovided by all authoi-yeai and authoi-title styles. lt is similai to
the iegulai \parencite command but meiely piints the yeai oi the title, iespectively.
\supercite{key}
Tis command, which is only piovided by the numeiic styles, piints numeiic
citations as supeisciipts without biackets. lt uses \supercitedelim instead of
\multicitedelim as citation delimitei. Note that any prenote and postnote ai-
guments aie ignoied. lf they aie given, \supercite will discaid them and issue a
waining message.
3.7.3 Qalified Citation Lists
Tis package suppoits a class of special citation commands called multicite com-
mands. Te point of these commands is that theii aigument is a list of citations
wheie each item foims a fully qualied citation with a pie- and/oi postnote. Tis
is paiticulaily useful with paienthetical citations and citations given in footnotes.
lt is also possible to assign a pie- and/oi postnote to the entiie list. Te multicite
commands aie built on top of backend commands like \parencite and \footcite.
Te citation style piovides a multicite denition with \DeclareMultiCiteCommand
(see 4.3.1). Te following example illustiates the syntax of multicite commands
\parencites[35]{key1}[88--120]{key2}[23]{key3}
Te foimat of the aiguments is similai to that of the iegulai citation commands,
except that only one citation command is given. lf only one optional aigument is
given foi an item in the list, it is taken as a postnote. lf you want to specify a pienote
but no postnote, you need to leave the second optional aigument of the iespective
item empty
\parencites[35]{key1}[chapter 2 in][]{key2}[23]{key3}
ln addition to that, the entiie citation list may also have a pie- and/oi postnote. Te
syntax of these global notes dieis fiom othei optional aiguments in that they aie
given in paientheses iathei than the usual biackets
\parencites(and chapter 3)[35]{key1}[78]{key2}[23]{key3}
\parencites(Compare)()[35]{key1}[78]{key2}[23]{key3}
\parencites(See)(and the introduction)[35]{key1}[78]{key2}[23]{key3}
Note that the multicite commands keep on scanning foi aiguments until they en-
countei a token that is not the stait of an optional oi mandatoiy aigument. lf a lef
biace oi biacket follows a multicite command, you need to mask it by adding \relax
oi a contiol space (a backslash followed by a space) afei the last valid aigument.
Tis will cause the scannei to stop.
81
\parencites[35]{key1}[78]{key2}\relax[...]
\parencites[35]{key1}[78]{key2}\{...}
By default, this package piovides the following multicite commands which coiie-
spond to iegulai commands fiom 3..1 and 3..2
\cites(multiprenote)(multipostnote)[prenote][postnote]{key}...[prenote][postnote]{key}
\Cites(multiprenote)(multipostnote)[prenote][postnote]{key}...[prenote][postnote]{key}
Te multicite veision of \cite and \Cite, iespectively.
\parencites(multiprenote)(multipostnote)[prenote][postnote]{key}...[prenote][postnote]{key}
\Parencites(multiprenote)(multipostnote)[prenote][postnote]{key}...[prenote][postnote]{key}
Te multicite veision of \parencite and \Parencite, iespectively.
\footcites(multiprenote)(multipostnote)[prenote][postnote]{key}...[prenote][postnote]{key}
\footcitetexts(multiprenote)(multipostnote)[prenote][postnote]{key}...[prenote][postnote]{key}
Te multicite veision of \footcite and \footcitetext, iespectively.
\smartcites(multiprenote)(multipostnote)[prenote][postnote]{key}...[prenote][postnote]{key}
\Smartcites(multiprenote)(multipostnote)[prenote][postnote]{key}...[prenote][postnote]{key}
Te multicite veision of \smartcite and \Smartcite, iespectively.
\textcites(multiprenote)(multipostnote)[prenote][postnote]{key}...[prenote][postnote]{key}
\Textcites(multiprenote)(multipostnote)[prenote][postnote]{key}...[prenote][postnote]{key}
Te multicite veision of \textcite and \Textcite, iespectively.
\supercites(multiprenote)(multipostnote)[prenote][postnote]{key}...[prenote][postnote]{key}
Te multicite veision of \supercite. Tis command is only piovided by the numeiic
styles.
3.7.4 Style-independent Commands
Sometimes it is desiiable to give the citations in the souice le in a foimat that is
not tied to a specic citation style and can be modied globally in the pieamble.
Te foimat of the citations is easily changed by loading a dieient citation style.
Howevei, when using commands such as \parencite oi \footcite, the way the
citations aie integiated with the text is still eectively haid-coded. Te idea behind
the \autocite command is to piovide highei-level citation maikup which makes
global switching fiom inline citations to citations given in footnotes (oi as supei-
sciipts) possible. Te \autocite command is built on top of backend commands
like \parencite and \footcite. Te citation style piovides an \autocite denition
with \DeclareAutoCiteCommand (see 4.3.1). Tis denition may be activated with
the autocite package option fiom 3.1.2.1. Te citation style will usually initialize
this package option to a value which is suitable foi the style, see 3.3.1 foi details.
Note that theie aie ceitain limits to high-level citation maikup. Foi example, inline
authoi-yeai citation schemes ofen integiate citations so tightly with the text that it
is viitually impossible to automatically conveit them to footnotes. Te \autocite
command is only applicable in cases in which you would noimally use \parencite
oi \footcite (oi \supercite, with a numeiic style). Te citations should be given
at the end of a sentence oi a paitial sentence, immediately pieceding the teiminal
82
punctuation maik, and they should not be a pait of the sentence in a giammatical
sense (like \textcite, foi example).
\autocite[prenote][postnote]{key}
\Autocite[prenote][postnote]{key}
ln contiast to othei citation commands, the \autocite command does not only scan
ahead foi punctuation maiks following its last aigument to avoid double punctuation
maiks, it actually moves them aiound if iequiied. Foi example, with autocite=
footnote, a tiailing punctuation maik will be moved such that the footnote maik
is piinted afei the punctuation. \Autocite is similai to \autocite but capitalizes
the name piex of the ist name in the citation if the useprefix option is enabled,
piovided that theie is a name piex and the citation style piints any name at all.
\autocite*[prenote][postnote]{key}
\Autocite*[prenote][postnote]{key}
Te staiied vaiiants of \autocite do not behave dieiently fiom the iegulai ones.
Te asteiisk is simply passed on to the backend command. Foi example, if \autocite
is conguied to use \parencite, then \autocite* will execute \parencite*.
\autocites(multiprenote)(multipostnote)[prenote][postnote]{key}...[prenote][postnote]{key}
\Autocites(multiprenote)(multipostnote)[prenote][postnote]{key}...[prenote][postnote]{key}
Tis is the multicite veision of \autocite. lt also detects and moves punctuation if
iequiied. Note that theie is no staiied vaiiant. \Autocites is similai to \autocites
but capitalizes the name piex of the ist name in the citation if the useprefix
option is enabled, piovided that theie is a name piex and the citation style piints
any name at all.
3.7.5 Text Commands
Te following commands aie piovided by the coie of biblatex. Tey aie intended
foi use in the ow of text. Note that all text commands aie excluded fiom citation
tiacking.
\citeauthor[prenote][postnote]{key}
\citeauthor*[prenote][postnote]{key}
\Citeauthor[prenote][postnote]{key}
\Citeauthor*[prenote][postnote]{key}
Tese commands piint the authois. Stiictly speaking, it piints the labelname list,
which may be the author, the editor, oi the translator. \Citeauthor is similai
to \citeauthor but capitalizes the name piex of the ist name in the citation if
the useprefix option is enabled, piovided that theie is a name piex. Te staiied
vaiiants eectively foice maxcitenames to 1 foi just this command on so only piint
the ist name in the labelname list (potentially followed by the et al stiing if theie
aie moie names). Tis allows moie natuial textual ow when iefeiing to a papei in
the singulai when otheiwise \citeauthor would geneiate a (natuially pluial) list of
names.
83
\citetitle[prenote][postnote]{key}
\citetitle*[prenote][postnote]{key}
Tis command piints the title. lt will use the abiidged title in the shorttitle eld, if
available. Otheiwise it falls back to the full title found in the title eld. Te staiied
vaiiant always piints the full title.
\citeyear[prenote][postnote]{key}
\citeyear*[prenote][postnote]{key}
Tis command piints the yeai (year eld oi yeai component of date). Te staiied
vaiiant includes the extrayear infoimation, if any.
\citedate[prenote][postnote]{key}
\citedate*[prenote][postnote]{key}
Tis command piints the full date (date oi year). Te staiied vaiiant includes the
extrayear infoimation, if any.
\citeurl[prenote][postnote]{key}
Tis command piints the url eld.
\parentext{text}
Tis command wiaps the text in context sensitive paientheses.
\brackettext{text}
Tis command wiaps the text in context sensitive biackets.
3.7.6 Special Commands
Te following special commands aie also piovided by the coie of biblatex.
\nocite{key}
\nocite{*}
Tis command is similai to the standaid LaTeX \nocite command. lt adds the
key to the bibliogiaphy without piinting a citation. lf the key is an asteiisk, all
entiies available in the bib le aie added to the bibliogiaphy. Like all othei citation
commands, \nocite commands in the document body aie local to the enclosing
refsection enviionment, if any. ln contiast to standaid LaTeX, \nocite may also be
used in the document pieamble. ln this case, the iefeiences aie assigned to iefeience
section 0.
\fullcite[prenote][postnote]{key}
Tis command uses the bibliogiaphy diivei foi the iespective entiy type to cieate a
full citation similai to the bibliogiaphy entiy. lt is thus ielated to the bibliogiaphy
style iathei than the citation style.
\footfullcite[prenote][postnote]{key}
Similai to \fullcite but puts the entiie citation in a footnote and adds a peiiod at
the end.
84
\volcite[prenote]{volume}[page]{key}
\Volcite[prenote]{volume}[page]{key}
Tese commands aie similai to \cite and \Cite but intended foi iefeiences to multi-
volume woiks which aie cited by volume and page numbei. lnstead of the postnote,
they take a mandatoiy volume and an optional page aigument. Since they meiely
compose the postnote and pass it to the \cite command piovided by the citation
style as a postnote aigument, these commands aie style independent. Te foimat
of the volume poition is contiolled by the eld foimauing diiective volcitevolume,
the foimat of the page/text poition is contiolled by the eld foimauing diiective
volcitepages ( 4.10.4). Te delimitei piinted between the volume poition and the
page/text poition may be modied by iedening the macio \volcitedelim ( 4.10.1).
\volcites(multiprenote)(multipostnote)[prenote]{volume}[page]{key}
...[prenote]{volume}[page]{key}
\Volcites(multiprenote)(multipostnote)[prenote]{volume}[page]{key}
...[prenote]{volume}[page]{key}
Te multicite veision of \volcite and \Volcite, iespectively.
\pvolcite[prenote]{volume}[page]{key}
\Pvolcite[prenote]{volume}[page]{key}
Similai to \volcite but based on \parencite.
\pvolcites(multiprenote)(multipostnote)[prenote]{volume}[page]{key}
...[prenote]{volume}[page]{key}
\Pvolcites(multiprenote)(multipostnote)[prenote]{volume}[page]{key}
...[prenote]{volume}[page]{key}
Te multicite veision of \pvolcite and \Pvolcite, iespectively.
\fvolcite[prenote]{volume}[page]{key}
\ftvolcite[prenote]{volume}[page]{key}
Similai to \volcite but based on \footcite and \footcitetext, iespectively.
\fvolcites(multiprenote)(multipostnote)[prenote]{volume}[page]{key}
...[prenote]{volume}[page]{key}
\Fvolcites(multiprenote)(multipostnote)[prenote]{volume}[page]{key}
...[prenote]{volume}[page]{key}
Te multicite veision of \fvolcite and \Fvolcite, iespectively.
\svolcite[prenote]{volume}[page]{key}
\Svolcite[prenote]{volume}[page]{key}
Similai to \volcite but based on \smartcite.
\svolcites(multiprenote)(multipostnote)[prenote]{volume}[page]{key}
...[prenote]{volume}[page]{key}
\Svolcites(multiprenote)(multipostnote)[prenote]{volume}[page]{key}
...[prenote]{volume}[page]{key}
Te multicite veision of \svolcite and \Svolcite, iespectively.
8
\tvolcite[prenote]{volume}[page]{key}
\Tvolcite[prenote]{volume}[page]{key}
Similai to \volcite but based on \textcite.
\tvolcites(multiprenote)(multipostnote)[prenote]{volume}[page]{key}
...[prenote]{volume}[page]{key}
\Tvolcites(multiprenote)(multipostnote)[prenote]{volume}[page]{key}
...[prenote]{volume}[page]{key}
Te multicite veision of \tvolcite and \Tvolcite, iespectively.
\avolcite[prenote]{volume}[page]{key}
\Avolcite[prenote]{volume}[page]{key}
Similai to \volcite but based on \autocite.
\avolcites(multiprenote)(multipostnote)[prenote]{volume}[page]{key}
...[prenote]{volume}[page]{key}
\Avolcites(multiprenote)(multipostnote)[prenote]{volume}[page]{key}
...[prenote]{volume}[page]{key}
Te multicite veision of \avolcite and \Avolcite, iespectively.
\notecite[prenote][postnote]{key}
\Notecite[prenote][postnote]{key}
Tese commands piint the prenote and postnote aiguments but no citation. ln-
stead, a \nocite command is issued foi eveiy key. Tis may be useful foi authois
who incoipoiate implicit citations in theii wiiting, only giving infoimation not
mentioned befoie in the iunning text, but who still want to take advantage of the
automatic postnote foimauing and the implicit \nocite function. Tis is a geneiic,
style-independent citation command. Special citation styles may piovide smaitei
facilities foi the same puipose. Te capitalized veision foices capitalization (note
that this is only applicable if the note staits with a command which is sensitive to
biblatexs punctuation tiackei).
\pnotecite[prenote][postnote]{key}
\Pnotecite[prenote][postnote]{key}
Similai to \notecite but the notes aie piinted in paientheses.
\fnotecite[prenote][postnote]{key}
Similai to \notecite but the notes aie piinted in a footnote.
3.7.7 Low-level Commands
Te following commands aie also piovided by the coie of biblatex. Tey giant
access to all lists and elds at a lowei level.
\citename[prenote][postnote]{key}[format]{name list}
Te format is a foimauing diiective dened with \DeclareNameFormat. Foimauing
diiectives aie discussed in 4.4.2. lf this optional aigument is omiued, this command
falls back to the foimat citename. Te last aigument is the name of a name list, in
the sense explained in 2.2.
8
\citelist[prenote][postnote]{key}[format]{literal list}
Te format is a foimauing diiective dened with \DeclareListFormat. Foimauing
diiectives aie discussed in 4.4.2. lf this optional aigument is omiued, this command
falls back to the foimat citelist. Te last aigument is the name of a literal list, in
the sense explained in 2.2.
\citefield[prenote][postnote]{key}[format]{eld}
Te format is a foimauing diiective dened with \DeclareFieldFormat. Foi-
mauing diiectives aie discussed in 4.4.2. lf this optional aigument is omiued,
this command falls back to the foimat citefield. Te last aigument is the name of
a eld, in the sense explained in 2.2.
3.7.8 Miscellaneous Commands
Te commands in this section aie liule helpeis ielated to citations.
\citereset Tis command iesets the citation style. Tis may be useful if the style ieplaces
iepeated citations with abbieviations like ibidem, idem, op. cit., etc. and you want
to foice a full citation at the beginning of a new chaptei, section, oi some othei
location. Te command executes a style specic initialization hook dened with
the \InitializeCitationStyle command fiom 4.3.1. lt also iesets the inteinal
citation tiackeis of this package. Te ieset will aect the \ifciteseen, \ifentryseen,
\ifciteibid, and \ifciteidem tests discussed in 4..2. When used inside a
refsection enviionment, the ieset of the citation tiackei is local to the cuiient
refsection enviionment. Also see the citereset package option in 3.1.2.1.
\citereset* Similai to \citereset but only executes the styles initialization hook, without
ieseuing the inteinal citation tiackeis.
\mancite Use this command to maik manually inseited citations if you mix automatically
geneiated and manual citations. Tis is paiticulaily useful if the citation style ie-
places iepeated citations by an abbieviation like ibidem which may get ambiguous
oi misleading otheiwise. Always use \mancite in the same context as the manual
citation, e. g., if the citation is given in a footnote, include \mancite in the foot-
note. Te \mancite command executes a style specic ieset hook dened with the
\OnManualCitation command fiom 4.3.1. lt also iesets the inteinal ibidem and
idem tiackeis of this package. Te ieset will aect the \ifciteibid and \ifciteidem
tests discussed in 4..2.
\pno Tis command foices a single page piex in the postnote aigument to a citation
command. See 3.12.3 foi fuithei details and usage instiuctions. Note that this
command is only available locally in citations and the bibliogiaphy.
\ppno Similai to \pno but foices a iange piex. See 3.12.3 foi fuithei details and usage
instiuctions. Note that this command is only available locally in citations and the
bibliogiaphy.
\nopp Similai to \pno but suppiesses all piexes. See 3.12.3 foi fuithei details and usage
instiuctions. Note that this command is only available locally in citations and the
bibliogiaphy.
8
\psq ln the postnote aigument to a citation command, this command indicates a iange of
two pages wheie only the staiting page is given. See 3.12.3 foi fuithei details and
usage instiuctions. Te sux piinted is the localization stiing sequens, see 4.9.2.
Te spacing inseited between the sux and the page numbei may be modied by
iedening the macio \sqspace. Te default is an unbieakable inteiwoid space. Note
that this command is only available locally in citations and the bibliogiaphy.
\psqq Similai to \psq but indicates an open-ended page iange. See 3.12.3 foi fuithei
details and usage instiuctions. Te sux piinted is the localization stiing sequentes,
see 4.9.2. Tis command is only available locally in citations and the bibliogiaphy.
\RN{integer}
Tis command piints an integei as an uppeicase Roman numeial. Te foimauing
applied to the numeial may be modied by iedening the macio \RNfont.
\Rn{integer}
Similai to \RN but piints a loweicase Roman numeial. Te foimauing applied to the
numeial may be modied by iedening the macio \Rnfont.
3.7.9 natbib Compatibility Commands
Te natbib package option loads a natbib compatibility module. Te module de-
nes aliases foi the citation commands piovided by the natbib package. Tis in-
cludes aliases foi the coie citation commands \citet and \citep as well as the
vaiiants \citealt and \citealp. Te staiied vaiiants of these commands, which
piint the full authoi list, aie also suppoited. Te \cite command, which is han-
dled in a paiticulai way by natbib, is not tieated in a special way. Te text com-
mands (\citeauthor, \citeyear, etc.) aie also suppoited, as aie all commands
which capitalize the name piex (\Citet, \Citep, \Citeauthor, etc.). Aliasing with
\defcitealias, \citetalias, and \citepalias is possible as well. Note that the
compatibility commands will not emulate the citation foimat of the natbib package.
Tey meiely alias natbibs commands to functionally equivalent facilities of the
biblatex package. Te citation foimat depends on the main citation style. Howevei,
the compatibility style will adapt \nameyeardelim to match the default style of the
natbib package.
3.7.10 mcite-like Citation Commands Biber only
Te mcite package option loads a special citation module which piovides mcite/
mciteplus-like citation commands. Stiictly speaking, what the module piovides aie
wiappeis foi the commands of the main citation style. Foi example, the following
command
\mcite{key1,setA,*keyA1,*keyA2,*keyA3,key2,setB,*keyB1,*keyB2,*keyB3}
is essentially equivalent to this
\defbibentryset{setA}{keyA1,keyA2,keyA3}%
\defbibentryset{setB}{keyB1,keyB2,keyB3}%
\cite{key1,setA,key2,setB}
88
Standard Command mcite-like Command
\cite \mcite
\Cite \Mcite
\parencite \mparencite
\Parencite \Mparencite
\footcite \mfootcite
\footcitetext \mfootcitetext
\textcite \mtextcite
\Textcite \Mtextcite
\supercite \msupercite
Table 6: mcite-like commands
Te \mcite command will woik with any style since the \cite backend command is
contiolled by the main citation style as usual. Te mcite module piovides wiappeis
foi the standaid commands in 3..1 and 3..2. See table foi an oveiview. Pie
and postnotes as well as staiied vaiiants of all commands aie also suppoited. Te
paiameteis will be passed to the backend command. Foi example
\mcite*[pre][post]{setA,*keyA1,*keyA2,*keyA3}
will execute
\defbibentryset{setA}{keyA1,keyA2,keyA3}%
\cite*[pre][post]{setA}
Note that the mcite module is not a compatibility module. lt piovides commands
which aie veiy similai but not identical in syntax and function to mcites commands.
When migiating fiom mcite/mciteplus to biblatex, legacy les must be updated.
With mcite, the ist membei of the citation gioup is also the identiei of the gioup
as a whole. Boiiowing an example fiom the mcite manual, this gioup
\cite{glashow,*salam,*weinberg}
consists of thiee entiies and the entiy key of the ist one also seives as identiei of
the entiie gioup. ln contiast to that, a biblatex entiy set is an entity in its own iight.
Teiefoie, it iequiies a unique entiy key which is assigned to the set as it is dened
\mcite{set1,*glashow,*salam,*weinberg}
Once dened, an entiy set is handled like any iegulai entiy in a bib le. When
using one of the numeric styles which ship with biblatex and activating its subentry
option, it is even possible to iefei to set membeis. See table foi some examples.
Restating the oiiginal denition of the set is iedundant, but peimissible. ln contiast
to mciteplus, howevei, iestating a pait of the oiiginal denition is invalid. Use the
entiy key of the set instead.
3.8 Localization Commands
Te biblatex package piovides tianslations foi key teims such as edition oi vol-
ume as well as denitions foi language specic featuies such as the date foimat
and oidinals. Tese denitions, which aie loaded automatically, may be modied oi
extended in the document pieamble oi the conguiation le with the commands
intioduced in this section.
89
Input Output Comment
\mcite{set1,*glashow,*salam,*weinberg} [1] Dening and citing the set
\mcite{set1} [1] Subsequent citation of the set
\cite{set1} [1] Regulai \cite woiks as usual
\mcite{set1,*glashow,*salam,*weinberg} [1] Redundant, but peimissible
\mcite{glashow} [1a] Citing a set membei
\cite{weinberg} [1c] Regulai \cite woiks as well
Table 7: mcite-like syntax (sample output with style=numeric and subentry
option)
\DefineBibliographyStrings{language}{denitions}
Tis command is used to dene localization stiings. Te language must be a
language name known to the babel/polyglossia packages, i. e., one of the identieis
listed in table 2 on page 24. Te denitions aie key=value paiis which assign
an expiession to an identiei
\DefineBibliographyStrings{american}{%
bibliography = {Bibliography},
shorthands = {Abbreviations},
editor = {editor},
editors = {editors},
}
A complete list of all keys suppoited by default is given is 4.9.2. Note that all
expiessions should be capitalized as they usually aie when used in the middle
of a sentence. Te biblatex package will automatically capitalize the ist woid
when iequiied at the beginning of a sentence. Expiessions intended foi use in
headings should be capitalized in a way that is suitable foi titling. ln contiast to
\DeclareBibliographyStrings, \DefineBibliographyStrings oveiiides both the
full and the abbieviated veision of the stiing. See 4.9.1 foi fuithei details.
\DefineBibliographyExtras{language}{code}
Tis command is used to adapt language specic featuies such as the date foimat and
oidinals. Te language must be a language name known to the babel/polyglossia
packages. Te code, which may be aibitiaiy LaTeX code, will usually consist of
iedenitions of the foimauing commands fiom 3.9.2.
\UndefineBibliographyExtras{language}{code}
Tis command is used to iestoie the oiiginal denition of any commands modied
with \DefineBibliographyExtras. lf a iedened command is included in 3.9.2,
theie is no need to iestoie its pievious denition since these commands aie adapted
by all language modules anyway.
\DefineHyphenationExceptions{language}{text}
Tis is a LaTeX fiontend to TeXs \hyphenation command which denes hy-
phenation exceptions. Te language must be a language name known to the
babel/polyglossia packages. Te text is a whitespace-sepaiated list of woids.
Hyphenation points aie maiked with a dash
90
\DefineHyphenationExceptions{american}{%
hy-phen-ation ex-cep-tion
}
\NewBibliographyString{key}
Tis command declaies new localization stiings, i. e., it initializes a new key to be
used in the denitions of \DefineBibliographyStrings. Te key aigument may
also be a comma-sepaiated list of key names. Te keys listed in 4.9.2 aie dened
by default.
3.9 Formating Commands
Te commands and facilities piesented in this section may be used to adapt the
foimat of citations and the bibliogiaphy.
3.9.1 Generic Commands and Hooks
Te commands in this section may be iedened with \renewcommand in the document
pieamble. Note that all commands staiting with \mk take one aigument. All of
these commands aie dened in biblatex.def.
\bibsetup Aibitiaiy code to be executed at the beginning of the bibliogiaphy, intended foi
commands which aect the layout of the bibliogiaphy.
\bibfont Aibitiaiy code seuing the font used in the bibliogiaphy. Tis is veiy similai to
\bibsetup but intended foi switching fonts.
\citesetup Aibitiaiy code to be executed at the beginning of each citation command.
\newblockpunct Te sepaiatoi inseited between blocks in the sense explained in 4..1. Te default
denition is contiolled by the package option block (see 3.1.2.1).
\newunitpunct Te sepaiatoi inseited between units in the sense explained in 4..1. Tis will
usually be a peiiod oi a comma plus an inteiwoid space. Te default denition is a
peiiod and a space.
\finentrypunct Te punctuation piinted at the veiy end of eveiy bibliogiaphy entiy, usually a peiiod.
Te default denition is a peiiod.
\entrysetpunct Te punctuation piinted between bibliogiaphy subentiies of an entiy set. Te default Biber only
denition is a semicolon and a space.
\bibnamedelima Tis delimitei contiols the spacing between the elements which make up a name Biber only
pait. lt is inseited automatically afei the ist name element if the element is less
than thiee chaiacteis long and befoie the last element. Te default denition is an
inteiwoid space penalized by the value of the highnamepenalty countei ( 3.9.3).
Please iefei to 3.12.4 foi fuithei details.
\bibnamedelimb Tis delimitei is inseited between the elements which make up a name pait wheie Biber only
\bibnamedelima does not apply. Te default denition is an inteiwoid space penal-
ized by the value of the lownamepenalty countei ( 3.9.3). Please iefei to 3.12.4 foi
fuithei details.
91
\bibnamedelimc Tis delimitei contiols the spacing between name paits. lt is inseited between
the name piex and the last name if useprefix=true. Te default denition is an
inteiwoid space penalized by the value of the highnamepenalty countei ( 3.9.3).
Please iefei to 3.12.4 foi fuithei details.
\bibnamedelimd Tis delimitei is inseited between all name paits wheie \bibnamedelimc does not
apply. Te default denition is an inteiwoid space penalized by the value of the
lownamepenalty countei ( 3.9.3). Please iefei to 3.12.4 foi fuithei details.
\bibnamedelimi Tis delimitei ieplaces \bibnamedelima/b afei initials. Note that this only applies Biber only
to initials given as such in the bib le, not to the initials automatically geneiated by
biblatex which use theii own set of delimiteis.
\bibinitperiod Te punctuation inseited afei initials unless \bibinithyphendelim applies. Te Biber only
default denition is a peiiod (\adddot). Please iefei to 3.12.4 foi fuithei details.
\bibinitdelim Te spacing inseited between multiple initials unless \bibinithyphendelim applies. Biber only
Te default denition is an unbieakable inteiwoid space. Please iefei to 3.12.4 foi
fuithei details.
\bibinithyphendelim Te punctuation inseited between the initials of hyphenated name paits, ieplacing Biber only
\bibinitperiod and \bibinitdelim. Te default denition is a peiiod followed by
an unbieakable hyphen. Please iefei to 3.12.4 foi fuithei details.
\bibindexnamedelima Replaces \bibnamedelima in the index.
\bibindexnamedelimb Replaces \bibnamedelimb in the index.
\bibindexnamedelimc Replaces \bibnamedelimc in the index.
\bibindexnamedelimd Replaces \bibnamedelimd in the index.
\bibindexnamedelimi Replaces \bibnamedelimi in the index.
\bibindexinitperiod Replaces \bibinitperiod in the index.
\bibindexinitdelim Replaces \bibinitdelim in the index.
\bibindexinithyphendelim Replaces \bibinithyphendelim in the index.
\revsdnamepunct Te punctuation to be piinted between the ist and last name paits when a name
is ieveised. Heie is an example showing a name with the default comma as
\revsdnamedelim
Jones, Edward
Tis command should be used with \bibnamedelimd as a ieveised-name sepaiatoi
in foimauing diiectives foi name lists. Please iefei to 3.12.4 foi fuithei details.
\bibnamedash Te dash to be used as a ieplacement foi iecuiient authois oi editois in the biblio-
giaphy. Te default is an em oi an en dash, depending on the indentation of the
list of iefeiences.
\labelnamepunct Te sepaiatoi piinted afei the name used foi alphabetizing in the bibliogiaphy
(author oi editor, if the author eld is undened). With the default styles,
this sepaiatoi ieplaces \newunitpunct at this location. Te default denition is
\newunitpunct, i. e., it is not handled dieiently fiom iegulai unit punctuation.
92
\subtitlepunct Te sepaiatoi piinted between the elds title and subtitle, booktitle and
booksubtitle, as well as maintitle and mainsubtitle. With the default styles,
this sepaiatoi ieplaces \newunitpunct at this location. Te default denition is
\newunitpunct, i. e., it is not handled dieiently fiom iegulai unit punctuation.
\intitlepunct Te sepaiatoi between the woid in and the following title in entiy types such
as @article, @inbook, @incollection, etc. Te default denition is a colon plus an
inteiwoid space (e. g.,Aiticle, in Journal oi Title, in Book). Note that this is the
sepaiatoi stiing, not only the punctuation maik. lf you dont want a colon afei in,
\intitlepunct should still inseit a space.
\bibpagespunct Te sepaiatoi piinted befoie the pages eld. Te default is a comma plus an inteiwoid
space.
\bibpagerefpunct Te sepaiatoi piinted befoie the pageref eld. Te default is an inteiwoid space.
\multinamedelim Te delimitei piinted between multiple items in a name list like author oi editor if
theie aie moie than two names in the list. Te default is a comma plus an inteiwoid
space. See \finalnamedelim foi an example.
22
\finalnamedelim Te delimitei piinted instead of \multinamedelim befoie the nal name in a name
list. Te default is the localized teim and, sepaiated by inteiwoid spaces. Heie is
an example
Michel Goossens, Frank Mittelbach and Alexander Samarin
Edward Jones and Joe Williams
Te comma in the ist example is the \multinamedelim wheieas the stiing and in
both examples is the \finalnamedelim. See also \finalandcomma in 3.9.2.
\revsdnamedelim An extia delimitei piinted afei the ist name in a name list if the ist name is
ieveised. Te default is an empty stiing, i. e., no extia delimitei will be piinted. Heie
is an example showing a name list with a comma as \revsdnamedelim
Jones, Edward, and Joe Williams
ln this example, the comma afei Edwaid is the \revsdnamedelim wheieas the stiing
and is the \finalnamedelim, piinted in addition to the foimei.
\andothersdelim Te delimitei piinted befoie the localization stiing andothers if a name list like
author oi editor is tiuncated. Te default is an inteiwoid space.
\multilistdelim Te delimitei piinted between multiple items in a liteial list like publisher oi
location if theie aie moie than two items in the list. Te default is a comma
plus an inteiwoid space. See \multinamedelim foi fuithei explanation.
\finallistdelim Te delimitei piinted instead of \multilistdelim befoie the nal item in a liteial
list. Te default is the localized teim and, sepaiated by inteiwoid spaces. See
\finalnamedelim foi fuithei explanation.
\andmoredelim Te delimitei piinted befoie the localization stiing andmore if a liteial list like
publisher oi location is tiuncated. Te default is an inteiwoid space.
22
Note that \multinamedelim is not used at all if theie aie only two names in the list. ln this case, the
default styles use the \finalnamedelim.
93
\multicitedelim Te delimitei piinted between citations if multiple entiy keys aie passed to a single
citation command. Te default is a semicolon plus an inteiwoid space.
\supercitedelim Similai to \multicitedelim, but used by the \supercite command only. Te default
is a comma.
\compcitedelim Similai to \multicitedelim, but used by ceitain citation styles when compiessing
multiple citations. Te default denition is a comma plus an inteiwoid space.
\textcitedelim Similai to \multicitedelim, but used by \textcite and ielated commands ( 3..2).
Te default is a comma plus an inteiwoid space. Te standaid styles modify this
piovisional denition to ensuie that the delimitei befoie the nal citation is the
localized teim and, sepaiated by inteiwoid spaces. See also \finalandcomma and
\finalandsemicolon in 3.9.2.
\nametitledelim Te delimitei piinted between the authoi/editoi and the title by authoi-title and
some veibose citation styles. Te default denition is a comma plus an inteiwoid
space.
\nameyeardelim Te delimitei piinted between the authoi/editoi and the yeai by authoi-yeai citation
styles. Te default denition is an inteiwoid space.
\labelalphaothers A stiing to be appended to the non-numeiic poition of the labelalpha eld (i. e.,
the eld holding the citation label used by alphabetic citation styles) if the numbei
of authois/editois exceeds the maxalphanames thieshold oi the author/editor list
was tiuncated in the bib le with the keywoid and others. Tis will typically be a
single chaiactei such as a plus sign oi an asteiisk. Te default is a plus sign. Tis
command may also be iedened to an empty stiing to disable this featuie. ln any
case, it must be iedened in the pieamble.
\sortalphaothers Similai to \labelalphaothers but used in the soiting piocess. Seuing it to a dieient Biber only
value is advisable if the lauei contains foimauing commands, foi example
\renewcommand*{\labelalphaothers}{\textbf{+}}
\renewcommand*{\sortalphaothers}{+}
lf \sortalphaothers is not iedened, it defaults to \labelalphaothers.
\prenotedelim Te delimitei piinted afei the prenote aigument of a citation command. See 3.
foi details. Te default is an inteiwoid space.
\postnotedelim Te delimitei piinted befoie the postnote aigument of a citation command. See
3. foi details. Te default is a comma plus an inteiwoid space.
\mkbibnamelast{text}Tis command, which takes one aigument, is used to foimat the last name
of all authois, editois, tianslatois, etc.
\mkbibnamefirst{text}Similai to \mkbibnamelast, but intended foi the ist name.
\mkbibnameprefix{text}Similai to \mkbibnamelast, but intended foi the name piex.
\mkbibnameaffix{text}Similai to \mkbibnamelast, but intended foi the name ax.
94
\relatedpunct Te sepaiatoi between the relatedtype bibliogiaphy localization stiing and the data
fiom the ist ielated entiy. Heie is an example with \relatedpunct set to a dash
A. Smith. Title. 2000, (Orig. pub. as-Origtitle)
\relateddelim Te sepaiatoi between the data of multiple ielated entiies. Te default denition is
an optional dot plus linebieak. Heie is an example wheie volumes A-E aie ielated
entiies of the volume main woik
Donald E. Knuth. Computers & Typesetting. 5 vols. Reading, Mass.: Addison-
Wesley, 1984-1986.
Vol. A: The TEXbook. 1984.
Vol. B: TEX: The Program. 1986.
Vol. C: The METAFONTbook. By. 1986.
Vol. D: METAFONT: The Program. 1986.
Vol. E: Computer Modern Typefaces. 1986.
3.9.2 Language-specific Commands
Te commands in this section aie language specic. When iedening them, you
need to wiap the new denition in a \DeclareBibliographyExtras command (in an
.lbx le) oi a \DefineBibliographyExtras command (usei documents), see 3.8
foi details. Note that all commands staiting with \mk take one oi moie aiguments.
\bibrangedash Te language specic dash to be used foi ianges of numbeis.
\bibrangessep Biber only
Te language specic sepaiatoi to be used between multiple ianges.
\bibdatedash Te language specic dash to be used foi date ianges.
\mkbibdatelong Takes the names of thiee eld as aiguments which coiiespond to thiee date compo-
nents (in the oidei yeai/month/day) and uses theii values to piint the date in the
language specic long date foimat.
\mkbibdateshort Similai to \mkbibdatelong but using the language specic shoit date foimat.
\finalandcomma Piints the comma to be inseited befoie the nal and in a list, if applicable in the
iespective language. Heie is an example
Michel Goossens, Frank Mittelbach, and Alexander Samarin
\finalandcomma is the comma befoie the woid and. See also \multinamedelim,
\finalnamedelim, \textcitedelim, and \revsdnamedelim in 3.9.1.
\finalandsemicolon Piints the semicolon to be inseited befoie the nal and in a list of lists, if applicable
in the iespective language. Heie is an example
Goossens, Mittelbach, and Samarin; Bertram and Wenworth; and Knuth
\finalandsemicolon is the semicolon befoie the woid and. See also
\textcitedelim in 3.9.1.
9
\mkbibordinal{integer}
Tis command, which takes an integei as its aigument, piints an oidinal numbei.
\mkbibmascord{integer}
Similai to \mkbibordinal, but piints a masculine oidinal, if applicable in the iespec-
tive language.
\mkbibfemord{integer}
Similai to \mkbibordinal, but piints a feminine oidinal, if applicable in the iespective
language.
\mkbibneutord{integer}
Similai to \mkbibordinal, but piints a neutei oidinal, if applicable in the iespective
language.
\mkbibordedition{integer}
Similai to \mkbibordinal, but intended foi use with the teim edition.
\mkbibordseries{integer}
Similai to \mkbibordinal, but intended foi use with the teim seiies.
3.9.3 Lengths and Counters
Te length iegisteis and counteis in this section may be changed in the document
pieamble with \setlength and \setcounter, iespectively.
\bibhang Te hanging indentation of the bibliogiaphy, if applicable. Tis length is initialized
to \parindent at load-time.
\biblabelsep Te hoiizontal space between entiies and theii coiiesponding labels in the bibliogia-
phy. Tis only applies to bibliogiaphy styles which piint labels, such as the numeric
and alphabetic styles. Tis length is initialized to twice the value of \labelsep at
load-time.
\bibitemsep Te veitical space between the individual entiies in the bibliogiaphy. Tis length
is initialized to \itemsep at load-time. Note that \bibitemsep, \bibnamesep, and
\bibinitsep obey the iules foi \addvspace, that is, when veitical space intioduced
by any of these commands immediately follows on fiom space intioduced by anothei
of them, the iesulting total space is equal to the laigest of them.
\bibnamesep Veitical space to be inseited between two entiies in the bibliogiaphy whenevei an
entiy staits with a name which is dieient fiom the initial name of the pievious
entiy. Te default value is zeio. Seuing this length to a positive value gieatei
than \bibitemsep will gioup the bibliogiaphy by authoi/editoi name. Note that
\bibitemsep, \bibnamesep, and \bibinitsep obey the iules foi \addvspace, that is,
when veitical space intioduced by any of these commands immediately follows on
fiom space intioduced by anothei of them, the iesulting total space is equal to the
laigest of them.
9
\bibinitsep Veitical space to be inseited between two entiies in the bibliogiaphy whenevei an
entiy staits with a leuei which is dieient fiom the initial leuei of the pievious
entiy. Te default value is zeio. Seuing this length to a positive value gieatei than
\bibitemsep will gioup the bibliogiaphy alphabetically. Note that \bibitemsep,
\bibnamesep, and \bibinitsep obey the iules foi \addvspace, that is, when veitical
space intioduced by any of these commands immediately follows on fiom space
intioduced by anothei of them, the iesulting total space is equal to the laigest of
them.
\bibparsep Te veitical space between paiagiaphs within an entiy in the bibliogiaphy. Te
default value is zeio.
abbrvpenalty Tis countei, which is used by the localization modules, holds the penalty used in
shoit oi abbieviated localization stiings. Foi example, a linebieak in expiessions
such as et al. oi ed. by is unfoitunate, but should still be possible to pievent
oveifull boxes. Tis countei is initialized to \hyphenpenalty at load-time. Te idea
is making TeX tieat the whole expiession as if it weie a single, hyphenatable woid as
fai as line-bieaking is conceined. lf you dislike such linebieaks, use a highei value.
lf you do not mind them at all, set this countei to zeio. lf you want to suppiess them
unconditionally, set it to innite (10 000 oi highei).
23
highnamepenalty Tis countei holds a penalty aecting line-bieaking in names. Please iefei to 3.12.4
and 3.9.1 foi explanation. Te countei is initialized to \hyphenpenalty at load-time.
Use a highei value if you dislike the iespective linebieaks. lf you do not mind them
at all, set this countei to zeio. lf you piefei the tiaditional BibTeX behavioi (no
linebieaks at highnamepenalty bieakpoints), set it to innite (10 000 oi highei).
lownamepenalty Similai to highnamepenalty. Please iefei to 3.12.4 and 3.9.1 foi explanation. Te
countei is initialized to half the \hyphenpenalty at load-time. Use a highei value if
you dislike the iespective linebieaks. lf you do not mind them at all, set this countei
to zeio.
3.9.4 All-purpose Commands
Te commands in this section aie all-puipose text commands which aie geneially
available, not only in citations and the bibliogiaphy.
\bibellipsis An ellipsis symbol with biackets [].
\noligature Disables ligatuies at this position and adds some space. Use this command to bieak
up standaid ligatuies like and . lt is similai to the "| shoithand piovided by
some language modules of the babel/polyglossia packages.
\hyphenate A conditional hyphen. ln contiast to the standaid \- command, this one allows
hyphenation in the iest of the woid. lt is similai to the "- shoithand piovided by
some language modules of the babel/polyglossia packages.
23
Te default values assigned to abbrvpenalty, lownamepenalty, and highnamepenalty aie delibei-
ately veiy low to pievent oveifull boxes. Tis implies that you will haidly notice any eect on
line-bieaking if the text is set justied. lf you set these counteis to 10 000 to suppiess the iespective
bieakpoints, you will notice theii eect but you may also be confionted with oveifull boxes. Keep
in mind that line-bieaking in the bibliogiaphy is ofen moie dicult than in the body text and
that you can not iesoit to iephiasing a sentence. ln some cases it may be piefeiable to set the
entiie bibliogiaphy \raggedright to pievent suboptimal linebieaks. ln this case, even the faiily
low default penalties will make a visible dieience.
9
\hyphen An explicit, bieakable hyphen intended foi compound woids. ln contiast to a liteial
-, this command allows hyphenation in the iest of the woid. lt is similai to the "=
shoithand piovided by some language modules of the babel/polyglossia packages.
\nbhyphen An explicit, non-bieakable hyphen intended foi compound woids. ln contiast to a
liteial -, this command does not peimit line bieaks at the hyphen but still allows
hyphenation in the iest of the woid. lt is similai to the "~ shoithand piovided by
some language modules of the babel/polyglossia packages.
\nohyphenation A geneiic switch which suppiesses hyphenation locally. lts scope should noimally
be conned to a gioup.
\textnohyphenation{text}
Similai to \nohyphenation but iestiicted to the text aigument.
\mknumalph{integer}
Takes an integei in the iange 102 as its aigument and conveits it to a stiing as
follows 1a, , 2z, 2aa, , 02zz. Tis is intended foi use in foimauing
diiectives foi the extrayear and extraalpha elds.
\mkbibacro{text}
Geneiic command which typesets an acionym using the small caps vaiiant of the
cuiient font, if available, and as-is otheiwise. Te acionym should be given in
uppeicase leueis.
\autocap{character}
Automatically conveits the character to its uppeicase foim if biblatexs punc-
tuation tiackei would capitalize a localization stiing at the cuiient location. Tis
command is iobust. lt is useful foi conditional capitalization of ceitain stiings in an
entiy. Note that the character aigument is a single chaiactei given in loweicase.
Foi example
\autocap{s}pecial issue
will yield Special issue oi special issue, as appiopiiate. lf the stiing to be capitalized
staits with an inected chaiactei given in Ascii notation, include the accent command
in the character aigument as follows
\autocap{\'e}dition sp\'eciale
Tis will yield Edition spciale oi dition spciale. lf the stiing to be capitalized
staits with a command which piints a chaiactei, such as \ae oi \oe, simply put the
command in the character aigument
\autocap{\oe}uvres
Tis will yield uvies oi uvies.
3.10 Language-specific Notes
Te facilities discussed in this section aie specic to ceitain localization modules.
98
3.10.1 American
Te Ameiican localization module uses \uspunctuation fiom 4.. to enable
Ameiican-style punctuation. lf this featuie is enabled, all tiailing commas and
peiiods afei \mkbibquote will be moved inside the quotes. lf you want to disable
this featuie, use \stdpunctuation as follows
\DefineBibliographyExtras{american}{%
\stdpunctuation
}
By default, the Ameiican punctuation featuie is enabled by the american localization
module only. Te above code is only iequiied if you want Ameiican localization
without Ameiican punctuation. Since standaid punctuation is the package default, it
would be iedundant with any othei language.
lt is highly advisable to always specify american, british, australian, etc. iathei
than english when loading the babel/polyglossia packages to avoid any possible
confusion. Oldei veisions of the babel package used to tieat english as an alias foi
british, moie iecent ones tieat it as an alias foi american. Te biblatex package
essentially tieats english as an alias foi american, except foi the above featuie which
is only enabled if american is iequested explicitly.
3.10.2 Spanish
Handling the woid and is moie dicult in Spanish than in the othei languages
suppoited by this package because it may be y oi e, depending on the initial sound
of the following woid. Teiefoie, the Spanish localization module does not use the
localization stiing and but a special inteinal smait and command. Te behavioi of
this command is contiolled by the smartand countei.
smartand Tis countei contiols the behavioi of the inteinal smait and command. When set
to 1, it piints y oi e, depending on the context. When set to 2, it always piints y.
When set to 3, it always piints e. When set to 0, the smait and featuie is disabled.
Tis countei is initialized to 1 at load-time and may be changed in the pieamble.
Note that seuing this countei to a positive value implies that the Spanish localization
module ignoies \finalnamedelim and \finallistdelim.
\forceE Use this command in bib les if biblatex gets the and befoie a ceitain name wiong.
As its name suggests, it will enfoice e. Tis command must be used in a special way
to pievent confusing BibTeX. Heie is an example
author = {Edward Jones and Eoin Maguire},
author = {Edward Jones and {\forceE{E}}oin Maguire},
Note that the initial leuei of the iespective name component is given as an aigument
to \forceE and that the entiie constiuct is wiapped in an additional paii of cuily
biaces.
\forceY Similai to \forceE but enfoices y.
99
3.10.3 Greek
Te Gieek localization module iequiies u1i-8 suppoit. lt will not woik with any othei
encoding. Geneially speaking, the biblatex package is compatible with the inputenc
package and with XeLaTeX. Te ucs package will not woik. Since inputencs standaid
utf8 module is missing glyph mappings foi Gieek, this leaves Gieek useis with
XeLaTeX. Note that you may need to load additional packages which set up Gieek
fonts. As a iule of thumb, a setup which woiks foi iegulai Gieek documents should
also woik with biblatex. Howevei, theie is one fundamental limitation. As of
this wiiting, biblatex has no suppoit foi switching sciipts. Gieek titles in the
bibliogiaphy should woik ne, piovided that you use Bibei as a backend, but English
and othei titles in the bibliogiaphy may be iendeied in Gieek leueis. lf you need
multi-sciipt bibliogiaphies, using XeLaTeX is the only sensible choice.
3.10.4 Russian
Like the Gieek localization module, the Russian module also iequiies u1i-8 suppoit.
lt will not woik with any othei encoding.
3.11 Usage Notes
Te following sections give a basic oveiview of the biblatex package and discuss
some typical usage scenaiios.
3.11.1 Overview
Using the biblatex package is slightly dieient fiom using tiaditional BibTeX styles
and ielated packages. Befoie we get to specic usage scenaiios, we will theiefoie
have a look at the stiuctuie of a typical document ist
\documentclass{...}
\usepackage[...]{biblatex}
\addbibresource{bibfile.bib}
\begin{document}
\cite{...}
...
\printbibliography
\end{document}
With tiaditional BibTeX, the \bibliography command seives two puiposes. lt maiks
the location of the bibliogiaphy and it also species the bib le(s). Te le ex-
tension is omiued. With biblatex, iesouices aie specied in the pieamble with
\addbibresource using the full name with .bib sux. Te bibliogiaphy is piinted
using the \printbibliography command which may be used multiple times (see
3. foi details). Te document body may contain any numbei of citation commands
( 3.). Piocessing this example le iequiies that a ceitain pioceduie be followed.
Suppose oui example le is called example.tex and oui bibliogiaphic data is in
bibfile.bib. Te pioceduie, then, is as follows
100
3.11.1.1 Biber
1. Run latex on example.tex. lf the le contains any citations, biblatex will
iequest the iespective data fiom Bibei by wiiting commands to the auxiliaiy
le example.bcf.
2. Run biber on example.bcf. Bibei will ietiieve the data fiom bibfile.bib and
wiite it to the auxiliaiy le example.bbl in a foimat which can be piocessed
by biblatex.
3. Run latex on example.tex. biblatex will iead the data fiom example.bbl
and piint all citations as well as the bibliogiaphy.
3.11.1.2 BibTeX
1. Run latex on example.tex. lf the le contains any citations, biblatex will
iequest the iespective data fiom BibTeX by wiiting commands to the auxiliaiy
le example.aux.
2. Run bibtex on example.aux. BibTeX will ietiieve the data fiom bibfile.bib
and wiite it to the auxiliaiy le example.bbl in a foimat which can be piocessed
by biblatex.
3. Run latex on example.tex. biblatex will iead the data fiom example.bbl
and piint all citations as well as the bibliogiaphy.
Whenevei a iefeience to a woik which has not been cited befoie is added, this
pioceduie must be iepeated. Tis is also the case if the last iefeience to a woik which
has been cited befoie is iemoved because some citation labels may change in this
case. ln contiast to tiaditional BibTeX, theie is noimally no need to iun latex twice
afei iunning the backend as fai as the handling of bibliogiaphic data is conceined.
24
Note that when using BibTeX as the backend this only applies to the most ba- BibTeX only
sic case. Using the xref eld oi the entryset eld may iequiie an additional
LaTeX/BibTeX/LaTeX cycle. Some othei facilities piovided by biblatex may also
iequiie an additional latex iun to get ceitain iefeiences and the page tiacking iight.
ln this case, the usual waining messages such as Teie weie undened iefeiences
and Label(s) may have changed. Reiun to get cioss-iefeiences iight will be piinted.
3.11.2 Auxiliary Files
3.11.2.1 Biber
Te biblatex package uses one auxiliaiy bcf le only. Even if theie aie citation
commands in a le included via \include, you only need to iun Bibei on the main
bcf le. All infoimation Bibei needs is in the bcf le, including infoimation about
all iefsections if using multiple refsection enviionments (see 3.11.3).
3.11.2.2 BibTeX
By default, the biblatex package uses the main aux le only. Even if theie aie citation
commands in a le included via \include, which has its own aux le, you only need
to iun BibTeX on the main aux le. lf you aie using refsection enviionments
in a document (see 3.11.3) biblatex will cieate one additional aux le foi eveiy
24
Tat is, unless the defernumbers package option is enabled. See 4.1
101
refsection enviionment. ln this case, you also need to iun bibtex on each additional
aux le. Te name of the additional aux les is the base name of the main input
le with the stiing -blx and a iunning numbei appended at the end. Te biblatex
package issues a waining listing the les which iequiie an additional BibTeX iun.
With the basic example piesented in 3.11.1, it would issue the following waining
Package biblatex Warning: Please (re)run BibTeX on the file(s):
(biblatex) example.aux
(biblatex) and rerun LaTeX afterwards.
lf the input le contained thiee refsection enviionments, the waining would iead
as follows
Package biblatex Warning: Please (re)run BibTeX on the file(s):
(biblatex) example1-blx.aux
(biblatex) example2-blx.aux
(biblatex) example3-blx.aux
(biblatex) and rerun LaTeX afterwards.
Apait fiom these aux les, biblatex uses an additional bib le with the same sux
to pass ceitain contiol paiameteis to BibTeX. ln the example above, this le would
be named example-blx.bib. ln the event of a le name conict, you can change the
sux by iedening the macio \blxauxsuffix in the document pieamble. When using
Bibei, biblatex wiites a contiol le named example.bcf and ignoies \blxauxsuffix.
Teie is also no auxiliaiy bib le in this case.
Note that biblatex will not oveiwiite any les it did not cieate. All auxiliaiy
les cieated automatically by this package stait with a special signatuie line. Befoie
oveiwiiting a le (excluding the main aux le, which is managed by LaTeX), biblatex
inspects the ist line of the le to make suie that theie is no le name conict. lf
the le in question is missing the signatuie line, biblatex will immediately issue
an eiioi message and aboit befoie opening the output stieam. ln this case you
should delete any spuiious les accidentally lef in the woiking diiectoiy. lf the
eiioi peisists, theie may be a le name conict with a le found in one of the TeX
installation tiees. Since the installation tiees usually do not contain any aux les and
the stiing -blx is faiily exotic in the name of a bib le, this is iathei unlikely but
theoietically possible. lf you nd out that this is indeed the case, you should iedene
\blxauxsuffix peimanently in the biblatex conguiation le, biblatex.cfg.
3.11.3 Multiple Bibliographies
ln a collection of aiticles by dieient authois, such as a confeience pioceedings
volume foi example, it is veiy common to have one bibliogiaphy foi each aiticle
iathei than a global one foi the entiie book. ln the example below, each aiticle would
be piesented as a sepaiate \chapter with its own bibliogiaphy.
Note that with the BibTeX backend, biblatex cieates one additional aux le foi BibTeX only
eveiy refsection enviionment. Tese les have to be piocessed by BibTeX as well,
see 3.11.2 foi details.
\documentclass{...}
\usepackage{biblatex}
\addbibresource{...}
\begin{document}
102
\chapter{...}
\begin{refsection}
...
\printbibliography[heading=subbibliography]
\end{refsection}
\chapter{...}
\begin{refsection}
...
\printbibliography[heading=subbibliography]
\end{refsection}
\end{document}
lf \printbibliography is used inside a refsection enviionment, it automatically
iestiicts the scope of the list of iefeiences to the enclosing refsection enviionment.
Foi a cumulative bibliogiaphy which is subdivided by chaptei but piinted at the
end of the book, use the section option of \printbibliography to select a iefeience
section, as shown in the next example.
\documentclass{...}
\usepackage{biblatex}
\defbibheading{subbibliography}{%
\section*{References for Chapter \ref{refsection:\therefsection}}}
\addbibresource{...}
\begin{document}
\chapter{...}
\begin{refsection}
...
\end{refsection}
\chapter{...}
\begin{refsection}
...
\end{refsection}
\printbibheading
\printbibliography[section=1,heading=subbibliography]
\printbibliography[section=2,heading=subbibliography]
\end{document}
Note the denition of the bibliogiaphy heading in the above example. Tis is the
denition taking caie of the subheadings in the bibliogiaphy. Te main heading
is geneiated with a plain \chapter command in this case. Te biblatex package
automatically sets a label at the beginning of eveiy refsection enviionment, using
the standaid \label command. Te identiei used is the stiing refsection: followed
by the numbei of the iespective refsection enviionment. Te numbei of the cuiient
section is accessible via the refsection countei. When using the section option
of \printbibliography, this countei is also set locally. Tis means that you may
use the countei in heading denitions to piint subheadings like Refeiences foi
Chaptei 3, as shown above. You could also use the title of the iespective chaptei as
a subheading by loading the nameref package and using \nameref instead of \ref
\usepackage{nameref}
\defbibheading{subbibliography}{%
\section*{\nameref{refsection:\therefsection}}}
103
Since giving one \printbibliography command foi each pait of a subdivided bib-
liogiaphy is tedious, biblatex piovides a shoithand. Te \bibbysection command
automatically loops ovei all iefeience sections. Tis is equivalent to giving one
\printbibliography command foi eveiy section but has the additional benet of
automatically skipping sections without iefeiences. ln the example above, the biblio-
giaphy would then be geneiated as follows
\printbibheading
\bibbysection[heading=subbibliography]
When using a foimat with one cumulative bibliogiaphy subdivided by chaptei (oi
any othei document division) it may be moie appiopiiate to use refsegment iathei
than refsection enviionments. Te dieience is that the refsection enviionment
geneiates labels local to the enviionment while refsegment does not aect the
geneiation of labels, hence they will be unique acioss the entiie document. Note
that when using BibTeX as the backend, refsegment enviionments do not iequiie
additional aux les. Te next example could also be given in 3.11.4 because, visually,
it cieates one global bibliogiaphy subdivided into multiple segments.
\documentclass{...}
\usepackage{biblatex}
\defbibheading{subbibliography}{%
\section*{References for Chapter \ref{refsegment:\therefsection\therefsegment}}}
\addbibresource{...}
\begin{document}
\chapter{...}
\begin{refsegment}
...
\end{refsegment}
\chapter{...}
\begin{refsegment}
...
\end{refsegment}
\printbibheading
\printbibliography[segment=1,heading=subbibliography]
\printbibliography[segment=2,heading=subbibliography]
\end{document}
Te use of refsegment is similai to refsection and theie is also a coiiesponding
segment option foi \printbibliography. Te biblatex package automatically sets a
label at the beginning of eveiy refsegment enviionment using the stiing refsegment:
followed by the numbei of the iespective refsegment enviionment as an identiei.
Teie is a matching refsegment countei which may be used in heading denitions,
as shown above. As with iefeience sections, theie is also a shoithand command
which automatically loops ovei all iefeience segments
\printbibheading
\bibbysegment[heading=subbibliography]
Tis is equivalent to giving one \printbibliography command foi eveiy segment
in the cuiient refsection.
104
3.11.4 Subdivided Bibliographies
lt is veiy common to subdivide a bibliogiaphy by ceitain ciiteiia. Foi example,
you may want to list piinted and online iesouices sepaiately oi divide a biblio-
giaphy into piimaiy and secondaiy souices. Te foimei case is stiaightfoiwaid
because you can use the entiy type as a ciiteiion foi the type and nottype lteis of
\printbibliography. Te next example also demonstiates howto geneiate matching
subheadings foi the two paits of the bibliogiaphy.
\documentclass{...}
\usepackage{biblatex}
\addbibresource{...}
\begin{document}
...
\printbibheading
\printbibliography[nottype=online,heading=subbibliography,
title={Printed Sources}]
\printbibliography[type=online,heading=subbibliography,
title={Online Sources}]
\end{document}
You may also use moie than two subdivisions
\printbibliography[type=article,...]
\printbibliography[type=book,...]
\printbibliography[nottype=article,nottype=book,...]
lt is even possible to give a chain of dieient types of lteis
\printbibliography[section=2,type=book,keyword=abc,notkeyword=xyz]
Tis would piint all woiks cited in iefeience section 2 whose entiy type is @book
and whose keywords eld includes the keywoid abc but not xyz. When using
bibliogiaphy lteis in conjunction with a numeiic style, see 3.12.. lf you need
complex lteis with conditional expiessions, use the filter option in conjunction
with a custom ltei dened with \defbibfilter. See 3..9 foi details on custom
lteis.
\documentclass{...}
\usepackage{biblatex}
\addbibresource{...}
\begin{document}
...
\printbibheading
\printbibliography[keyword=primary,heading=subbibliography,%
title={Primary Sources}]
\printbibliography[keyword=secondary,heading=subbibliography,%
title={Secondary Sources}]
\end{document}
10
Dividing a bibliogiaphy into piimaiy and secondaiy souices is possible with a
keyword ltei, as shown in the above example. ln this case, with only two subdivisions,
it would be sucient to use one keywoid as ltei ciiteiion
\printbibliography[keyword=primary,...]
\printbibliography[notkeyword=primary,...]
Since biblatex has no way of knowing if an item in the bibliogiaphy is consideied
to be piimaiy oi secondaiy liteiatuie, we need to supply the bibliogiaphy ltei with
the iequiied data by adding a keywords eld to each entiy in the bib le. Tese
keywoids may then be used as taigets foi the keyword and notkeyword lteis, as
shown above. lt may be a good idea to add such keywoids iight away while building
a bib le.
@Book{key,
keywords = {primary,some,other,keywords},
...
An alteinative way of subdividing the list of iefeiences aie bibliogiaphy categoiies.
Tey diei fiom the keywoids-based appioach shown in the example above in that
they woik on the document level and do not iequiie any changes to the bib le.
\documentclass{...}
\usepackage{biblatex}
\DeclareBibliographyCategory{primary}
\DeclareBibliographyCategory{secondary}
\addtocategory{primary}{key1,key3,key6}
\addtocategory{secondary}{key2,key4,key5}
\addbibresource{...}
\begin{document}
...
\printbibheading
\printbibliography[category=primary,heading=subbibliography,%
title={Primary Sources}]
\printbibliography[category=secondary,heading=subbibliography,%
title={Secondary Sources}]
\end{document}
ln this case it would also be sucient to use one categoiy only
\printbibliography[category=primary,...]
\printbibliography[notcategory=primary,...]
lt is still a good idea to declaie all categoiies used in the bibliogiaphy explicitly
because theie is a \bibbycategory command which automatically loops ovei all
categoiies. Tis is equivalent to giving one \printbibliography command foi eveiy
categoiy, in the oidei in which they weie declaied.
\documentclass{...}
\usepackage{biblatex}
\DeclareBibliographyCategory{primary}
\DeclareBibliographyCategory{secondary}
10
\addtocategory{primary}{key1,key3,key6}
\addtocategory{secondary}{key2,key4,key5}
\defbibheading{primary}{\section*{Primary Sources}}
\defbibheading{secondary}{\section*{Secondary Sources}}
\addbibresource{...}
\begin{document}
...
\printbibheading
\bibbycategory
\end{document}
Te handling of the headings is dieient fiom \bibbysection and \bibbysegment
in this case. \bibbycategory uses the name of the cuiient categoiy as a heading
name. Tis is equivalent to passing heading=category to \printbibliography and
implies that you need to piovide a matching heading foi eveiy categoiy.
3.11.5 Entry Sets
An entiy set is a gioup of entiies which aie cited as a single iefeience and listed
as a single item in the bibliogiaphy. Te individual entiies in the set aie sepaiated
by \entrysetpunct ( 4.10.1). Te biblatex package suppoits two types of entiy
sets. Static entiy sets aie dened in the bib le like any othei entiy. Dynamic entiy
sets aie dened with \defbibentryset ( 3..10) on a pei-document/pei-iefsection
basis in the document pieamble oi the document body. Tis section deals with the
denition of entiy sets, style authois should also see 4.11.1 foi fuithei infoimation.
3.11.5.1 Static entry sets
Static entiy sets aie dened in the bib le like any othei entiy. When using Bibei as Biber only
the backend, dening an entiy set is as simple as adding an entiy of type @set. Te
entiy has an entryset eld dening the membeis of the set as a comma-sepaiated
list of entiy keys
@Set{set1,
entryset = {key1,key2,key3},
}
Entiies may be pait of a set in one document/iefsection and stand-alone iefeiences
in anothei one, depending on the piesence of the @set entiy. lf the @set entiy is
cited, the set membeis aie giouped automatically. lf not, they will woik like any
iegulai entiy.
When using BibTeX as the backend, which has no native suppoit foi entiy sets,
seuing up entiy sets involves moie woik. BibTeX iequiies entryset and crossref
elds to be used in a special way. Te membeis of the set aie given in the entryset
eld of the @set entiy. Te @set entiy also iequiies a crossref eld which points to
the ist key in the entryset eld. ln addition to that, all membeis of the set iequiie
entryset elds which aie ieveise pointeis to the entiy key of the @set head entiy
@Set{set1,
entryset = {key1,key2,key3},
crossref = {key1},
}
@Article{key1,
10
entryset = {set1},
author = {...},
title = {...},
...
}
@InCollection{key2,
entryset = {set1},
author = {...},
title = {...},
...
}
@Article{key3,
entryset = {set1},
author = {...},
title = {...},
...
}
Note that citing any set membei will automatically load the entiie set with BibTeX.
lf you want to iefei to an item as pait of a set in one document/iefsection and as a
stand-alone iefeience in anothei one, you need two distinct entiies with BibTeX.
3.11.5.2 Dynamic entry sets Biber only
Dynamic entiy sets aie set up and woik much like static ones. Te main dieience is
that they aie dened in the document pieamble oi on the y in the document body
using the \defbibentryset command fiom 3..10
\defbibentryset{set1}{key1,key2,key3}
Dynamic entiy sets in the document body aie local to the enclosing refsection
enviionment, if any. Otheiwise, they aie assigned to iefeience section 0. Tose
dened in the pieamble aie assigned to iefeience section 0. Note that dynamic entiy
sets iequiie Bibei. Tey will not woik with any othei backend.
3.11.6 Data Containers Biber only
Te @xdata entiy type seives as a data containei holding one oi moie elds. Tese
elds may be inheiited by othei entiies using the xdata eld. @xdata entiies may
not be cited oi added to the bibliogiaphy, they only seive as a data souice foi othei
entiies. Tis data inheiitance mechanism is useful foi xed eld combinations such
as publisher/location and foi othei fiequently used data
@XData{hup,
publisher = {Harvard University Press},
location = {Cambridge, Mass.},
}
@Book{...,
author = {...},
title = {...},
date = {...},
xdata = {hup},
}
108
Using a comma-sepaiated list of keys in its xdata eld, an entiy may inheiit data
fiom seveial @xdata entiies. Cascading @xdata entiies aie suppoited as well, i. e., an
@xdata entiy may iefeience one oi moie othei @xdata entiies
@XData{macmillan:name,
publisher = {Macmillan},
}
@XData{macmillan:place,
location = {New York and London},
}
@XData{macmillan,
xdata = {macmillan:name,macmillan:place},
}
@Book{...,
author = {...},
title = {...},
date = {...},
xdata = {macmillan},
}
See also 2.1.1 and 2.2.3.
3.11.7 Electronic Publishing Information
Te biblatex package piovides thiee elds foi electionic publishing infoimation
eprint, eprinttype, and eprintclass. Te eprint eld is a veibatim eld similai to
doi which holds the identiei of the item. Te eprinttype eld holds the iesouice
name, i. e., the name of the site oi electionic aichive. Te optional eprintclass
eld is intended foi additional infoimation specic to the iesouice indicated by the
eprinttype eld. Tis could be a section, a path, classication infoimation, etc. lf the
eprinttype eld is available, the standaid styles will use it as a liteial label. ln the
following example, they would piint Resouice identiei iathei than the geneiic
epiint identiei
eprint = {identifier},
eprinttype = {Resource},
Te standaid styles featuie dedicated suppoit foi a few online aichives. Foi aiXiv ief-
eiences, put the identiei in the eprint eld and the stiing arxiv in the eprinttype
eld
eprint = {math/0307200v3},
eprinttype = {arxiv},
Foi papeis which use the newidentiei scheme (Apiil 200 and latei) add the piimaiy
classication in the eprintclass eld
eprint = {1008.2849v1},
eprinttype = {arxiv},
eprintclass = {cs.DS},
Teie aie two aliases which ease the integiation of aiXiv entiies. archiveprefix
is tieated as an alias foi eprinttype, primaryclass is an alias foi eprintclass.
109
lf hypeilinks aie enabled, the epiint identiei will be tiansfoimed into a link to
arxiv.org. See the package option arxiv in 3.1.2.1 foi fuithei details.
Foi Js1ov iefeiences, put the stable Js1ov numbei in the eprint eld and the
stiing jstor in the eprinttype eld
eprint = {number},
eprinttype = {jstor},
When using Js1ovs expoit featuie to expoit citations in BibTeX foimat, Js1ov uses
the url eld by default (wheie the number is a unique and stable identiei)
url = {http://www.jstor.org/stable/number},
While this will woik as expected, full uvis tend to cluuei the bibliogiaphy. With
the eprint elds, the standaid styles will use the moie ieadable Js1ov number
foimat which also suppoits hypeilinks. Te number becomes a clickable link if
hyperref suppoit is enabled.
Foi PubMed iefeiences, put the stable PubMed identiei in the eprint eld and
the stiing pubmed in the eprinttype eld. Tis means that
url = {http://www.ncbi.nlm.nih.gov/pubmed/pmid},
becomes
eprint = {pmid},
eprinttype = {pubmed},
and the standaid styles will piint viu pmid instead of the lengthy uvi. lf
hypeiief suppoit is enabled, the pmid will be a clickable link to PubMed.
Foi handles (uuis), put the handle in the eprint eld and the stiing hdl in the
eprinttype eld
eprint = {handle},
eprinttype = {hdl},
Foi Google Books iefeiences, put Googles identiei in the eprint eld and the
stiing googlebooks in the eprinttype eld. Tis means that, foi example
url = {http://books.google.com/books?id=XXu4AkRVBBoC},
would become
eprint = {XXu4AkRVBBoC},
eprinttype = {googlebooks},
and the standaid styles would piint Google Books XXu4AkRVBBoC instead of the full
uvi. lf hypeiief suppoit is enabled, the identiei will be a clickable link to Google
Books.
2
Note that eprint is a veibatim eld. Always give the identiei in its unmodied
foim. Foi example, theie is no need to ieplace _ with \_. Also see 4.11.2 on how to
add dedicated suppoit foi othei epiint iesouices.
2
Note that the Google Books iu seems to be a bit of an inteinal value. As of this wiiting, theie does
not seem to be any way to seaich foi an iu on Google Books. You may piefei to use the url in this
case.
110
3.11.8 External Abstracts and Annotations
Styles which piint the elds abstract and/oi annotation may suppoit an alteinative
way of adding abstiacts oi annotations to the bibliogiaphy. lnstead of including
the text in the bib le, it may also be stoied in an exteinal LaTeX le. Foi example,
instead of saying
@Article{key1,
...
abstract = {This is an abstract of entry `key1'.}
}
in the bib le, you may cieate a le named bibabstract-key1.tex and put the
abstiact in this le
This is an abstract of entry `key1'.
\endinput
Te name of the exteinal le must be the entiy key piexed with bibabstract-
oi bibannotation-, iespectively. You can change these piexes by iedening
\bibabstractprefix and \bibannotationprefix. Note that this featuie needs to
be enabled explicitly by seuing the package option loadfiles fiom 3.1.2.1. Te
option is disabled by default foi peifoimance ieasons. Also note that any abstract
and annotation elds in the bib le take piecedence ovei the exteinal les. Using
exteinal les is stiongly iecommended if you have long abstiacts oi a lot of anno-
tations since this may inciease memoiy iequiiements signicantly. lt is also moie
convenient to edit the text in a dedicated LaTeX le. Style authois should see 4.11.3
foi fuithei infoimation.
3.12 Hints and Caveats
Tis section piovides additional usage hints and addiesses some common pioblems
and potential misconceptions.
3.12.1 Usage with KOMA-Script Classes
When using biblatex in conjunction with one of the scrbook, scrreprt, oi scrartcl
classes, the headings bibliography and shorthands fiom 3.. aie iesponsive to
the bibliogiaphy-ielated options of these classes.
2
You can oveiiide the default
headings by using the heading option of \printbibliography, \printbibheading
and \printshorthands. See 3..2, 3..3, 3.. foi details. All default headings aie
adapted at load-time such that they blend with the behavioi of these classes. lf one
of the above classes is detected, biblatex will also piovide the following additional
tests which may be useful in custom heading denitions
\ifkomabibtotoc{true}{false}
Expands to true if the class would add the bibliogiaphy to the table of contents,
and to false otheiwise.
2
Tis applies to the tiaditional syntax of these options (bibtotoc and bibtotocnumbered) as well
as to the key=value syntax intioduced in xo-Sciipt 3.x, i. e., to bibliography=nottotoc,
bibliography=totoc, and bibliography=totocnumbered, Te global toc=bibliography and toc=
bibliographynumbered options as well as theii aliases aie detected as well. ln any case, the options
must be set globally in the optional aigument to \documentclass.
111
\ifkomabibtotocnumbered{true}{false}
Expands to true if the class would add the bibliogiaphy to the table of contents as a
numbeied section, and to false otheiwise. lf this test yields true, \ifkomabibtotoc
will always yield true as well, but not vice veisa.
3.12.2 Usage with the Memoir Class
When using biblatex with the memoir class, most class facilities foi adapting the
bibliogiaphy have no eect. Use the coiiesponding facilities of this package in-
stead ( 3..2, 3.., 3..8). lnstead of iedening memoirs \bibsection, use the
heading option of \printbibliography and \defbibheading ( 3..2 and 3..). ln-
stead of \prebibhook and \postbibhook, use the prenote and postnote options of
\printbibliography and \defbibnote ( 3..2 and 3..8). All default headings aie
adapted at load-time such that they blend well with the default layout of this class.
Te default headings bibliography and shorthands ( 3..) aie also iesponsive to
memoirs \bibintoc and \nobibintoc switches. Te length iegistei \bibitemsep
is used by biblatex in a way similai to memoir ( 3.9.3). Tis section also intio-
duces some additional length iegisteis which coiiespond to memoirs \biblistextra.
Lastly, \setbiblabel does not map to a single facility of the biblatex package since
the style of all labels in the bibliogiaphy is contiolled by the bibliogiaphy style. See
4.2.2 in the authoi section of this manual foi details. lf the memoir class is detected,
biblatex will also piovide the following additional test which may be useful in
custom heading denitions
\ifmemoirbibintoc{true}{false}
Expands to true oi false, depending on memoirs \bibintoc and \nobibintoc
switches. Tis is a LaTeX fiontend to memoirs \ifnobibintoc test. Note that the
logic of the test is ieveised.
3.12.3 Page Numbers in Citations
lf the postnote aigument to a citation command is a page numbei oi page iange,
biblatex will automatically piex it with p. oi pp. by default. Tis woiks ieliably
in typical cases, but sometimes manual inteivention may be iequiied. ln this case, it
is impoitant to undeistand how this aigument is handled in detail. Fiist, biblatex
checks if the postnote is an Aiabic oi Roman numeial (case insensitive). lf this test
succeeds, the postnote is consideied as a single page oi othei numbei which will
be piexed with p. oi some othei stiing which depends on the pagination eld
(see 2.3.10). lf it fails, a second test is peifoimed to nd out if the postnote is a
iange oi a list of Aiabic oi Roman numeials. lf this test succeeds, the postnote will
be piexed with pp. oi some othei stiing in the pluial foim. lf it fails as well, the
postnote is piinted as is. Note that both tests expand the postnote. All commands
used in this aigument must theiefoie be iobust oi piexed with \protect. Heie
aie a few examples of postnote aiguments which will be coiiectly iecognized as a
single numbei, a iange of numbeis, oi a list of numbeis, iespectively
\cite[25]{key}
\cite[vii]{key}
\cite[XIV]{key}
\cite[34--38]{key}
\cite[iv--x]{key}
112
\cite[185/86]{key}
\cite[XI \& XV]{key}
\cite[3, 5, 7]{key}
\cite[vii--x; 5, 7]{key}
ln some othei cases, howevei, the tests may get it wiong and you need to iesoit to
the auxiliaiy commands \pno, \ppno, and \nopp fiom 3..8. Foi example, suppose
a woik is cited by a special pagination scheme consisting of numbeis and leueis. ln
this scheme, the stiing 27a would mean page 2, pait a. Since this stiing does not
look like a numbei oi a iange to biblatex, you need to foice the piex foi a single
numbei manually
\cite[\pno~27a]{key}
Teie is also a \ppno command which foices a iange piex as well as a \nopp
command which suppiesses all piexes
\cite[\ppno~27a--28c]{key}
\cite[\nopp 25]{key}
Tese commands may be used anywheie in the postnote aigument. Tey may also
be used multiple times. Foi example, when citing by volume and page numbei, you
may want to suppiess the piex at the beginning of the postnote and add it in the
middle of the stiing
\cite[VII, \pno~5]{key}
\cite[VII, \pno~3, \ppno~40--45]{key}
\cite[see][\ppno~37--46, in particular \pno~40]{key}
Teie aie also two auxiliaiy command foi suxes like the following page(s). lnstead
of inseiting such suxes liteially (which would iequiie \ppno to foice a piex)
\cite[\ppno~27~sq.]{key}
\cite[\ppno~55~sqq.]{key}
use the auxiliaiy commands \psq and \psqq. Note that theie is no space between
the numbei and the command. Tis space will be inseited automatically and may be
modied by iedening the macio \sqspace.
\cite[27\psq]{key}
\cite[55\psqq]{key}
Since the postnote is piinted without any piex if it includes any chaiactei which is
not an Aiabic oi Roman numeial, you may also type the piex manually
\cite[p.~5]{key}
lt is possible to suppiess the piex on a pei-entiy basis by seuing the pagination
eld of an entiy to none, see 2.3.10 foi details. lf you do not want any piexes at
all oi piefei to type them manually, you can also disable the entiie mechanism in
the document pieamble oi the conguiation le as follows
\DeclareFieldFormat{postnote}{#1}
Te postnote aigument is handled as a eld and the foimauing of this eld is
contiolled by a eld foimauing diiective which may be fieely iedened. Te above
denition will simply piint the postnote as is. See 4.3.2 and 4.4.2 in the authoi
guide foi fuithei details.
113
3.12.4 Name Parts and Name Spacing
Te biblatex package gives useis and style authois veiy ne-giained contiol of name
spacing and the line-bieaking behavioi of names, especially when they aie using
Bibei as the backend. Te commands discussed in the following aie documented
in 3.9.1 and 4.10.1. Tis section is meant to give an oveiview of how they aie
put togethei. A note on teiminology a name part is a basic pait of the name, foi
example the ist oi the last name. Each pait of a name may be a single name oi it
may be composed of multiple names. Foi example, the name pait ist name may
be composed of a ist and a middle name. Te lauei aie iefeiied to as name elements
in this section. Lets considei a simple name ist John Edwaid Doe. Tis name is
composed of the following paits
Fiist John Edwaid
Piex
Last Doe
Sux
Te spacing, punctuation and line-bieaking behavioi of names is contiolled by six
macios
a\bibnamedelima lnseited by the backend afei the ist element of eveiy name
pait if that element is less than thiee chaiacteis long and
befoie the last element of eveiy name pait.
b\bibnamedelimb lnseited by the backend between all elements of a name pait
wheie \bibnamedelima does not apply.
c\bibnamedelimc lnseited by a foimauing diiective between the name piex
and the last name if useprefix=true. lf useprefix=false,
\bibnamedelimd is used instead.
d\bibnamedelimd lnseited by a foimauing diiective between name paits wheie
\bibnamedelimc does not apply.
i \bibnamedelimi Replaces \bibnamedelima/b afei initials
p\revsdnamepunct lnseited by a foimauing diiective afei the last name when
the name paits aie ieveised.
Tis is how the delimiteis aie employed
John
a
Edward
d
Doe
Doe,
p d
John
a
Edward
lnitials in the bib le get a special delimitei
J.
i
Edward
d
Doe
Lets considei a moie complex name Chailes-Jean Etienne Gustave Nicolas de La
Valle Poussin. Tis name is composed of the following paits
Fiist Chailes-Jean Etienne Gustave Nicolas
Piex de
Last La Valle Poussin
Sux
Te delimiteis
114
Charles-Jean
b
tienne
b
Gustave
a
Nicolas
d
de
c
La
a
Valle
a
Poussin
Note that \bibnamedelima/b/i aie inseited by the backend. Te backend piocesses
the name paits and takes caie of the delimiteis between the elements that make up
a name pait, piocessing each pait individually. ln contiast to that, the delimiteis
between the paits of the complete name (\bibnamedelimc/d) aie added by name
foimauing diiectives at a latei point in the piocessing chain. Te spacing and
punctuation of initials is also handled by the backend and may be customized by
iedening the following thiee macios
a\bibinitperiod lnseited by the backend afei initials.
b\bibinitdelim lnseited by the backend between multiple initials.
c\bibinithyphendelim lnseited by the backend between the initials of
hyphenated name paits, ieplacing \bibinitperiod and
\bibinitdelim.
Tis is how they aie employed
J.
a b
E.
a
Doe
K.-
c
H.
a
Mustermann
3.12.5 Bibliography Filters and Citation Labels
Te citation labels geneiated by this package aie assigned to the full list of iefeiences
befoie it is split up by any bibliogiaphy lteis. Tey aie guaianteed to be unique
acioss the entiie document (oi a refsection enviionment), no mauei how many
bibliogiaphy lteis you aie using. When using a numeiic citation scheme, howevei,
this will most likely lead to discontinuous numbeiing in split bibliogiaphies. Use
the defernumbers package option to avoid this pioblem. lf this option is enabled,
numeiic labels aie assigned the ist time an entiy is piinted in any bibliogiaphy.
3.12.6 Active Characters in Bibliography Headings
Packages using active chaiacteis, such as babel, polyglossia, csquotes, oi
underscore, usually do not make them active until the beginning of the document
body to avoid inteifeience with othei packages. A typical example of such an active
chaiactei is the Ascii quote ", which is used by vaiious language modules of the
babel/polyglossia packages. lf shoithands such as "< and "a aie used in the aigu-
ment to \defbibheading and the headings aie dened in the document pieamble,
the non-active foim of the chaiacteis is saved in the heading denition. When
the heading is typeset, they do not function as a command but aie simply piinted
liteially. Te most stiaightfoiwaid solution consists in moving \defbibheading
afei \begin{document}. Alteinatively, you may use babels \shorthandon and
\shorthandoff commands to tempoiaiily make the shoithands active in the pieamble.
Te above also applies to bibliogiaphy notes and the \defbibnote command.
3.12.7 Grouping in Reference Sections and Segments
All LaTeX enviionments enclosed in \begin and \end foim a gioup. Tis may have
undesiiable side eects if the enviionment contains anything that does not expect
to be used within a gioup. Tis issue is not specic to refsection and refsegment
enviionments, but it obviously applies to them as well. Since these enviionments
will usually enclose much laigei poitions of the document than a typical itemize
11
oi similai enviionment, they aie simply moie likely to tiiggei pioblems ielated to
giouping. lf you obseive any malfunctions afei adding refsection enviionments to
a document (foi example, if anything seems to be tiapped inside the enviionment),
tiy the following syntax instead
\chapter{...}
\refsection
...
\endrefsection
Tis will not fiom a gioup, but otheiwise woiks as usual. As fai as biblatex is
conceined, it does not mauei which syntax you use. Te alteinative syntax is also
suppoited by the refsegment enviionment. Note that the commands \newrefsection
and \newrefsegment do not foim a gioup. See 3..4 and 3.. foi details.
4 Author Guide
Tis pait of the manual documents the authoi inteiface of the biblatex package.
Te authoi guide coveis eveiything you need to know in oidei to wiite new citation
and bibliogiaphy styles oi localization modules. You should iead the usei guide ist
befoie continuing with this pait of the manual.
4.1 Overview
Befoie we get to the commands and facilities piovided by biblatex, we will have
a look at some of its fundamental concepts. Te biblatex package uses auxiliaiy
les in a special way. Most notably, the bbl le is used dieiently and when using
BibTeX as the backend, theie is only one bst le which implements a stiuctuied data
inteiface iathei than expoiting piintable data. With LaTeXs standaid bibliogiaphic
facilities, a document includes any numbei of citation commands in the document
body plus \bibliographystyle and \bibliography, usually towaids the end of the
document. Te location of the foimei is aibitiaiy, the lauei maiks the spot wheie
the list of iefeiences is to be piinted
\documentclass{...}
\begin{document}
\cite{...}
...
\bibliographystyle{...}
\bibliography{...}
\end{document}
Piocessing this les iequiies that a ceitain pioceduie be followed. Tis pioceduie is
as follows
1. Run latex On the ist iun, \bibstyle and \bibdata commands aie wiiuen
to the aux le, along with \citation commands foi all citations. At this point,
the iefeiences aie undened because LaTeX is waiting foi BibTeX to supply
the iequiied data. Teie is also no bibliogiaphy yet.
2. Run bibtex BibTeX wiites a thebibliography enviionment to the bbl le,
supplying all entiies fiom the bib le which weie iequested by the \citation
commands in the aux le.
11
3. Run latex Staiting with the second iun, the \bibitem commands in the
thebibliography enviionment wiite one \bibcite command foi each biblio-
giaphy entiy to the aux le. Tese \bibcite commands dene the citation
labels used by \cite. Howevei, the iefeiences aie still undened because the
labels aie not available until the end of this iun.
4. Run latex Staiting with the thiid iun, the citation labels aie dened as the
aux le is iead in at the end of the pieamble. All citations can now be piinted.
Note that all bibliogiaphic data is wiiuen to the bbl le in the nal foimat. Te
bbl le is iead in and piocessed like any piintable section of the document. Foi
example, considei the following entiy in a bib le
@Book{companion,
author = {Michel Goossens and Frank Mittelbach and Alexander Samarin},
title = {The LaTeX Companion},
publisher = {Addison-Wesley},
address = {Reading, Mass.},
year = {1994},
}
With the plain.bst style, BibTeX expoits this entiy to the bbl le as follows
\bibitem{companion}
Michel Goossens, Frank Mittelbach, and Alexander Samarin.
\newblock {\em The LaTeX Companion}.
\newblock Addison-Wesley, Reading, Mass., 1994.
By default, LaTeX geneiates numeiic citation labels, hence \bibitem wiites lines
such as the following to the aux le
\bibcite{companion}{1}
lmplementing a dieient citation style implies that moie data has to be tiansfeiied
via the aux le. With the natbib package, foi example, the aux le contains lines
like this one
\bibcite{companion}{{1}{1994}{{Goossens et~al.}}{{Goossens, Mittelbach,
and Samarin}}}
Te biblatex package suppoits citations in any aibitiaiy foimat, hence citation
commands need access to all bibliogiaphic data. What this would mean within the
scope of the pioceduie outlined above becomes obvious when looking at the output
of the jurabib package which also makes all bibliogiaphic data available in citations
\bibcite{companion}{{Goossens\jbbfsasep Mittelbach\jbbstasep Samarin}%
{}{{0}{}{book}{1994}{}{}{}{}{Reading, Mass.\bpubaddr{}Addison-Wesley%
\bibbdsep{} 1994}}{{The LaTeX Companion}{}{}{2}{}{}{}{}{}}{\bibnf
{Goossens}{Michel}{M.}{}{}\Bibbfsasep\bibnf{Mittelbach}{Frank}{F.}%
{}{}\Bibbstasep\bibnf{Samarin}{Alexander}{A.}{}{}}{\bibtfont{The
LaTeX Companion}.\ \apyformat{Reading, Mass.\bpubaddr{}
Addison-Wesley\bibbdsep{} 1994}}}
11
ln this case, the contents of the entiie thebibliography enviionment aie eectively
tiansfeiied via the aux le. Te data is iead fiom the bbl le, wiiuen to the aux
le, iead back fiom the aux le and then kept in memoiy. Te bibliogiaphy itself is
still geneiated as the bbl le is iead in. Te biblatex package would also be foiced
to cycle all data thiough the aux le. Tis implies piocessing oveihead and is also
iedundant because the data has to be kept in memoiy anyway.
Te tiaditional pioceduie is based on the assumption that the full bibliogiaphic data
of an entiy is only iequiied in the bibliogiaphy and that all citations use shoit labels.
Tis makes it veiy eective in teims of memoiy iequiiements, but it also implies that
it does not scale well. Tat is why biblatex takes a dieient appioach. Fiist of all,
the document stiuctuie is slightly dieient. lnstead of using \bibliography in the
document body, database les aie specied in the pieamble with \addbibresource,
\bibliographystyle is omiued entiiely (all featuies aie contiolled by package op-
tions), and the bibliogiaphy is piinted using \printbibliography
\documentclass{...}
\usepackage[...]{biblatex}
\addbibresource{...}
\begin{document}
\cite{...}
...
\printbibliography
\end{document}
ln oidei to stieamline the whole pioceduie, biblatex essentially employs the bbl le
like an aux le, iendeiing \bibcite obsolete. We then get the following pioceduie
1. Run latex Te ist step is similai to the tiaditional pioceduie desciibed
above \bibstyle and \bibdata commands aie wiiuen to the aux le (BibTeX
backend) oi bcf le (Bibei backend), along with \citation commands foi all
citations. We then wait foi the backend to supply the iequiied data. With
BibTeX as a backend, since biblatex uses a special bst le which imple-
ments its data inteiface on the BibTeX end, the \bibstyle command is always
\bibstyle{biblatex}.
2. Run biber oi bibtex Te backend supplies those entiies fiom the bib le
which weie iequested by the \citation commands in the auxiliaiy le. How-
evei, it does not wiite a piintable bibliogiaphy to the bbl le, but iathei a
stiuctuied iepiesentation of the bibliogiaphic data. Just like an aux le, this
bbl le does not piint anything when iead in. lt meiely puts data in memoiy.
3. Run latex Staiting with the second iun, the bbl le is piocessed iight at the
beginning of the document body, just like an aux le. Fiom this point on, all
bibliogiaphic data is available in memoiy so that all citations can be piinted
iight away.
2
Te citation commands have access to the complete bibliogiaphic
data, not only to a piedened label. Te bibliogiaphy is geneiated fiommemoiy
using the same data and may be lteied oi split as iequiied.
Lets considei the sample entiy given above once moie
2
lf the defernumbers package option is enabled biblatex uses an algoiithm similai to the tiaditional
pioceduie to geneiate numeiic labels. ln this case, the numbeis aie assigned as the bibliogiaphy is
piinted and then cycled thiough the backend auxiliaiy le. lt will take an additional LaTeX iun foi
them to be picked up in citations.
118
@Book{companion,
author = {Michel Goossens and Frank Mittelbach and Alexander Samarin},
title = {The LaTeX Companion},
publisher = {Addison-Wesley},
address = {Reading, Mass.},
year = {1994},
}
With biblatex and the Bibei backend, this entiy is essentially expoited in the
following foimat
\entry{companion}{book}{}
\labelname{author}{3}{}{%
{{uniquename=0,hash=...}{Goossens}{G.}{Michel}{M.}{}{}{}{}}%
{{uniquename=0,hash=...}{Mittelbach}{M.}{Frank}{F.}{}{}{}{}}%
{{uniquename=0,hash=...}{Samarin}{S.}{Alexander}{A.}{}{}{}{}}%
}
\name{author}{3}{}{%
{{uniquename=0,hash=...}{Goossens}{G.}{Michel}{M.}{}{}{}{}}%
{{uniquename=0,hash=...}{Mittelbach}{M.}{Frank}{F.}{}{}{}{}}%
{{uniquename=0,hash=...}{Samarin}{S.}{Alexander}{A.}{}{}{}{}}%
}
\list{publisher}{1}{%
{Addison-Wesley}%
}
\list{location}{1}{%
{Reading, Mass.}%
}
\field{title}{The LaTeX Companion}
\field{year}{1994}
\endentry
As seen in this example, the data is piesented in a stiuctuied foimat that iesembles
the stiuctuie of a bib le to some extent. At this point, no decision conceining
the nal foimat of the bibliogiaphy entiy has been made. Te foimauing of the
bibliogiaphy and all citations is contiolled by LaTeX macios, which aie dened in
bibliogiaphy and citation style les.
4.2 Bibliography Styles
A bibliogiaphy style is a set of macios which piint the entiies in the bibliogiaphy.
Such styles aie dened in les with the sux bbx. Te biblatex package loads the
selected bibliogiaphy style le at the end of the package. Note that a small iepeitoiy
of fiequently used macios shaied by seveial of the standaid bibliogiaphy styles is
included in biblatex.def. Tis le is loaded at the end of the package as well, piioi
to the selected bibliogiaphy style.
4.2.1 Bibliography Style Files
Befoie we go ovei the individual components of a bibliogiaphy style, considei this
example of the oveiall stiuctuie of a typical bbx le
119
\ProvidesFile{example.bbx}[2006/03/15 v1.0 biblatex bibliography style]
\defbibenvironment{bibliography}
{...}
{...}
{...}
\defbibenvironment{shorthands}
{...}
{...}
{...}
\InitializeBibliographyStyle{...}
\DeclareBibliographyDriver{article}{...}
\DeclareBibliographyDriver{book}{...}
\DeclareBibliographyDriver{inbook}{...}
...
\DeclareBibliographyDriver{shorthands}{...}
\endinput
Te main stiuctuie of a bibliogiaphy style le consists of the following commands
\RequireBibliographyStyle{style}
Tis command is optional and intended foi specialized bibliogiaphy styles built on
top of a moie geneiic style. lt loads the bibliogiaphy style style.bbx.
\InitializeBibliographyStyle{code}
Species aibitiaiy code to be inseited at the beginning of the bibliogiaphy, but
inside the gioup foimed by the bibliogiaphy. Tis command is optional. lt may be
useful foi denitions which aie shaied by seveial bibliogiaphy diiveis but not used
outside the bibliogiaphy. Keep in mind that theie may be seveial bibliogiaphies in a
document. lf the bibliogiaphy diiveis make any global assignments, they should be
ieset at the beginning of the next bibliogiaphy.
\DeclareBibliographyDriver{entrytype}{code}
Denes a bibliogiaphy diivei. Adiivei is a macio which handles a specic entiy type.
Te entrytype coiiesponds to the entiy type used in bib les, specied in loweicase
leueis (see 2.1). Te type shorthands has a special meaning. Te shorthands diivei
handles all entiies in the list of shoithands. Te entrytype aigument may also be an
asteiisk. ln this case, the diivei seives as a fallback which is used if no specic diivei
foi the entiy type has been dened. Te code is aibitiaiy code which typesets
all bibliogiaphy entiies of the iespective entrytype. Tis command is mandatoiy.
Eveiy bibliogiaphy style should piovide a diivei foi each entiy type.
\DeclareBibliographyAlias{alias}{entrytype}
lf a bibliogiaphy diivei coveis moie than one entiy type, this command may be used
to dene an alias. Tis command is optional. Te entrytype aigument may also
be an asteiisk. ln this case, the alias seives as a fallback which is used if no specic
diivei foi the entiy type has been dened.
120
\DeclareBibliographyOption{key}[value]{code}
Tis command denes additional pieamble options in key=value foimat. Te
key is the option key. Te code is aibitiaiy TeX code to be executed whenevei
the option is used. Te value passed to the option is passed on to the code as #1.
Te optional value is a default value to be used if the baie key is given without any
value. Tis is useful foi boolean switches. Foi example, with a denition like the
following
\DeclareBibliographyOption{somekey}[true]{...}
giving somekey without a value is equivalent to somekey=true.
\DeclareEntryOption{key}[value]{code}
Similai to \DeclareBibliographyOption but denes options which aie seuable on
a pei-entiy basis in the options eld fiom 2.2.3. Te code is executed when-
evei biblatex piepaies the data of the entiy foi use by a citation command oi a
bibliogiaphy diivei.
4.2.2 Bibliography Environments
Apait fiom dening bibliogiaphy diiveis, the bibliogiaphy style is also iesponsi-
ble foi the enviionments which contiol the layout of the bibliogiaphy and the list
of shoithands. Tese enviionments aie dened with \defbibenvironment. By de-
fault, \printbibliography uses the enviionment bibliography. Heie is a denition
suitable foi a bibliogiaphy style which does not piint any labels in the bibliogiaphy
\defbibenvironment{bibliography}
{\list
{}
{\setlength{\leftmargin}{\bibhang}%
\setlength{\itemindent}{-\leftmargin}%
\setlength{\itemsep}{\bibitemsep}%
\setlength{\parsep}{\bibparsep}}}
{\endlist}
{\item}
Tis denition employs a list enviionment with hanging indentation, using the
\bibhang length iegistei piovided by biblatex. lt allows foi a ceitain degiee of
conguiability by using \bibitemsep and \bibparsep, two length iegisteis piovided
by biblatex foi this veiy puipose (see 4.10.3). Te authoryear and authortitle
bibliogiaphy styles use a denition similai to this example.
\defbibenvironment{bibliography}
{\list
{\printfield[labelnumberwidth]{labelnumber}}
{\setlength{\labelwidth}{\labelnumberwidth}%
\setlength{\leftmargin}{\labelwidth}%
\setlength{\labelsep}{\biblabelsep}%
\addtolength{\leftmargin}{\labelsep}%
\setlength{\itemsep}{\bibitemsep}%
\setlength{\parsep}{\bibparsep}}%
121
\renewcommand*{\makelabel}[1]{\hss##1}}
{\endlist}
{\item}
Some bibliogiaphy styles piint labels in the bibliogiaphy. Foi example, a bibliogiaphy
style designed foi a numeiic citation scheme will piint the numbei of eveiy entiy
such that the bibliogiaphy looks like a numbeied list. ln the ist example, the ist
aigument to \list was empty. ln this example, we need it to inseit the numbei,
which is piovided by biblatex in the labelnumber eld. We also employ seveial
length iegisteis and othei facilities piovided by biblatex, see 4.10.4 and 4.10.
foi details. Te numeric bibliogiaphy style uses the denition given above. Te
alphabetic style is similai, except that labelnumber is ieplaced by labelalpha and
labelnumberwidth by labelalphawidth.
Te list of shoithands is handled in a similai way. \printshorthands uses the
enviionment shorthands by default. A typical example is given below. See 4.10.4
and 4.10. foi details on the length iegisteis and facilities used in this example.
\defbibenvironment{shorthands}
{\list
{\printfield[shorthandwidth]{shorthand}}
{\setlength{\labelwidth}{\shorthandwidth}%
\setlength{\leftmargin}{\labelwidth}%
\setlength{\labelsep}{\biblabelsep}%
\addtolength{\leftmargin}{\labelsep}%
\setlength{\itemsep}{\bibitemsep}%
\setlength{\parsep}{\bibparsep}%
\renewcommand*{\makelabel}[1]{##1\hss}}}
{\endlist}
{\item}
4.2.3 Bibliography Drivers
Befoie we go ovei the commands which foim the data inteiface of the biblatex
package, it may be instiuctive to have a look at the stiuctuie of a bibliogiaphy diivei.
Note that the example given below is gieatly simplied, but still functional. Foi the
sake of ieadability, we omit seveial elds which may be pait of a @book entiy and
also simplify the handling of those which aie consideied. Te main point is to give
you an idea of how a diivei is stiuctuied. Foi infoimation about the mapping of the
BibTeX le foimat elds to biblatexs data types, see 2.2.
\DeclareBibliographyDriver{book}{%
\printnames{author}%
\newunit\newblock
\printfield{title}%
\newunit\newblock
\printlist{publisher}%
\newunit
\printlist{location}%
\newunit
\printfield{year}%
\finentry}
122
At this point, theie is still one piece missing the foimauing diiectives used by
\printnames, \printlist, and \printfield. To give you an idea of what a foimauing
diiective looks like, heie aie some ctional ones used by oui sample diivei. Field
foimats aie stiaightfoiwaid, the value of the eld is passed to the foimauing diiective
as an aigument which may be foimaued as desiied. Te following diiective will
simply wiap its aigument in an \emph command
\DeclareFieldFormat{title}{\emph{#1}}
List foimats aie slightly moie complex. Afei spliuing up the list into individual
items, biblatex will execute the foimauing diiective once foi eveiy item in the list.
Te item is passed to the diiective as an aigument. Te sepaiatoi to be inseited
between the individual items in the list is also handled by the coiiesponding diiective,
hence we have to check whethei we aie in the middle of the list oi at the end when
inseiting it.
\DeclareListFormat{location}{%
#1%
\ifthenelse{\value{listcount}<\value{liststop}}
{\addcomma\space}
{}}
Foimauing diiectives foi names aie similai to those foi liteial lists, but the individual
items in the list aie names which aie automatically dissected into theii components.
Te list foimauing diiective is executed once foi each name in the list and the
components of the name aie passed to the foimauing diiective as sepaiate aiguments.
Foi example, #1 is the last name and #3 is the ist name. Heie is a simplied example
\DeclareNameFormat{author}{%
\ifthenelse{\value{listcount}=1}
{#1%
\ifblank{#3}{}{\addcomma\space #3}}
{\ifblank{#3}{}{#3\space}%
#1}%
\ifthenelse{\value{listcount}<\value{liststop}}
{\addcomma\space}
{}}
Te above diiective ieveises the name of the ist authoi (Last, Fiist) and piints
the iemaining names in theii iegulai sequence (Fiist Last). Note that the only
component which is guaianteed to be available is the last name, hence we have to
check which paits of the name aie actually piesent. lf a ceitain component of a name
is not available, the coiiesponding aigument will be blank. As with diiectives foi
liteial lists, the sepaiatoi to be inseited between the individual items in the list is
also handled by the foimauing diiective, hence we have to check whethei we aie
in the middle of the list oi at the end when inseiting it. Tis is what the second
\ifthenelse test does.
4.2.4 Special Fields
Te following lists and elds aie used by biblatex to pass data to bibliogiaphy diiveis
and citation commands. Tey aie not used in bib les but dened automatically by
the package. Fiom the peispective of a bibliogiaphy oi citation style, they aie not
dieient fiom the elds in a bib le.
123
4.2.4.1 Generic Fields
entrykey eld (stiing)
Te entiy key of an item in the bib le. Tis is the stiing used by biblatex and the
backend to identify an entiy in the bib le.
childentrykey eld (stiing)
When citing a subentiy of an entiy set, biblatex piovides the data of the paient
@set entiy to citation commands. Tis implies that the entrykey eld holds the entiy
key of the paient. Te entiy key of the child entiy being cited is piovided in the
childentrykey eld. Tis eld is only available when citing a subentiy of an entiy
set.
datelabelsource eld (liteial) Biber only
Holds the piex coming befoie date of the date eld name chosen by
\DeclareLabeldate. Foi example, if the label date eld is eventdate, then
datelabelsource will be event. ln case \DeclareLabeldate selects the date eld,
then datelabelsource will be dened but will be an empty stiing as the piex
coming befoie date in the date label name is empty. Tis is so that the con-
tents of datelabelsource can be used in constiucting iefeiences to the eld which
\DeclareLabeldate chooses. Since \DeclareLabeldate can also select liteial stiings
foi fallbacks, if datelabelsource is undened, then eithei the labeldate package
option is set to false oi \DeclareLabeldate chose a liteial stiing instead of a date
eld. Beai in mind that \DeclareLabeldate can also be used to select non-date elds
as a fallback and so datelabelsource might contain a eld name. So, in summaiy,
the iules aie
\iffieldundef{datalabelsource}
{
% labeldate package option is not set or \DeclareLabeldate resolved to a literal string
}
{
\iffieldundef{\thefield{datelabelsource}}
{
% datelabelsource contains a date field name prefix like "", "event", "url" or "orig"
}
{
% datelabelsource contains a non-date field
}
}
entrytype eld (stiing)
Te entiy type (@book, @inbook, etc.), given in loweicase leueis.
childentrytype eld (stiing)
When citing a subentiy of an entiy set, biblatex piovides the data of the paient
@set entiy to citation commands. Tis implies that the entrytype eld holds the
entiy type of the paient. Te entiy type of the child entiy being cited is piovided in
the childentrytype eld. Tis eld is only available when citing a subentiy of an
entiy set.
124
entrysetcount eld (integei)
Tis eld holds an integei indicating the position of a set membei in the entiy set
(staiting at 1). Tis eld is only available in the subentiies of an entiy set.
hash eld (stiing) Biber only
Tis eld is special in that it is only available locally in name foimauing diiectives.
lt holds a hash stiing which uniquely identies individual names in a name list.
Tis infoimation is available foi all names in all name lists. See also namehash and
fullhash.
namehash eld (stiing)
A hash stiing which uniquely identies the labelname list. Tis is useful foi iecui-
ience checks. Foi example, a citation style which ieplaces iecuiient authois oi editois
with a stiing like idem could save the namehash eld with \savefield and use it
in a compaiison with \iffieldequals latei (see 4..1 and 4..2). Te namehash
is deiived fiom the tiuncated labelname list, i. e., it is iesponsive to maxnames and
minnames. See also hash and fullhash.
fullhash eld (stiing)
A hash stiing which uniquely identies the labelname list. Tis elds dieis fiom
namehash in two details 1) Te shortauthor and shorteditor lists aie ignoied when
geneiating the hash. 2) Te hash always iefeis to the full list, ignoiing maxnames and
minnames. See also hash and namehash.
pageref list (liteial)
lf the backref package option is enabled, this list holds the page numbeis of the
pages on which the iespective bibliogiaphy entiy is cited. lf theie aie refsection
enviionments in the document, the back iefeiences aie local to the iefeience sections.
sortinit eld (liteial)
Tis eld holds the initial leuei of the stiing used duiing soiting. Tis is useful when
subdividing the bibliogiaphy alphabetically.
clonesourcekey eld (stiing) Biber only
Tis eld holds the entiy key of the entiy fiom which an entiy was cloned. Clones
aie cieated foi entiies which aie mentioned in related elds as pait of ielated entiy
piocessing, foi example.
4.2.4.2 Fields for Use in Citation Labels
labelalpha eld (liteial)
When using BibTeX as the backend, a label similai to the labels geneiated by the
alpha.bst style of tiaditional BibTeX. Tis default label consists of initials diawn
fiom the labelname list plus the last two digits of the publication yeai. Te label
eld may be used to oveiiide its non-numeiic poition. lf the label eld is dened,
biblatex will use its value and append the last two digits of the publication yeai
when geneiating labelalpha. Te shorthand eld may be used to oveiiide the entiie
label. lf dened, labelalpha is the shorthand iathei than an automatically geneiated
label. With Bibei, useis can specify a template used to constiuct the alphabetic label Biber only
12
(see 4..4) and the default template miiiois the foimat mentioned foi bibtex above.
A complete alphabetic label consists of the elds labelalpha plus extraalpha. Note
that the labelalpha and extraalpha elds need to be iequested with the package
option labelalpha ( 3.1.2.3). See also extraalpha as well as \labelalphaothers in
3.9.1.
extraalpha eld (integei)
Te alphabetic citation scheme usually iequiies a leuei to be appended to the label if
the bibliogiaphy contains two oi moie woiks by the same authoi which weie all pub-
lished in the same yeai. ln this case, the extraalpha eld holds an integei which may
be conveited to a leuei with \mknumalph oi foimaued in some othei way. Tis eld is
similai to the iole of extrayear in the authoi-yeai scheme. A complete alphabetic
label consists of the elds labelalpha plus extraalpha. Note that the labelalpha
and extraalpha elds need to be iequested with the package option labelalpha, see
3.1.2.3 foi details. See also labelalpha as well as \labelalphaothers in 3.9.1.
Table summaiises the vaiious extra* disambiguation counteis and what they tiack.
labelname list (name)
Te name to be piinted in citations. Tis list is a copy of eithei the shortauthor,
the author, the shorteditor, the editor, oi the translator list, which aie noimally
checked foi in this oidei. lf no authois and editois aie available, this list is undened.
Note that this list is also iesponsive to the useauthor, useeditor, and usetranslator
options, see 3.1.3. Citation styles should use this list when piinting the name in a
citation. Tis list is piovided foi convenience only and does not caiiy any additional
meaning. With Bibei, this eld may be customized. See 4..8 foi details. Biber only
labelnumber eld (liteial)
Te numbei of the bibliogiaphy entiy, as iequiied by numeiic citation schemes. lf
the shorthand eld is dened, biblatex does not assign a numbei to the iespective
entiy. ln this case labelnumber is the shoithand iathei than a numbei. Numeiic
styles must use the value of this eld instead of a countei. Note that this eld needs
to be iequested with the package option labelnumber, see 3.1.2.3 foi details. Also
see the package option defernumbers in 3.1.2.1.
prefixnumber eld (liteial)
lf the prefixnumbers option of \printbibliography has been set in oidei to pie-
x all entiies in a subbibliogiaphy with a xed stiing, this stiing is available
in the prefixnumber eld of all aected entiies. lf no piex has been set, the
prefixnumber eld of the iespective entiy is undened. See the prefixnumbers
option of \printbibliography in 3..2 foi details. lf the shorthand eld is dened,
biblatex does not assign the piex to the prefixnumber eld of the iespective entiy.
ln this case, the prefixnumber eld is undened.
labeltitle eld (liteial)
Te piintable title of a woik. ln some ciicumstances, a style might need to choose a
title fiom a list of a possible title elds. Foi example, citation styles piinting shoit
titles may want to piint the shorttitle eld if it exists but otheiwise piint the
title eld. Te list of elds to be consideied when constiucting labeltitle may Biber only
be customized. See 4..8 foi details. Note that the extratitle eld needs to be
iequested with the package option labeltitle, see 3.1.2.3 foi details. See also
12
extratitle. Note also that the extratitleyear eld needs to be iequested with the
package option labeltitleyear. See also extratitleyear.
extratitle eld (integei)
lt is sometimes useful, foi example in authoi-title citation schemes, to be able to
disambiguate woiks with the same title. Foi woiks by the same labelname with the
same labeltitle, the extratitle eld holds an integei which may be conveited to
a leuei with \mknumalph oi foimaued in some othei way (oi it can be meiely used as
a ag to say that some othei eld such as a date should be used in conjunction with
the labeltitle eld). Tis eld is undened if theie is only one woik with the same
labeltitle by the same labelname in the bibliogiaphy. Note that the extratitle
eld needs to be iequested with the package option labeltitle, see 3.1.2.3 foi
details. See also labeltitle. Table summaiises the vaiious extra* disambiguation
counteis and what they tiack.
extratitleyear eld (integei)
lt is sometimes useful, foi example in authoi-title citation schemes, to be able to dis-
ambiguate woiks with the same title in the same yeai but with no authoi. Foi woiks
with the same labeltitle and with the same labelyear, the extratitleyear eld
holds an integei which may be conveited to a leuei with \mknumalph oi foimaued in
some othei way (oi it can be meiely used as a ag to say that some othei eld such
as a publishei should be used in conjunction with the labelyear eld). Tis eld
is undened if theie is only one woik with the same labeltitle and labelyear in
the bibliogiaphy. Note that the extratitleyear eld needs to be iequested with the
package option labeltitleyear, see 3.1.2.3 foi details. See also labeltitleyear.
Table summaiises the vaiious extra* disambiguation counteis and what they tiack.
labelyear eld (liteial)
Te publication yeai, as specied in the date oi the year eld, foi use in authoi-yeai
labels. A complete authoi-yeai label consists of the elds labelyear plus extrayear.
Note that the labelyear and extrayear elds need to be iequested with the package
option labeldate, see 3.1.2.3 foi details. See also extrayear. With Bibei, the souice Biber only
date eld foi this may be customized. See 4..8 foi details.
labelmonth eld (datepait)
Te publication month, as specied in the date oi the month eld, foi use in authoi-
yeai labels. Note that the labelmonth eld needs to be iequested with the package
option labeldate, see 3.1.2.3 foi details. With Bibei, the souice date eld foi this Biber only
may be customized. See 4..8 foi details.
labelday eld (datepait)
Te publication day, as specied in the date, foi use in authoi-yeai labels. Note that
the labelday eld needs to be iequested with the package option labeldate, see
3.1.2.3 foi details. With Bibei, the souice date eld foi this may be customized. See Biber only
4..8 foi details.
extrayear eld (integei)
Te authoi-yeai citation scheme usually iequiies a leuei to be appended to the yeai
if the bibliogiaphy contains two oi moie woiks by the same authoi which weie
all published in the same yeai. ln this case, the extrayear eld holds an integei
12
which may be conveited to a leuei with \mknumalph oi foimaued in some othei way.
Tis eld is undened if theie is only one woik by the authoi in the bibliogiaphy
oi if all woiks by the authoi have dieient publication yeais. A complete authoi-
yeai label consists of the elds labelyear plus extrayear. Note that the labelyear
and extrayear elds need to be iequested with the package option labeldate, see
3.1.2.3 foi details. See also labelyear. Table summaiises the vaiious extra*
disambiguation counteis and what they tiack.
4.2.4.3 Date Component Fields
See table 8 foi an oveiview of how the date elds in bib les aie ielated to the date
elds piovided by the style inteiface. When testing foi a eld like origdate in a
style, use code like
\iffieldundef{origyear}{...}{...}
Tis will tell you if the coiiesponding date is dened at all. Tis test
\iffieldundef{origendyear}{...}{...}
will tell you if the coiiesponding date is dened and a (fully specied) iange. Tis
test
\iffieldequalstr{origendyear}{}{...}{...}
will tell you if the coiiesponding date is dened and an open-ended iange. Open-
ended ianges aie indicated by an empty endyear component (as opposed to an
undened endyear component). See 2.3.8 and table 3 on page 34 foi fuithei
examples.
day eld (datepait)
Tis eld holds the day component of the date eld. lf the date is a iange, it holds
the day component of the stait date.
month eld (datepait)
Tis eld is the month as given in the database le oi it holds the month component
of the date eld. lf the date is a iange, it holds the month component of the stait
date.
year eld (datepait)
Tis eld is the year as given in the database le oi it holds the yeai component of
the date eld. lf the date is a iange, it holds the yeai component of the stait date.
endday eld (datepait)
lf the date specication in the date eld is a iange, this eld holds the day component
of the end date.
endmonth eld (datepait)
lf the date specication in the date eld is a iange, this eld holds the month
component of the end date.
128
bib File Data Interface
Field Value (Example) Field Value (Example)
date 1988 day undened
month undened
year 1988
endday undened
endmonth undened
endyear undened
date 199/ day undened
month undened
year 199
endday undened
endmonth undened
endyear empty
urldate 2009-01-31 urlday 31
urlmonth 01
urlyear 2009
urlendday undened
urlendmonth undened
urlendyear undened
origdate 2002-01/2002-02 origday undened
origmonth 01
origyear 2002
origendday undened
origendmonth 02
origendyear 2002
eventdate 199-01-31/199-02-0 eventday 31
eventmonth 01
eventyear 199
eventendday 0
eventendmonth 02
eventendyear 199
Table 8: Date Interface
129
endyear eld (datepait)
lf the date specication in the date eld is a iange, this eld holds the yeai component
of the end date. A blank (but dened) endyear component indicates an open ended
date iange.
origday eld (datepait)
Tis eld holds the day component of the origdate eld. lf the date is a iange, it
holds the day component of the stait date.
origmonth eld (datepait)
Tis eld holds the month component of the origdate eld. lf the date is a iange, it
holds the month component of the stait date.
origyear eld (datepait)
Tis eld holds the yeai component of the origdate eld. lf the date is a iange, it
holds the yeai component of the stait date.
origendday eld (datepait)
lf the date specication in the origdate eld is a iange, this eld holds the day
component of the end date.
origendmonth eld (datepait)
lf the date specication in the origdate eld is a iange, this eld holds the month
component of the end date.
origendyear eld (datepait)
lf the date specication in the origdate eld is a iange, this eld holds the yeai
component of the end date. A blank (but dened) origendyear component indicates
an open ended origdate iange.
eventday eld (datepait)
Tis eld holds the day component of the eventdate eld. lf the date is a iange, it
holds the day component of the stait date.
eventmonth eld (datepait)
Tis eld holds the month component of the eventdate eld. lf the date is a iange,
it holds the month component of the stait date.
eventyear eld (datepait)
Tis eld holds the yeai component of the eventdate eld. lf the date is a iange, it
holds the yeai component of the stait date.
eventendday eld (datepait)
lf the date specication in the eventdate eld is a iange, this eld holds the day
component of the end date.
130
eventendmonth eld (datepait)
lf the date specication in the eventdate eld is a iange, this eld holds the month
component of the end date.
eventendyear eld (datepait)
lf the date specication in the eventdate eld is a iange, this eld holds the yeai
component of the end date. A blank (but dened) eventendyear component indicates
an open ended eventdate iange.
urlday eld (datepait)
Tis eld holds the day component of the urldate eld.
urlmonth eld (datepait)
Tis eld holds the month component of the urldate eld.
urlyear eld (datepait)
Tis eld holds the yeai component of the urldate eld.
urlendday eld (datepait)
lf the date specication in the urldate eld is a iange, this eld holds the day
component of the end date.
urlendmonth eld (datepait)
lf the date specication in the urldate eld is a iange, this eld holds the month
component of the end date.
urlendyear eld (datepait)
lf the date specication in the urldate eld is a iange, this eld holds the yeai
component of the end date. A blank (but dened) urlendyear component indicates
an open ended urldate iange.
4.3 Citation Styles
A citation style is a set of commands such as \cite which piint dieient types of
citations. Such styles aie dened in les with the sux cbx. Te biblatex package
loads the selected citation style le at the end of the package. Note that a small
iepeitoiy of fiequently used macios shaied by seveial of the standaid citation styles
is also included in biblatex.def. Tis le is loaded at the end of the package as well,
piioi to the selected citation style. lt also contains the denitions of the commands
fiom 3...
4.3.1 Citation Style Files
Befoie we go ovei the individual commands available in citation style les, considei
this example of the oveiall stiuctuie of a typical cbx le
\ProvidesFile{example.cbx}[2006/03/15 v1.0 biblatex citation style]
\DeclareCiteCommand{\cite}{...}{...}{...}{...}
131
\DeclareCiteCommand{\parencite}[\mkbibparens]{...}{...}{...}{...}
\DeclareCiteCommand{\footcite}[\mkbibfootnote]{...}{...}{...}{...}
\DeclareCiteCommand{\textcite}{...}{...}{...}{...}
\endinput
\RequireCitationStyle{style}
Tis command is optional and intended foi specialized citation styles built on top of
a moie geneiic style. lt loads the citation style style.cbx.
\InitializeCitationStyle{code}
Species aibitiaiy code iequiied to initialize oi ieset the citation style. Tis hook
will be executed once at package load-time and eveiy time the \citereset com-
mand fiom 3..8 is used. Te \citereset command also iesets the inteinal cita-
tion tiackeis of this package. Te ieset will aect the \ifciteseen, \ifentryseen,
\ifciteibid, and \ifciteidem tests discussed in 4..2. When used in a refsection
enviionment, the ieset of the citation tiackei is local to the cuiient refsection
enviionment.
\OnManualCitation{code}
Species aibitiaiy code iequiied foi a paitial ieset of the citation style. Tis
hook will be executed eveiy time the \mancite command fiom 3..8 is used. lt is
paiticulaily useful in citation styles which ieplace iepeated citations by abbieviations
like ibidem oi op. cit. which may get ambiguous if automatically geneiated
and manual citations aie mixed. Te \mancite command also iesets the inteinal
ibidem and idem tiackeis of this package. Te ieset will aect the \ifciteibid
and \ifciteidem tests discussed in 4..2.
\DeclareCiteCommand{command}[wrapper]{precode}{loopcode}{sepcode}{postcode}
\DeclareCiteCommand*{command}[wrapper]{precode}{loopcode}{sepcode}{postcode}
Tis is the coie command used to dene all citation commands. lt takes one optional
and ve mandatoiy aiguments. Te command is the command to be dened, foi
example \cite. lf the optional wrapper aigument is given, the entiie citation will
be passed to the wrapper as an aigument, i. e., the wiappei command must take
one mandatoiy aigument.
28
Te precode is aibitiaiy code to be executed at the
beginning of the citation. lt will typically handle the prenote aigument which is
available in the prenote eld. lt may also be used to initialize macios iequiied by
the loopcode. Te loopcode is aibitiaiy code to be executed foi each entiy key
passed to the command. Tis is the coie code which piints the citation labels oi any
othei data. Te sepcode is aibitiaiy code to be executed afei each iteiation of the
loopcode. lt will only be executed if a list of entiy keys is passed to the command.
Te sepcode will usually inseit some kind of sepaiatoi, such as a comma oi a
semicolon. Te postcode is aibitiaiy code to be executed at the end of the citation.
Te postcode will typically handle the postnote aigument which is available in
28
Typical examples of wiappei commands aie \mkbibparens and \mkbibfootnote.
132
the postnote eld.
29
Te staiied vaiiant of \DeclareCiteCommand denes a staiied
command. Foi example, \DeclareCiteCommand*{cite} would dene \cite*.
30
\DeclareMultiCiteCommand{command}[wrapper]{cite}{delimiter}
Tis command denes multicite commands ( 3..3). Te command is the mul-
ticite command to be dened, foi example \cites. lt is automatically made io-
bust. Multicite commands aie built on top of backend commands dened with
\DeclareCiteCommand and the cite aigument species the name of the backend
command to be used. Note that the wiappei of the backend command (i. e., the
wrapper aigument passed to \DeclareCiteCommand) is ignoied. Use the optional
wrapper aigument to specify an alteinative wiappei. Te delimiter is the stiing
to be piinted as a sepaiatoi between the individual citations in the list. Tis will
typically be \multicitedelim. Te following examples aie ieal denitions taken
fiom biblatex.def
\DeclareMultiCiteCommand{\cites}%
{\cite}{\multicitedelim}
\DeclareMultiCiteCommand{\parencites}[\mkbibparens]%
{\parencite}{\multicitedelim}
\DeclareMultiCiteCommand{\footcites}[\mkbibfootnote]%
{\footcite}{\multicitedelim}
\DeclareAutoCiteCommand{name}[position]{cite}{multicite}
Tis command piovides denitions foi the \autocite and \autocites commands
fiom 3..4. Te denitions aie enabled with the autocite package option fiom
3.1.2.1. Te name is an identiei which seives as the value passed to the pack-
age option. Te autocite commands aie built on top of backend commands like
\parencite and \parencites. Te aiguments cite and multicite specify the back-
end commands to use. Te cite aigument iefeis to \autocite and multicite iefeis
to \autocites. Te position aigument contiols the handling of any punctuation
maiks afei the citation. Possible values aie l, r, f. r means that the punctuation is
placed to the iight of the citation, i. e., it will not be moved aiound. l means that
any punctuation afei the citation is moved to the lef of the citation. f is like r in a
footnote and like l otheiwise. Tis aigument is optional and defaults to r. See also
\DeclareAutoPunctuation in 4.. and the autopunct package option in 3.1.2.1.
Te following examples aie ieal denitions taken fiom biblatex.def
\DeclareAutoCiteCommand{plain}{\cite}{\cites}
\DeclareAutoCiteCommand{inline}{\parencite}{\parencites}
\DeclareAutoCiteCommand{footnote}[l]{\footcite}{\footcites}
\DeclareAutoCiteCommand{footnote}[f]{\smartcite}{\smartcites}
29
Te bibliogiaphic data available to the loopcode is the data of the entiy cuiiently being piocessed.
ln addition to that, the data of the ist entiy is available to the precode and the data of the last
one is available to the postcode. Fiist and last iefei to the oidei in which the citations aie
piinted. lf the sortcites package option is active, this is the oidei of the list afei soiting. Note
that no bibliogiaphic data is available to the sepcode.
30
Note that the iegulai vaiiant of \DeclareCiteCommand denes a staiied veision of the command
implicitly, unless the staiied veision has been dened befoie. Tis is intended as a fallback. Te
implicit denition is an alias foi the iegulai vaiiant.
133
4.3.2 Special Fields
Te following elds aie used by biblatex to pass data to citation commands. Tey aie
not used in bib les but dened automatically by the package. Fiom the peispective
of a citation style, they aie not dieient fiom the elds in a bib le. See also 4.2.4.
prenote eld (liteial)
Te prenote aigument passed to a citation command. Tis eld is specic to
citations and not available in the bibliogiaphy. lf the prenote aigument is missing
oi empty, this eld is undened.
postnote eld (liteial)
Te postnote aigument passed to a citation command. Tis eld is specic to
citations and not available in the bibliogiaphy. lf the postnote aigument is missing
oi empty, this eld is undened.
multiprenote eld (liteial)
Te multiprenote aigument passed to a multicite command. Tis eld is specic
to citations and not available in the bibliogiaphy. lf the multiprenote aigument is
missing oi empty, this eld is undened.
multipostnote eld (liteial)
Te multipostnote aigument passed to a multicite command. Tis eld is specic
to citations and not available in the bibliogiaphy. lf the multipostnote aigument is
missing oi empty, this eld is undened.
postpunct eld (punctuation command)
Te tiailing punctuation aigument implicitly passed to a citation command. Tis
eld is specic to citations and not available in the bibliogiaphy. lf the chaiactei
following a given citation command is not specied in \DeclareAutoPunctuation
( 4..), this eld is undened.
4.4 Data Interface
Te data inteiface aie the facilities used to foimat and piint all bibliogiaphic data.
Tese facilities aie available in both bibliogiaphy and citation styles.
4.4.1 Data Commands
Tis section intioduces the main data inteiface of the biblatex package. Tese aie
the commands doing most of the woik, i. e., they actually piint the data piovided in
lists and elds.
\printfield[format]{eld}
Tis command piints a eld using the foimauing diiective format, as dened
with \DeclareFieldFormat. lf a type-specic format has been declaied, the type-
specic foimauing diiective takes piecedence ovei the geneiic one. lf the eld is
undened, nothing is piinted. lf the format is omiued, \printfield tiies using the
name of the eld as a foimat name. Foi example, if the title eld is to be piinted
134
and the format is not specied, it will tiy to use the eld foimat title.
31
ln this
case, any type-specic foimauing diiective will also take piecedence ovei the geneiic
one. lf all of these foimats aie undened, it falls back to default as a last iesoit.
Note that \printfield piovides the name of the eld cuiiently being piocessed in
\currentfield foi use in eld foimauing diiectives.
\printlist[format][startstop]{literal list}
Tis command loops ovei all items in a literal list, staiting at item numbei start
and stopping at item numbei stop, including start and stop (all lists aie num-
beied staiting at 1). Each item is piinted using the foimauing diiective format,
as dened with \DeclareListFormat. lf a type-specic format has been declaied,
the type-specic foimauing diiective takes piecedence ovei the geneiic one. lf the
literal list is undened, nothing is piinted. lf the format is omiued, \printlist
tiies using the name of the list as a foimat name. ln this case, any type-specic
foimauing diiective will also take piecedence ovei the geneiic one. lf all of these
foimats aie undened, it falls back to default as a last iesoit. Te start aigu-
ment defaults to 1, stop defaults to the total numbei of items in the list. lf the
total numbei is gieatei than maxitems, stop defaults to minitems (see 3.1.2.1).
See \printnames foi fuithei details. Note that \printlist piovides the name of
the liteial list cuiiently being piocessed in \currentlist foi use in list foimauing
diiectives.
\printnames[format][startstop]{name list}
Tis command loops ovei all items in a name list, staiting at item numbei start
and stopping at item numbei stop, including start and stop (all lists aie num-
beied staiting at 1). Each item is piinted using the foimauing diiective format,
as dened with \DeclareNameFormat. lf a type-specic format has been declaied,
the type-specic foimauing diiective takes piecedence ovei the geneiic one. lf the
name list is undened, nothing is piinted. lf the format is omiued, \printnames
tiies using the name of the list as a foimat name. ln this case, any type-specic
foimauing diiective will also take piecedence ovei the geneiic one. lf all of these
foimats aie undened, it falls back to default as a last iesoit. Te start aigument
defaults to 1, stop defaults to the total numbei of items in the list. lf the total
numbei is gieatei than maxnames, stop defaults to minnames (see 3.1.2.1). lf
you want to select a iange but use the default list foimat, the ist optional aigument
must still be given, but is lef empty
\printnames[][1-3]{...}
One of start and stop may be omiued, hence the following aiguments aie all
valid
\printnames[...][-1]{...}
\printnames[...][2-]{...}
\printnames[...][1-3]{...}
lf you want to oveiiide maxnames and minnames and foice piinting of the entiie
list, you may iefei to the listtotal countei in the second optional aigument
\printnames[...][-\value{listtotal}]{...}
31
ln othei woids, \printfield{title} is equivalent to \printfield[title]{title}.
13
Whenevei \printnames and \printlist piocess a list, infoimation conceining the
cuiient state is accessible by way of foui counteis the listtotal countei holds the
total numbei of items in the cuiient list, listcount holds the numbei of the item
cuiiently being piocessed, liststart is the start aigument passed to \printnames
oi \printlist, liststop is the stop aigument. Tese counteis aie intended foi
use in list foimauing diiectives. listtotal may also be used in the second optional
aigument to \printnames and \printlist. Note that these counteis aie local to list
foimauing diiectives and do not hold meaningful values when used anywheie else.
Foi eveiy list, theie is also a countei by the same name which holds the total numbei
of items in the coiiesponding list. Foi example, the author countei holds the total
numbei of items in the author list. Tese counteis aie similai to listtotal except
that they may also be used independently of list foimauing diiectives. Teie aie
also maxnames and minnames as well as maxitems and minitems counteis which hold
the values of the coiiesponding package options. See 4.10. foi a complete list of
such inteinal counteis. Note that \printnames piovides the name of the name list
cuiiently being piocessed in \currentname foi use in name foimauing diiectives.
\printtext[format]{text}
Tis command piints text, which may be piintable text oi aibitiaiy code geneiating
piintable text. lt cleais the punctuation buei befoie inseiting text and infoims
biblatex that piintable text has been inseited. Tis ensuies that all pieceding and
following \newblock and \newunit commands have the desiied eect. \printfield
and \printnames as well as \bibstring and its companion commands (see 4.8) do
that automatically. Using this command is iequiied if a bibliogiaphy styles inseits
liteial text (including the commands fiom 4..3 and 4..4) to ensuie that block
and unit punctuation woiks as adveitised in 4..1. Te optional format aigument
species a eld foimauing diiective to be used to foimat text. Tis may also be
useful when seveial elds aie to be piinted as one chunk, foi example, by enclosing
the entiie chunk in paientheses oi quotation maiks. lf a type-specic format
has been declaied, the type-specic foimauing diiective takes piecedence ovei the
geneiic one. lf the format is omiued, the text is piinted as is. See also 4.11.
foi some piactical hints.
\printfile[format]{le}
Tis command is similai to \printtext except that the second aigument is a le
name iathei than liteial text. Te le aigument must be the name of a valid LaTeX
le found in TeXs seaich path. \printfile will use \input to load this le. lf
theie is no such le, \printfile does nothing. Te optional format aigument
species a eld foimauing diiective to be applied to the le. lf a type-specic
format has been declaied, the type-specic foimauing diiective takes piecedence
ovei the geneiic one. lf the format is omiued, the le is piinted as is. Note that
this featuie needs to be enabled explicitly by seuing the package option loadfiles
fiom 3.1.2.1. By default, \printfile will not input any les.
\printdate Tis command piints the date of the entiy, as specied in the elds date oi month/year.
Te date foimat is contiolled by the package option date fiom 3.1.2.1. Additional
foimauing (fonts etc.) may be applied by adjusting the eld foimat date ( 4.10.4).
Note that this command inteifaces with the punctuation tiackei. Teie is no need to
wiap it in a \printtext command.
\printdateextra Similai to \printdate but incoipoiates the extrayear eld in the date specication.
Tis is useful foi bibliogiaphy styles designed foi authoi-yeai citations.
13
\printdatelabel Similai to \printdate but piints the date eld deteimined by \DeclareLabeldate.
Te date foimat is contiolled by the package option datelabel fiom 3.1.2.1. Addi-
tional foimauing may be applied by adjusting the eld foimat datelabel ( 4.10.4).
\printdateextralabel Similai to \printdatelabel but incoipoiates the extrayear eld in the date
specication. Tis is useful foi bibliogiaphy styles designed foi authoi-yeai citations.
\printurldate Similai to \printdate but piints the urldate of the entiy. Te date foimat is con-
tiolled by the package option urldate fiom 3.1.2.1. Additional foimauing may be
applied by adjusting the eld foimat urldate ( 4.10.4).
\printorigdate Similai to \printdate but piints the origdate of the entiy. Te date foimat is
contiolled by the package option origdate fiom 3.1.2.1. Additional foimauing may
be applied by adjusting the eld foimat origdate ( 4.10.4).
\printeventdate Similai to \printdate but piints the eventdate of the entiy. Te date foimat is
contiolled by the package option eventdate fiom 3.1.2.1. Additional foimauing
may be applied by adjusting the eld foimat eventdate ( 4.10.4).
\indexfield[format]{eld}
Tis command is similai to \printfield except that the eld is not piinted
but added to the index using the foimauing diiective format, as dened with
\DeclareIndexFieldFormat. lf a type-specic format has been declaied, it takes
piecedence ovei the geneiic one. lf the eld is undened, this command does
nothing. lf the format is omiued, \indexfield tiies using the name of the eld
as a foimat name. ln this case, any type-specic foimauing diiective will also take
piecedence ovei the geneiic one. lf all of these foimats aie undened, it falls back to
default as a last iesoit.
\indexlist[format][startstop]{literal list}
Tis command is similai to \printlist except that the items in the list aie not
piinted but added to the index using the foimauing diiective format, as dened
with \DeclareIndexListFormat. lf a type-specic format has been declaied, the
type-specic foimauing diiective takes piecedence ovei the geneiic one. lf the
literal list is undened, this command does nothing. lf the format is omiued,
\indexlist tiies using the name of the list as a foimat name. ln this case, any type-
specic foimauing diiective will also take piecedence ovei the geneiic one. lf all of
these foimats aie undened, it falls back to default as a last iesoit.
\indexnames[format][startstop]{name list}
Tis command is similai to \printnames except that the items in the list aie not
piinted but added to the index using the foimauing diiective format, as dened
with \DeclareIndexNameFormat. lf a type-specic format has been declaied, the
type-specic foimauing diiective takes piecedence ovei the geneiic one. lf the
name list is undened, this command does nothing. lf the format is omiued,
\indexnames tiies using the name of the list as a foimat name. ln this case, any type-
specic foimauing diiective will also take piecedence ovei the geneiic one. lf all of
these foimats aie undened, it falls back to default as a last iesoit.
13
\entrydata{key}{code}
\entrydata*{key}{code}
Data commands like \printfield noimally use the data of the entiy cuiiently being
piocessed. You may use \entrydata to switch contexts locally. Te key is the entiy
key of the entiy to use locally. Te code is aibitiaiy code to be executed in this
context. Tis code will be executed in a gioup. See 4.11. foi an example. Note that
this command will automatically switch languages if the autolang package option is
enabled. Te staiied veision \entrydata* will clone all elds of the enclosing entiy,
using eld, countei, and othei iesouice names piexed with the stiing saved. Tis
is useful when compaiing two data sets. Foi example, inside the code aigument,
the author eld holds the authoi of entiy key and the authoi of the enclosing
entiy is available as savedauthor. Te author countei holds the numbei of names
in the author eld of key, the savedauthor countei iefeis to the authoi count of
the enclosing entiy.
\entryset{precode}{postcode}
Tis command is intended foi use in bibliogiaphy diiveis handling @set entiies. lt
will loop ovei all membeis of the set, as indicated by the entryset eld, and execute
the appiopiiate diivei foi the iespective set membei. Tis is similai to executing the
\usedriver command fiom 4..4 foi each set membei. Te precode is aibitiaiy
code to be executed piioi to piocessing each itemin the set. Te postcode is aibitiaiy
code to be executed immediately afei piocessing each item. Both aiguments aie
mandatoiy in teims of the syntax but may be lef empty. See 4.11.1 foi usage
examples.
\DeclareFieldInputHandler{eld}{code}
Tis command can be used to dene a data input handlei foi eld when it is iead
fiom the .bbl. Within the code, the macio \NewValue contains the value of the
eld. Foi example, to ignoie the volumes eld when it appeais, you could do
\DeclareFieldInputHandler{volumes}{\def\NewValue{}}
Geneially, you would want to use \DeclareSourcemap (see 4..2) to iemove and
modify elds but this alteinative method may be useful in some ciicumstances when
the emphasis is on appeaiance iathei than data since the code can be aibitiaty TeX.
\DeclareListInputHandler{list}{code}
As \DeclareFieldInputHandler but foi lists. Within the code, the macio
\NewValue contains the value of the list and \NewCount contains the numbei of
items in the list.
\DeclareNameInputHandler{name}{code}
As \DeclareFieldInputHandler but foi names. Within the code, the macio
\NewValue contains the value of the name, \NewCount contains the numbei of indi-
vidual names in the name and \NewOption contains any pei-name options passed in
the .bbl.
138
4.4.2 Formating Directives
Tis section intioduces the commands used to dene the foimauing diiectives ie-
quiied by the data commands fiom 4.4.1. Note that all standaid foimats aie dened
in biblatex.def.
\DeclareFieldFormat[entrytype, ]{format}{code}
\DeclareFieldFormat*{format}{code}
Denes the eld foimat format. Tis foimauing diiective is aibitiaiy code to be
executed by \printfield. Te value of the eld will be passed to the code as its
ist and only aigument. Te name of the eld cuiiently being piocessed is available
to the code as \currentfield. lf an entrytype is specied, the foimat is specic
to that type. Te entrytype aigument may be a comma-sepaiated list of values.
Te staiied vaiiant of this command is similai to the iegulai veision, except that all
type-specic foimats aie cleaied.
\DeclareListFormat[entrytype, ]{format}{code}
\DeclareListFormat*{format}{code}
Denes the liteial list foimat format. Tis foimauing diiective is aibitiaiy code
to be executed foi eveiy item in a list piocessed by \printlist. Te cuiient item
will be passed to the code as its ist and only aigument. Te name of the liteial list
cuiiently being piocessed is available to the code as \currentlist. lf an entrytype
is specied, the foimat is specic to that type. Te entrytype aigument may be a
comma-sepaiated list of values. Note that the foimauing diiective also handles the
punctuation to be inseited between the individual items in the list. You need to check
whethei you aie in the middle of oi at the end of the list, i. e., whethei listcount is
smallei than oi equal to liststop. Te staiied vaiiant of this command is similai to
the iegulai veision, except that all type-specic foimats aie cleaied.
\DeclareNameFormat[entrytype, ]{format}{code}
\DeclareNameFormat*{format}{code}
Denes the name list foimat format. Tis foimauing diiective is aibitiaiy code
to be executed foi eveiy name in a list piocessed by \printnames. lf an entrytype
is specied, the foimat is specic to that type. Te entrytype aigument may be a
comma-sepaiated list of values. Te individual paits of a name will be passed to the
code as sepaiate aiguments. Tese aiguments aie as follows
#1 Te last names. lf a name consists of a single pait only (foi example, Aiistotle),
this pait will be tieated as the last name.
#2 Te last names, given as initials.
#3 Te ist names. Tis aigument also includes all middle names.
#4 Te ist names, given as initials.
#5 Te name piexes, foi example von, van, of, da, de, del, della, etc. Note that
name piexes aie iefeiied to as the von pait of the name in the BibTeX le
foimat documentation.
#6 Te name piexes, given as initials.
#7 Te name axes, foi example junioi, senioi, dei Jungeie, dei Alteie, etc.
Note that name axes aie iefeiied to as the junioi pait of the name in the
BibTeX le foimat documentation.
139
#8 Te name axes, given as initials.
lf a ceitain pait of a name is not available, the coiiesponding aigument will be
empty, hence you may use \ifblank tests to check foi the individual paits of a name.
Te name of the name list cuiiently being piocessed is available to the code as
\currentname. Note that the foimauing diiective also handles the punctuation to be
inseited between sepaiate names and between the individual paits of a name. You
need to check whethei you aie in the middle of oi at the end of the list, i. e., whethei
listcount is smallei than oi equal to liststop. See also 3.12.4. Te staiied vaiiant
of this command is similai to the iegulai veision, except that all type-specic foimats
aie cleaied.
\DeclareIndexFieldFormat[entrytype, ]{format}{code}
\DeclareIndexFieldFormat*{format}{code}
Denes the eld foimat format. Tis foimauing diiective is aibitiaiy code to
be executed by \indexfield. Te value of the eld will be passed to the code
as its ist and only aigument. Te name of the eld cuiiently being piocessed is
available to the code as \currentfield. lf an entrytype is specied, the foimat
is specic to that type. Te entrytype aigument may be a comma-sepaiated list
of values. Tis command is similai to \DeclareFieldFormat except that the data
handled by the code is not intended to be piinted but wiiuen to the index. Note
that \indexfield will execute the code as is, i. e., the code must include \index
oi a similai command. Te staiied vaiiant of this command is similai to the iegulai
veision, except that all type-specic foimats aie cleaied.
\DeclareIndexListFormat[entrytype, ]{format}{code}
\DeclareIndexListFormat*{format}{code}
Denes the liteial list foimat format. Tis foimauing diiective is aibitiaiy code to
be executed foi eveiy item in a list piocessed by \indexlist. Te cuiient item will be
passed to the code as its only aigument. Te name of the liteial list cuiiently being
piocessed is available to the code as \currentlist. lf an entrytype is specied,
the foimat is specic to that type. Te entrytype aigument may be a comma-
sepaiated list of values. Tis command is similai to \DeclareListFormat except
that the data handled by the code is not intended to be piinted but wiiuen to
the index. Note that \indexlist will execute the code as is, i. e., the code must
include \index oi a similai command. Te staiied vaiiant of this command is similai
to the iegulai veision, except that all type-specic foimats aie cleaied.
\DeclareIndexNameFormat[entrytype, ]{format}{code}
\DeclareIndexNameFormat*{format}{code}
Denes the name list foimat format. Tis foimauing diiective is aibitiaiy code
to be executed foi eveiy name in a list piocessed by \indexnames. Te name of the
name list cuiiently being piocessed is available to the code as \currentname. lf an
entrytype is specied, the foimat is specic to that type. Te entrytype aigument
may be a comma-sepaiated list of values. Te paits of the name will be passed to the
code as sepaiate aiguments. Tis command is veiy similai to \DeclareNameFormat
except that the data handled by the code is not intended to be piinted but wiiuen
to the index. Note that \indexnames will execute the code as is, i. e., the code
must include \index oi a similai command. Te staiied vaiiant of this command is
similai to the iegulai veision, except that all type-specic foimats aie cleaied.
140
\DeclareFieldAlias[entry type]{alias}[format entry type]{format}
Declaies alias to be an alias foi the eld foimat format. lf an entrytype is
specied, the alias is specic to that type. Te format entry type is the entiy type
of the backend foimat. Tis is only iequiied when declaiing an alias foi a type-
specic foimauing diiective.
\DeclareListAlias[entry type]{alias}[format entry type]{format}
Declaies alias to be an alias foi the liteial list foimat format. lf an entrytype
is specied, the alias is specic to that type. Te format entry type is the entiy
type of the backend foimat. Tis is only iequiied when declaiing an alias foi a type-
specic foimauing diiective.
\DeclareNameAlias[entry type]{alias}[format entry type]{format}
Declaies alias to be an alias foi the name list foimat format. lf an entrytype
is specied, the alias is specic to that type. Te format entry type is the entiy
type of the backend foimat. Tis is only iequiied when declaiing an alias foi a type-
specic foimauing diiective.
\DeclareIndexFieldAlias[entry type]{alias}[format entry type]{format}
Declaies alias to be an alias foi the eld foimat format. lf an entrytype is
specied, the alias is specic to that type. Te format entry type is the entiy type
of the backend foimat. Tis is only iequiied when declaiing an alias foi a type-
specic foimauing diiective.
\DeclareIndexListAlias[entry type]{alias}[format entry type]{format}
Declaies alias to be an alias foi the liteial list foimat format. lf an entrytype
is specied, the alias is specic to that type. Te format entry type is the entiy
type of the backend foimat. Tis is only iequiied when declaiing an alias foi a type-
specic foimauing diiective.
\DeclareIndexNameAlias[entry type]{alias}[format entry type]{format}
Declaies alias to be an alias foi the name list foimat format. lf an entrytype
is specied, the alias is specic to that type. Te format entry type is the entiy
type of the backend foimat. Tis is only iequiied when declaiing an alias foi a type-
specic foimauing diiective.
4.5 Customization
4.5.1 Related Entries
Te ielated entiies featuie compiises the following components
Special elds in an entiy to set up and desciibe ielationships
Optionally, localization stiings to piex the ielated data
Macios to extiact and piint the ielated data
Foimats to foimat the localization stiing and ielated data
Te special elds aie related, relatedtype, relatedstring and relatedoptions
141
related A comma-sepaiated list of keys of entiies which aie ielated to this entiy in some
way. Note the the oidei of the keys is impoitant. Te data fiom multiple ielated
entiies is piinted in the oidei of the keys listed in this eld.
relatedtype Te type of ielationship. Tis seives thiee puiposes. lf the value of this eld
iesolves to a localization stiing identiei, then the iesulting localized stiing is
piinted befoie the data fiom the ielated entiies. Secondly, if theie is a macio called
related:relatedtype, this is used to foimat the data fiom the ielated entiies. lf no
such macio exists, then the macio related:default is used. Lastly, if theie is a
foimat named related:relatedtype, then it is used to foimat both the localized
stiing and ielated entiy data. lf theie is no ielated type specic foimat, the related
foimat is used.
relatedstring lf an entiy contains this eld, then if value of the eld iesolves to a localization
stiing identiei, the localization key value specied is piinted befoie data fiom the
ielated entiies. lf the eld does not specify a localization key, its value is piinted
liteially. lf both relatedtype and relatedstring aie piesent in an entiy,
relatedstring is used foi the pie-data stiing (but relatedtype is still used to
deteimine the macio and foimat to use when piinting the data).
relatedoptions A list of pei-entiy options to set on the ielated entiy (actually on the clone of the
ielated entiy which is used as a data souicethe actual ielated entiy is not modied
because it might be cited diiectly itself).
Te ielated entiy featuie is enabled by default by the package option related
fiom 3.1.2.1. Te ielated infoimation entiy data fiom the ielated entiies is included
via a \usebibmacro{related} call. Standaid styles call this macio towaids the end
of each diivei. Style authois should ensuie the existence of (oi take note of existing)
localization stiings which aie useful as values foi the relatedtype eld, such as
translationof oi peihaps translatedas. A pluial vaiiant can be identied with the
localization key relatedtypes. Tis keys coiiesponding stiing is piinted whenevei
moie than one entiy is specied in related. Bibliogiaphy macios and foimauing
diiectives foi piinting entiies ielated by relatedtype should be dened using the
name related:relatedtype. Te le biblatex.def contains macios and foimats
foi some common ielation types which can be used as templates. ln paiticulai, the
\entrydata* command is essential in such macios in oidei to make the data of the
ielated entiies available. Examples of entiies using this featuie can be found in
the biblatex distiibution examples le biblatex-examples.bib. Teie aie some
specic foimauing macios foi this featuie which contiol delimiteis and sepaiatois
in ielated entiy infoimation, see 4.10.1.
4.5.2 Dynamic Modification of Data
Bibliogiaphic data souices which aie automatically geneiated oi which you have no
contiol ovei can be a pioblem if you need to edit them in some way. Foi this ieason,
Bibei has the ability to modify data as it is iead so that you can apply modications
to the souice data stieam without actually changing it. Te modication can be
dened in Bibeis cong le (see Bibei docs), oi via biblatex macios in which case
you can apply the modication only foi specic documents, styles oi globally.
Souice mappings can be dened at dieient levels which aie applied in a dened
oidei. See the Biblatex manual iegaiding these macios
user-level maps dened with \DeclareSourcemap
user-level maps dened in the Bibei cong le (see Bibei docs)
142
style-level maps dened with \DeclareStyleSourcemap
driver-level maps dened with \DeclareDriverSourcemap
\DeclareSourcemap{specication} Biber only
Denes souice data modication (mapping) iules which can be used to peifoim any
combination of the following tasks
Map data souice entiytypes to dieient entiytypes
Map datasouice elds to dieient elds
Add new elds to an entiy
Remove elds fiom an entiy
Modify the contents of a eld using standaid Peil iegulai expiession match
and ieplace
Restiict any of the above opeiations to entiies coming fiom paiticulai data-
souices which you dened in \addresource macios
Restiict any of the above opeiations to entiies only of a ceitain entiytype
Te specication is an undelimited list of \maps diiectives which specify containeis
foi mappings iules applying to a paiticulai data souice type ( 3..1). Spaces, tabs,
and line endings may be used fieely to visually aiiange the specication. Blank
lines aie not peimissible. Tis command may only be used in the pieamble.
\maps{elements}
Contains an oideied set of \map elements each of which is a logically ielated set of
mapping steps to apply to the data souice.
datatype=bibtex, biblatexml, ris, zoterordfxml, endnotexml default bibtex
Data souice type to which the contained \map diiectives apply ( 3..1).
overwrite=true, false default false
Specify whethei a mapping iule is allowed to oveiwiite alieady existing data in an
entiy. lf this option is not specied, the default is false. Te shoit foim overwrite
is equivalent to overwrite=true.
\map{restrictions,steps}
A containei foi an oideied set of map \steps, optionally iestiicted to paiticulai
entiytypes oi data souices. Tis is a giouping element to allow a set of mapping
steps to apply only to specic entiytypes oi data souices. Mapping steps must always
be contained within a \map element.
overwrite=true, false
As the same option on the paient \maps element. Tis option allows an oveiiide on
a pei-map gioup basis. lf this option is not specied, the default is the paient \maps
element option value. Te shoit foim overwrite is equivalent to overwrite=true.
143
\perdatasource{datasource}
Restiicts all \steps in this \map element to entiies fiom the named datasource. Te
datasource name should be exactly as given in a \addresource macio dening a
data souice foi the document. Multiple \perdatasource iestiictions aie allowed
within a \map element.
\pertype{entrytype}
Restiicts all \steps in this \map element to entiies of the named entrytype. Multiple
\pertype iestiictions aie allowed within a \map element.
\step
A mapping step. Each step is applied sequentially to eveiy ielevant entiy wheie
ielevant means those entiies which coiiespond to the data souice type, entiytype
and data souice name iestiictions mentioned above. Each step is applied to the entiy
as it appeais afei the application of all pievious steps. Te mapping peifoimed by
the step is deteimined by the following options
typesource=entrytype
typetarget=entrytype
fieldsource=entryeld
fieldtarget=entryeld
match=regexp
notmatch=regexp
replace=regexp
fieldset=entryeld
fieldvalue=string
append=true, false default false
final=true, false default false
null=true, false default false
origfield=true, false default false
origfieldval=true, false default false
origentrytype=true, false default false
Foi all boolean \step options, the shoit foim option is equivalent to option=true.
Te following iules foi a mapping step apply
lf entrynull is set, piocessing of the \map immediately teiminates and the
cuiient entiy is not cieated. lt is as if it did not exist in the datasouice. Obviously,
you should select the entiies which you want to apply this to using piioi mapping
steps.
Change the typesource entrytype to the typetarget entrytype, if dened. lf
final is true then if the entrytype of the entiy is not typesource, piocessing
of the paient \map immediately teiminates.
Change the fieldsource entryeld to fieldtarget, if dened. lf final is
true then if theie is no fieldsource entryeld in the entiy, piocessing of the
paient \map immediately teiminates.
144
lf match is dened but replace is not, only apply the step if the fieldsource
entryeld matches the match iegulai expiession (logic is ieveised if you use
notmatch instead)
32
. You may use captuie paienthesis as usual and iefei to these
(S1S9) in latei fieldvalue specications. Tis allows you to pull out paits of
some elds and put these paits in othei elds.
Peifoim a iegulai expiession match and ieplace on the value of the fieldsource
entryeld if match and replace aie dened.
lf fieldset is dened, then its value is entryeld which will be set to a value
specied by fuithei options. lf overwrite is false foi this step and the eld to
set alieady exists then the map step is ignoied. lf final is also tiue foi this step,
then piocessing of the paient map stops at this point. lf append is tiue, then the
value to set is appended to the cuiient value of entryeld. Te value to set is
specied by a mandatoiy one and only one of the following options
fieldvalue Te fieldset entryeld is set to the fieldvalue string
null Te fieldset entryeld is ignoied, as if it did not exist in the
datasouice
origentrytype Te fieldset entryeld is set to the most iecently
mentioned typesource entrytype name
origfield Te fieldset entryeld is set to the most iecently men-
tioned fieldsource entryeld name
origfieldval Te fieldset entryeld is set to the most iecently men-
tioned fieldsource value
With BibTeX and RlS datasouices, you may specify the pseudo-eld entrykey foi
fieldsource which is the citation key of the entiy. Natuially, this eld cannot be
changed (used as fieldset, fieldtarget oi changed using replace).
\DeclareStyleSourcemap{specication} Biber only
Tis command sets the souice mappings used by a style. Such mappings aie conceptu-
ally sepaiate fiomusei mappings dened with \DeclareSourcemap and aie applied di-
iectly afei usei maps. Te syntax is identical to \DeclareSourcemap. Tis command
is piovided foi style authois so that any maps dened foi the style do not inteifeie
with usei maps oi the default diivei maps dened with \DeclareDriverSourcemap.
\DeclareDriverSourcemap[datatype=driver]{specication} Biber only
Tis command sets the diivei default souice mappings foi the specied driver.
Such mappings aie conceptually sepaiate fiom usei mappings dened with
\DeclareSourcemap and style mapping dened with \DeclareStyleSourcemap. Tey
consist of mappings which aie pait of the diivei setup. Useis should not noi-
mally need to change these. Diivei default mapping aie applied afei usei map-
pings (\DeclareSourcemap) and style mappings (\DeclareStyleSourcemap). Tese
defaults aie desciibed in Appendix A. Te specication is identical to that foi
\DeclareSourcemap but without the \maps elements the specication is just a list
of \map elements since each \DeclareDriverSourcemap only applies to one datatype
diivei. See the default denitions in Appendix A foi examples.
Heie aie some data souice mapping examples
32
Regulai expiessions aie full Peil .1 iegulai expiessions. Tis means you may need to deal with
special chaiacteis, see examples.
14
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\perdatasource{example1.bib}
\perdatasource{example2.bib}
\step[fieldset=keywords, fieldvalue={keyw1, keyw2}]
\step[fieldsource=entrykey]
\step[fieldset=note, origfieldval]
}
}
}
Tis would add a keywords eld with value keyw1, keyw2 and set the note eld
to the entiy key to all entiies which aie found in eithei the examples1.bib oi
examples2.bib les.
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\step[fieldsource=title]
\step[fieldset=note, origfieldval]
}
}
}
Copy the title eld to the note eld unless the note eld alieady exists.
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\step[typesource=chat, typetarget=customa, final]
\step[fieldset=type, origentrytype]
}
}
}
Any chat entiytypes would become customa entiytypes and would automatically
have a type eld set to chat unless the type eld alieady exists in the entiy (because
overwrite is false by default). Tis mapping applies only to entiies of type @chat
since the ist step has final set and so if the typesource does not match the entiy
entiytype, piocessing of this \map immediately teiminates.
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\perdatasource{examples.bib}
\pertype{article}
\pertype{book}
\step[fieldset=abstract, null]
\step[fieldset=note, fieldvalue={Auto-created this field}]
}
}
}
14
Any entiies of entiytype @article oi @book fiomthe examples.bib datasouice would
have theii abstract elds iemoved and a note eld added with value Auto-cieated
this eld.
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\step[fieldset=abstract, null]
\step[fieldsource=conductor, fieldtarget=namea]
\step[fieldsource=gps, fieldtarget=usera]
}
}
}
Tis iemoves abstract elds fiom any entiy, changes conductor elds to namea
elds and changes gps elds to usera elds.
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\step[fieldsource=pubmedid, fieldtarget=eprint, final]
\step[fieldset=eprinttype, origfield]
\step[fieldset=userd, fieldvalue={Some string of things}]
}
}
}
Applies only to entiies with pubmed elds and maps pubmedid elds to eprint elds,
sets the eprinttype eld to pubmedid and also sets the userd eld to the stiing
Some stiing of things.
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\step[fieldsource=series,
match=\regexp{\A\d*(.+)},
replace=\regexp{\L$1}]
}
}
}
Heie, the contents of the series eld have leading numbeis stiipped and the iemain-
dei of the contents loweicased. Since iegulai expiessions usually contain all soit
of special chaiacteis, it is best to enclose them in the piovided \regexp macio as
shownthis will pass the expiession thiough to Bibei coiiectly.
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\step[fieldsource=maintitle,
match=\regexp{Collected\s+Works.+Freud},
final]
\step[fieldset=keywords, fieldvalue=freud]
14
}
}
}
Heie, if foi an entiy, the maintitle eld matches a paiticulai iegulai expiession,
we set a special keywoid so we can, foi example, make a iefeiences section just foi
ceitain items.
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\step[fieldsource=lista, match=\regexp{regexp}, final]
\step[fieldset=lista, null]
}
}
}
lf an entiy has a lista eld which matches iegulai expiession iegexp, then it is
iemoved.
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map[overwrite=false]{
\step[fieldsource=author]
\step[fieldset=editor, origfieldval, final]
\step[fieldsource=editor, match=\regexp{\A(.+?)\s+and.*}, replace={$1}]
}
}
}
Foi any entiy with an author eld, tiy to set sortname to the same as author. lf this
fails because sortname alieady exists, stop, otheiwise tiuncate sortname to just the
ist name in the name list.
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\step[fieldsource=author,
match={Smith, Bill},
replace={Smith, William}]
\step[fieldsource=author,
match={Jones, Baz},
replace={Jones, Barry}]
}
}
}
Heie, we use multiple match/ieplace foi the same eld to iegulaiise some inconstant
name vaiiants. Beai in mind that \step piocessing within a map element is sequential
and so the changes fiom a pievious \steps aie alieady commiued. Note that we
dont need the \regexp macio to piotect the iegulai expiessions in this example as
they contain no chaiacteis which need special escaping. Please note that due to the
diculty of piotecting iegulai expiessions in L
A
T
E
X, theie should be no liteial spaces
148
in the aigument to \regexp. Please use escape code equivalents if spaces aie needed.
Foi example, this example, if using \regexp, should be
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\step[fieldsource=author,
match=\regexp{Smith,\s+Bill},
replace=\regexp{Smith,\x20William}]
\step[fieldsource=author,
match=\regexp{Jones,\s+Baz},
replace=\regexp{Jones,\x20Barry}]
}
}
}
Heie, we have used the hexadecimal escape sequence \x20 in place of liteial spaces
in the ieplacement stiings.
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map[overwrite]{
\step[fieldsource=author, match={Doe,}, final]
\step[fieldset=shortauthor, origfieldval]
\step[fieldset=sortname, origfieldval]
\step[fieldsource=shortauthor,
match=\regexp{Doe,\s*(?:\.|ohn)(?:[-]*)(?:P\.|Paul)*},
replace={Doe, John Paul}]
\step[fieldsource=sortname,
match=\regexp{Doe,\s*(?:\.|ohn)(?:[-]*)(?:P\.|Paul)*},
replace={Doe, John Paul}]
}
}
}
Only applies to entiies with an author eld matching Doe,. Fiist the author eld
is copied to both the shortauthor and sortname elds, oveiwiiting them if they
alieady exist. Ten, these two new elds aie modied to canonicalise a paiticulai
name, which piesumably has some vaiiants in the data souice.
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map[overwrite]{
\step[fieldsource=verba, final]
\step[fieldset=verbb, fieldvalue=/, append]
\step[fieldset=verbb, origfieldval, append]
\step[fieldsource=verbb, final]
\step[fieldset=verbc, fieldvalue=/, append]
\step[fieldset=verbc, origfieldval, append]
}
}
}
149
Tis example demonstiates the sequential natuie of the step piocessing and the
append option. lf an entiy has a verba eld then ist, a foiwaid slash is appended to
the verbb eld. Ten, the contents of verba aie appended to the verbb eld. A slash
is then appended to the verbc eld and the contents of verbb aie appended to the
verbc eld.
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map[overwrite]{
\step[fieldset=autourl, fieldvalue={http://scholar.google.com/scholar?q="}]
\step[fieldsource=title]
\step[fieldset=autourl, origfieldval, append]
\step[fieldset=autourl, fieldvalue={"+author:}, append]
\step[fieldsource=author, match=\regexp{\A([^,]+)\s*,}]
\step[fieldset=autourl, fieldvalue={$1}, append]
\step[fieldset=autourl, fieldvalue={&as_ylo=}, append]
\step[fieldsource=year]
\step[fieldset=autourl, origfieldval, append]
\step[fieldset=autourl, fieldvalue={&as_yhi=}, append]
\step[fieldset=autourl, origfieldval, append]
}
}
}
Tis example assumes you have cieated a eld called autourl using the datamodel
macios fiom 4..3 in oidei to hold, foi example, a Google Scholai queiy URL auto-
cieated fiom elements of the entiy. Te example piogiessively extiacts infoimation
fiom the entiy, constiucting the URL as it goes. lt demonstiates that it is possi-
ble to iefei to paienthetical matches fiom the most iecent match in any following
fieldvalue which allows extiacting the lastname fiom the author, assuming a last,
ist foimat. Te iesulting eld could then be used as a hypeilink fiom, foi example,
the title of the woik in the bibliogiaphy.
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\step[fieldsource=title, match={A Title}, final]
\step[entrynull]
}
}
}
Any entiy with a title eld matching A Title will be completely ignoied.
4.5.3 Data Model Specification
Te data model which biblatex uses consists of foui main elements
Specication of valid Entiytypes
Specication of valid Fields along with theii type, datatype and any special
ags
Specication of which Fields aie valid in which Entiytypes
10
Specication of constiaints which can be used to validate data against the data
model
Te default data model is dened in the coie biblatex le blx-dm.def using the
macios desciibed in this section. Te default data model is desciibed in detail in 2.
Te data model is used inteinally by biblatex and also by the backends. Te data
model foi the BibTeX backend is haid-coded and cannot be changed. Changing the
data model is only suppoited foi the Bibei backend. ln piactice, changing the data
model means that you can dene the entiytypes and elds foi youi datasouices and
validate youi data against the data model. Natuially, this is not much use unless
youi style suppoits any new entiytypes oi elds and it iaises issues of poitability
between styles (although this can be mitigated by using the dynamic data modication
functionality desciibed in 4..2).
Validation against the data model means that afei mapping youi data souices
into the data model, Bibei (using its --validate_datamodel option) can check
Whethei all entiytypes aie valid entiytypes
Whethei all elds aie valid elds foi theii entiytype
Whethei the elds obey vaiious constiaints on theii foimat which you specify
Redening the data model can be done in seveial places. Style authois can cieate a
.dbx le which contains the data model macios iequiied and this will be loaded
automatically when using the biblatex package style option by looking foi a le
named afei the style with a .dbx extension (just like the .cbx and .bbx les foi
a style). lf the style option is not used but iathei the citestyle and bibstyle
options, then the package will tiy to load .dbx les called citestyle.dbx and
bibstyle.dbx. Alteinatively, the name of the data model le can be dieient fiom
any of the style option names by specifying the name (without .dbx extension) to
the package datamodel option. Afei loading the style data model le, biblatex then
loads, if piesent, a useis biblatex-dm.cfg which should be put somewheie biblatex
can nd it, just like the main conguiation le biblatex.cfg. To summaiise, the
data model is deteimined by adding to the data model fiom each of these locations,
in oidei
blx-dm.def
datamodel option.dbx
style option.dbx
citestyle option.dbx and bibstyle option.dbx
biblatex-dm.cfg
Te data model is dened using the following macios
\DeclareDatamodelEntrytypes[options]{entrytypes} Biber only
Declaies the comma-sepaiated list of entrytypes to be valid entiytypes in the data
model. Tis command may only be used in a data model conguiation le.
skipout=true, false default false
Tis entiytype is not output to the .bbl. Typically used foi special entiytypes which
aie piocessed and consumed by the backend such as @xdata.
11
\DeclareDatamodelFields[options]{elds} Biber only
Declaies the comma-sepaiated list of elds to be valid elds in the data model with
associated comma-sepaiated options. Tis command may only be used in a data
model conguiation le. Valid options aie
type=eld type
Set the type of the eld as desciibed in 2.2.1. ls typically eld oi list.
format=eld format
Any special foimat of the eld. Noimally unspecied but can take the value csv.
Used inteinally by Bibei foi vaiious things.
datatype=eld datatype
Set the datatype of the eld as desciibed in 2.2.1. Foi example, name oi liteial.
nullok=true, false default false
Te eld is allowed to be dened but empty.
skipout=true, false default false
Te eld is not output to the .bbl and is theiefoie not piesent duiing biblatex style
piocessing.
\DeclareDatamodelEntryfields[entrytypes]{elds} Biber only
Declaies that the comma-sepaiated list of elds is valid foi the comma-sepaiated
list of entrytypes. lf entrytypes is not given, the elds aie valid foi all entiytypes.
Tis command may only be used in a data model conguiation le.
\DeclareDatamodelConstraints[entrytypes]{specication} Biber only
lf a comma-sepaiated list of entrytypes is given, the constiaints apply only to those
entiytypes. Te specication is an undelimited list of \constraint diiectives which
specify a constiaint. Spaces, tabs, and line endings may be used fieely to visually
aiiange the specication. Blank lines aie not peimissible. Tis command may only
be used in a data model conguiation le.
\constraint[type=constraintype]{elements}
Species a constiaint of type constraintype. Valid constiaint types aie
type=data, mandatory, conditional
Constiaints of type data put iestiictions on the value of a eld. Constiaints of type
mandatoiy specify which elds oi combinations of elds an entiytype should have.
Constiaints of type conditional allow moie sophisticated conditional and quantied
eld constiaints.
datatype=integer, isbn, issn, ismn, date, pattern
Foi constiaints of type data, constiain eld values to be the given datatype.
rangemin=num
Foi constiaints of type data and datatype integei, constiain eld values to be
at least num.
rangemax=num
Foi constiaints of type data and datatype integei, constiain eld values to be
at most num.
12
pattern=pat
Foi constiaints of type data and datatype pauein, constiain eld values to
match iegulai expiession pauein pat. lt is best to wiap any iegulai expiession in
the macio \regexp, see 4..2.
A \constraint macio may contain any of the following
\constraintfieldsor{elds}
Foi constiaints of type mandatoiy, species that an entiy must contain a boolean
OR of the \constraintfields.
\constraintfieldsxor{elds}
Foi constiaints of type mandatoiy, species that an entiy must contain a boolean
XOR of the \constraintfields.
\antecedent[quantier=quantspec]{elds}
Foi constiaints of type conditional, species a quantied set of \constraintfields
which must be satised befoie the \consequent of the constiaint is checked.
quantspec should have one of the following values
quantifier=all, one, none
Species how many of the \constrainfields inside the \antecedent have to be
piesent to satisfy the antecedent of the conditional constiaint.
\consequent[quantier=quantspec]{elds}
Foi constiaints of type conditional, species a quantied set of \constraintfields
which must be satised if the pieceding \antecedent of the constiaint was satised.
quantspec should have one of the following values
quantifier=all, one, none
Species how many of the \constraintfields inside the \consequent have to be
piesent to satisfy the consequent of the conditional constiaint.
\constraintfield{eld}
Foi constiaints of type data, the constiaint applies to this eld. Foi constiaints
of type mandatoiy, the entiy must contain this eld.
Te data model declaiation macios may be used multiple times as they append to the
pievious denitions. ln oidei to ieplace, change oi iemove existing denitions (such
as the default model which is loaded with biblatex), you should ieset (cleai) the
cuiient denition and then set what you want using the following macios. Typically,
these macios will be the ist things in any biblatex-dm.cfg le
\ResetDatamodelEntrytypes
Cleai all data model entiytype infoimation.
\ResetDatamodelFields
Cleai all data model eld infoimation.
13
\ResetDatamodelEntryfields
Cleai all data model elds foi entiytypes infoimation.
\ResetDatamodelConstraints
Cleai all data model elds Constiaints infoimation.
Heie is an example of a simple data model. Refei to the coie biblatex le
blx-dm.def foi the default data model specication.
\ResetDatamodelEntrytypes
\ResetDatamodelFields
\ResetDatamodelEntryfields
\ResetDatamodelConstraints
\DeclareDatamodelEntrytypes{entrytype1, entrytype2}
\DeclareDatamodelFields[type=field, datatype=literal]{field1,field2,field3,field4}
\DeclareDatamodelEntryfields{field1}
\DeclareDatamodelEntryfields[entrytype1]{field2,field3}
\DeclareDatamodelEntryfields[entrytype2]{field2,field3,field4}
\DeclareDatamodelConstraints[entrytype1]{
\constraint[type=data, datatype=integer, rangemin=3, rangemax=10]{
\constraintfield{field1}
}
\constraint[type=mandatory]{
\constraintfield{field1}
\constraintfieldsxor{
\constraintfield{field2}
\constraintfield{field3}
}
}
}
\DeclareDatamodelConstraints{
\constraint[type=conditional]{
\antecedent[quantifier=none]{
\constraintfield{field2}
}
\consequent[quantifier=all]{
\constraintfield{field3}
\constraintfield{field4}
}
}
}
Tis model species
Cleai the default data model completely
Two valid entiy types @entrytype1 and @entrytype2
14
Foui valid liteial eld elds
field1 is valid foi all entiytypes
field2 and field3 aie valid foi entrytype1
field2, field3 and field4 aie valid foi @entrytype2
Foi @entrytype1
field1 must be an integei between 3 and 10
field1 must be piesent
One and only one of field2 oi field3 must be piesent
Foi any entiytype, if field2 is not piesent, field3 and field4 must be piesent
4.5.4 Labels
Alphabetic styles use a label to identify bibliogiaphy entiies. Tis label is constiucted
fiomcomponents of the entiy using a template which desciibes howto build the label.
Te template can be customised on a global oi pei-type basis. Label customisation
iequiies Bibei and will not woik with any othei backend.
\DeclareLabelalphaTemplate[entrytype, ]{specication} Biber only
Denes the alphabetic label template foi the given entiytypes. lf no entiytypes
aie specied in the ist aigument, then the global label template is dened. Te
specication is an undelimited list of \labelelement diiectives which specify the
elements used to build the label. Spaces, tabs, and line endings may be used fieely to
visually aiiange the specication. Blank lines aie not peimissible. Tis command
may only be used in the pieamble.
\labelelement{elements}
Species the elements used to build the label. Te elements aie an undelimited list
of \field oi \literal commands which aie evaluated in the oidei in which they aie
given. Te ist \field oi \literal which expands to a non-empty stiing is used as
the \labelelement expansion and the next \labelelement, if any, is then piocessed.
\field[options]{eld}
lf eld is non-empty, use it as the cuiient label \labelelement, subject to the
options below. Useful values foi eld aie typically the name list type elds, date
elds, and title elds. You may also use the citekey pseudo-eld to specify the
citation key as pait of the label. Name list elds aie tieated specially and the options
which take substiings of the eld to use in the \labelelement aie applied to the
lastname of eveiy name in a name list (see below).
final=true, false default false
Tis option maiks a \field diiective as the nal one in the specication. lf the
eld is non-empty, then this eld is used foi the label and the iemaindei of the
specication will be ignoied. Te shoit foim final is equivalent to final=true.
lowercase=true, false default false
Foices the label pait deiived fiom the eld to loweicase. By default, the case is taken
fiom the eld souice and not modied.
1
strwidth=integer default 1
Te numbei of chaiacteis of the eld to use. Foi name list elds, if useprefix=true,
the ist chaiactei of the name piex is piepended to the substiing.
strside=left, right default left
Te side of the stiing fiom which to take the strwidth numbei of chaiacteis.
padside=left, right default right
Side to pad the label pait when using the padchar option. Only foi use with xed-
width label stiings (strwidth).
padchar=character
lf piesent, pads the label pait on the padside side with the specied chaiactei to the
length of strwidth. Only foi use with xed-width label stiings (strwidth).
uppercase=true, false default false
Foices the label pait deiived fiom the eld to uppeicase. By default, the case is taken
fiom the eld souice and not modied.
varwidth=true, false default false
Use a vaiiable width, lef-side substiing of chaiacteis fiom the eld (each lastname
in name list elds). Te length of the stiing is deteimined by the minimum length
needed to disambiguate the substiing fiom all othei eld elements in the same
position in the label. Foi name list elds, this means that each name substiing is
disambiguated fiom all othei name substiings which occui in the same position in
the name list (see examples below). Tis option oveiiides strwidth if both aie used.
Te shoit foim varwidth is equivalent to varwidth=true. Foi name list elds, if
useprefix=true, the ist chaiactei of the name piex is piepended to the substiing.
varwidthnorm=true, false default false
As varwidth but will foice the disambiguated substiings foi the eld to be the
same length as the longest disambiguated substiing. Tis can be used to iegulaiise
the foimat of the labels if desiied. Tis option oveiiides strwidth if both aie used.
Te shoit foim varwidthnorm is equivalent to varwidthnorm=true.
varwidthlist=true, false default false
Alteinative method of automatic label disambiguation wheie the eld as a whole
is disambiguated fiom all othei elds in the same label position. Foi non-name
list elds, this is equivalent to varwidth. Foi name list elds, names in a name
list aie not disambiguated fiom othei names in the same position in theii name
lists but instead the entiie name list is disambiguated as a whole fiom othei name
lists (see examples below). Tis option oveiiides strwidth if both aie used. Te
shoit foim varwidthlist is equivalent to varwidthlist=true. Foi name list elds, if
useprefix=true, the ist chaiactei of the name piex is piepended to the substiing.
strwidthmax=integer
When using varwidth, this option sets a limit (in numbei of chaiacteis) on the length
of vaiiable width substiings. Tis option can be used to iegulaiise the label.
strfixedcount=integer default 1
When using varwidthnorm, theie must be at least strfixedcount disambiguated
substiings with the same, maximal length to tiiggei the foicing of all disambiguated
substiings to this same maximal length.
1
compound=true, false default false
Foi static (non-vaiwidth) disambiguation, tieat lastname name components sepa-
iated by whitespace oi hyphens (compound last names) as sepaiate names foi label
geneiation. Tis means that when foiming a label out of, foi example the suiname
BallamFoisyth with a 1 chaiactei, lef-side substiing, this name would give BF with
compound=true and B with compound=false. Te shoit foim compound is equivalent
to compound=true.
ifnames=integer
Only use this \field specication if it is a name list eld with ifnames names in it.
Tis allows a \labelelement to be conditionalised on name length (see below).
names=integer
By default, foi name list elds, the numbei of names consideied when building the
label obeys the maxalphanames/minalphanames tiuncation. Tis option can be used
to oveiiide this with an explicit uppei limit of how many names to considei. Tis is
useful if you have some veiy long name lists which might iesult in a veiy long label.
form=original, translated, romanised, uniform default original
Species the sciipt vaiiant of a eld, if the datasouice you aie using suppoits this.
lang=language specifier default none
Species the babel/polyglossia language vaiiant of a eld if the datasouice you aie
using suppoits this. Te default, if no lang option is set, this means to use the eld
vaiiant in the datasouice which has no explicit language dened.
\literal{characters}
lnseit the liteial characters into the label at this point.
Note that the template foi labels can be dened pei-type and you should be awaie of
this when using the automatically disambiguated label functionality. Disambiguation
is not pei-type as this might lead to ambiguity due to dieient label foimats foi
dieient types being isolated fiom each otheis disambiguation piocess. Noimally,
you will want to use veiy dieient label foimats foi dieient types to make the type
obvious by the label.
Heie aie some examples. Te default global biblatex alphabetic label template
is dened below. Fiistly, shorthand has final=true and so if theie is a shorthand
eld, it is used as the label and nothing moie of the template is consideied. Next, the
label eld is used as the ist label element if it exists. Otheiwise, if theie is only
one name (ifnames=1) in the labelname list, then thiee chaiacteis fiom the lef side
of the lastname in the labelname aie used as the ist label element. lf the labelname
has moie than one name in it, one chaiactei fiom the lef side of each lastname is
used as the ist label element. Te second label element consists of 2 chaiacteis
fiom the iight side of the year eld.
\DeclareLabelalphaTemplate{
\labelelement{
\field[final]{shorthand}
\field{label}
\field[strwidth=3,strside=left,ifnames=1]{labelname}
\field[strwidth=1,strside=left]{labelname}
}
1
\labelelement{
\field[strwidth=2,strside=right]{year}
}
}
To get an idea of how the label automatic disambiguation woiks, considei the fol-
lowing authoi lists
Agassi, Chang, Laver (2000)
Agassi, Connors, Lendl (2001)
Agassi, Courier, Laver (2002)
Borg, Connors, Edberg (2003)
Borg, Connors, Emerson (2004)
Assuming a template declaiation such as
\DeclareLabelalphaTemplate{
\labelelement{
\field[varwidth]{labelname}
}
}
Ten the labels would be
Agassi, Chang, Laver [AChLa]
Agassi, Connors, Lendl [AConLe]
Agassi, Courier, Laver [ACouLa]
Borg, Connors, Edberg [BConEd]
Borg, Connors, Emerson [BConEm]
With noimalised vaiiable width labels dened
\DeclareLabelalphaTemplate{
\labelelement{
\field[varwidthnorm]{labelname}
}
}
You would get the following as the substiings of names in each position aie extended
to the length of the longest substiing in that same position
Agassi, Chang, Laver [AChaLa]
Agassi, Connors, Lendl [AConLe]
Agassi, Courier, Laver [ACouLa]
Borg, Connors, Edberg [BConEd]
Borg, Connors, Emerson [BConEm]
With a iestiiction to two chaiacteis foi the name components of the label element
dened like this
\DeclareLabelalphaTemplate{
\labelelement{
\field[varwidthnorm,strwidthmax=2]{labelname}
}
}
18
Tis would be the iesult (note that the individual lastname label paits aie no longei
unambiguous)
Agassi, Chang, Laver [AChLa]
Agassi, Connors, Lendl [ACoLe]
Agassi, Courier, Laver [ACoLa]
Borg, Connors, Edberg [BCoEd]
Borg, Connors, Emerson [BCoEm]
Alteinatively, you could choose to disambiguate the name lists as a whole with
\DeclareLabelalphaTemplate{
\labelelement{
\field[varwidthlist]{labelname}
}
}
Which would iesult in
Agassi, Chang, Laver [AChL]
Agassi, Connors, Lendl [ACoL]
Agassi, Courier, Laver [ACL]
Borg, Connors, Edberg [BCEd]
Borg, Connors, Emerson [BCE]
Peihaps you only want to considei at most two names foi label geneiation but
disambiguate at the whole name list level
\DeclareLabelalphaTemplate{
\labelelement{
\field[varwidthlist,names=2]{labelname}
}
}
Which would iesult in
Agassi, Chang, Laver [ACh+]
Agassi, Connors, Lendl [ACo+]
Agassi, Courier, Laver [AC+]
Borg, Connors, Edberg [BC+a]
Borg, Connors, Emerson [BC+b]
ln this last example, you can see \labelalphaothers has been appended to show
that theie aie moie names. Te last two labels now iequiie disambiguating with
\extraalpha as theie is no way of disambiguating this label name list with only two
names.
Finally, heie is an example using multiple label elements
\DeclareLabelalphaTemplate{
\labelelement{
\field[varwidthlist]{labelname}
}
\labelelement{
19
\literal{-}
}
\labelelement{
\field[strwidth=3,strside=right]{labelyear}
}
}
Which would iesult in
Agassi, Chang, Laver [AChL-000]
Agassi, Connors, Lendl [AConL-001]
Agassi, Courier, Laver [ACouL-002]
Borg, Connors, Edberg [BCEd-003]
Borg, Connors, Emerson [BCEm-004]
Heie is anothei iathei contiived example showing that you dont need to specially
quote LaTeX special chaiacteis (apait fiom , obviously) when specifying padding
chaiacteis and liteials
\DeclareLabelalphaTemplate{
\labelelement{
\literal{>}
}
\labelelement{
\literal{\%}
}
\labelelement{
\field[strwidth=4, padchar=_]{labelname}
}
\labelelement{
\field[strwidth=3, padchar=&, padside=left]{title}
}
\labelelement{
\field[strwidth=2,strside=right]{year}
}
}
which given
@Book{test,
author = {XXX YY},
title = {T},
year = {2007},
}
would iesulting a label looking like this
[>%YY__&&T07]
4.5.5 Sorting
ln addition to the piedened soiting schemes discussed in 3., it is possible to
dene new ones oi modify the default denitions. Te soiting piocess may be
customized fuithei by excluding ceitain elds fiom soiting on a pei-type basis and
by automatically populating the presort eld on a pei-type basis. Note that custom
soiting schemes iequiie Bibei. Tey will not woik with any othei backend.
10
\DeclareSortingScheme{name}{specication} Biber only
Denes the soiting scheme name. Te name is the identiei passed to the
sorting option ( 3.1.2.1) when selecting the soiting scheme. Te specication is
an undelimited list of \sort diiectives which specify the elements to be consideied
in the soiting piocess. Spaces, tabs, and line endings may be used fieely to visually
aiiange the specication. Blank lines aie not peimissible. Tis command may only
be used in the pieamble.
\sort{elements}
Species the elements consideied in the soiting piocess. Te elements aie an
undelimited list of \field, \literal, and \citeorder commands which aie evaluated
in the oidei in which they aie given. lf an element is dened, it is added to the soit
key and the soiting ioutine skips to the next \sort diiective. lf it is undened, the
next element is evaluated. Since liteial stiings aie always dened, any \literal
commands should be the sole oi the last element in a \sort diiective. Te \sort
command suppoits the following optional aiguments
direction=ascending, descending default ascending
Te soit diiection, which may be eithei ascending oi descending. Te default is
ascending oidei.
final=true, false default false
Tis option maiks a \sort diiective as the nal one in the specication. lf one of
the elements is available, the iemaindei of the specication will be ignoied. Te
shoit foim final is equivalent to final=true.
sortcase=true, false
Whethei oi not to soit case-sensitively. Te default seuing depends on the global
sortcase option.
sortupper=true, false
Whethei oi not to soit in uppeicase befoie loweicase (true) oi loweicase befoie
uppeicase oidei (false). Te default seuing depends on the global sortupper option.
\field[key=value, ]{eld}
Te \field element adds a eld to the soiting specication. lf the eld is unde-
ned, the element is skipped. Te \field command suppoits the following optional
aiguments
padside=left, right default left
Pads a eld on the left oi right side using padchar so that its width is padwidth. lf
no padding option is set, no padding is done at all. lf any padding option is specied,
then padding is peifoimed and the missing options aie assigned built-in default
values. lf padding and substiing matching aie both specied, the substiing match is
peifoimed ist. Padding is paiticulaily useful with numeiic elds. Foi example, the
command
\field[padside=left,padwidth=2,padchar=0]{volume}
will pad the volume eld with leading zeios to a width of two chaiacteis. Tis way,
volumes aie soited by numeiic value (01/02/11/12) iathei than in alphabetic oidei
(1/11/12/2).
11
padwidth=integer default 4
Te taiget width in chaiacteis.
padchar=character default 0
Te chaiactei to be used when padding the eld.
strside=left, right default left
Peifoims a substiing match on the left oi right side of the eld. Te numbei
of chaiacteis to match is specied by the coiiesponding strwidth option. lf no
substiing option is set, no substiing matching is peifoimed at all. lf any substiing
option is specied, then substiing matching is peifoimed and the missing options
aie assigned built-in default values. lf padding and substiing matching aie both
specied, the substiing match is peifoimed ist.
strwidth=integer default 4
Te numbei of chaiacteis to match.
\literal{string}
Te \literal element adds a liteial string to the soiting specication. Tis is useful
as a fallback if some elds aie not available.
\citeorder Te \citeorder element has a special meaning. lt iequests a soit based on the lexical
oidei of the actual citations. Foi entiies cited within the same citation command
like
\cite{one,two}
theie is a distinction between the lexical oidei and the semantic oidei. Heie one
and two have the same semantic oidei but a unique lexical oidei. Te semantic
oidei only maueis if you specify fuithei soiting to disambiguate entiies with the
same semantic oidei. Foi example, this is the denition of the none soiting scheme
\DeclareSortingScheme{none}{
\sort{\citeorder}
}
Tis soits the bibliogiaphy puiely lexically by the oidei of the keys in the citation
commands. ln the example above, it soits one befoie two. Howevei, suppose that
you considei one and two to have the same oidei (semantic oidei) since they aie
cited at the same time and want to fuithei soit these by yeai. Suppose two has an
eailiei year than one
\DeclareSortingScheme{noneyear}{
\sort{\citeorder}
\sort{year}
}
Tis soits two befoie one, even though lexically, one would soit befoie two.
Tis is possible because the semantic oidei can be disambiguated by the fuithei
soiting on yeai. With the standaid none soiting scheme, the lexical oidei and
semantic oidei aie identical because theie is nothing fuithei to disambiguate them.
Tis means that you can use \citeorder just like any othei soiting specication
element, choosing how to fuithei soit entiies cited at the same time (in the same
citation command).
12
Heie aie some examples of soiting schemes. ln the ist example, we dene a
simple name/title/yeai scheme. Te name element may be eithei the author, the
editor, oi the translator. Given this specication, the soiting ioutine will use
the ist element which is available and continue with the title. Note that the
options useauthor, useeditor, and usetranslator aie consideied automatically in
the soiting piocess
\DeclareSortingScheme{sample}{
\sort{
\field{author}
\field{editor}
\field{translator}
}
\sort{
\field{title}
}
\sort{
\field{year}
}
}
ln the next example, we dene the same scheme in a moie elaboiate way, consideiing
special elds such as presort, sortkey, sortname, etc. Since the sortkey eld speci-
es the mastei soit key, it needs to oveiiide all othei elements except foi presort.
Tis is indicated by the final option. lf the sortkey eld is available, piocessing will
stop at this point. lf not, the soiting ioutine continues with the next \sort diiective.
Tis setup coiiesponds to the default denition of the nty scheme
\DeclareSortingScheme{nty}{
\sort{
\field{presort}
}
\sort[final]{
\field{sortkey}
}
\sort{
\field{sortname}
\field{author}
\field{editor}
\field{translator}
\field{sorttitle}
\field{title}
}
\sort{
\field{sorttitle}
\field{title}
}
\sort{
\field{sortyear}
\field{year}
}
}
13
\DeclareSortExclusion{entrytype, }{eld, } Biber only
Species elds to be excluded fiom soiting on a pei-type basis. Te entrytype
aigument and the eld aigument may be a comma-sepaiated list of values. A blank
eld aigument will cleai all exclusions foi this entrytype. Tis command may
only be used in the pieamble.
\DeclarePresort[entrytype, ]{string} Biber only
Species a stiing to be used to automatically populate the presort eld of entiies
without a presort eld. Te presort may be dened globally oi on a pei-type basis.
lf the optional entrytype aigument is given, the string applies to the iespective
entiy type. lf not, it seives as the global default value. Specifying an entrytype in
conjunction with a blank string will cleai the type-specic seuing. Te entrytype
aigument may be a comma-sepaiated list of values. Tis command may only be used
in the pieamble.
4.5.6 Controlling Name Initials Generation
Geneiating initials foi name paits fiom a given name involves some diculties when
you have names with piexes, diaciitics, hyphens etc. Ofen, you want to ignoie
things like piexes when geneiating initials so that the initials foi al-Hasan is just
H instead of a-H. Tis is tiicky when you also have names like Ho-Pun wheie
you want the initials to be H-P, foi example.
\DeclareNoinit{specication} Biber only
Denes iegulai expiessions to stiip fiom names befoie geneiating initials. Te
specication is an undelimited list of \noinit diiectives which specify the iegulai
expiessions to iemove fiom the name. Spaces, tabs and line endings may be used
fieely to visually aiiange the specication. Blank lines aie not peimissible. Tis
command may only be used in the pieamble.
\noinit{regexp}
Any numbei of \noinit commands can be given each of which species to iemove
the regexp fiom the copy of the name which the initials geneiation system sees.
Since iegulai expiessions usually contain special chaiacteis, it is best to enclose them
in the piovided \regexp macio as shownthis will pass the expiession thiough to
Bibei coiiectly.
lf theie is no \DeclareNoinit specication, Bibei will default to
\DeclareNoinit{
% strip lowercase prefixes like 'al-' when generating initials from names
\noinit{\regexp{\b\p{Ll}{2}\p{Pd}}}
% strip diacritics when generating initials from names
\noinit{\regexp{[\x{2bf}\x{2018}]}}
}
Tis Bibei default stiips diaciitics and loweicase piexes fiom names befoie genei-
ating initials.
14
4.5.7 Fine Tuning Sorting
lt can be useful to ne tune soiting so that it ignoies ceitain paits of paiticulai elds.
\DeclareNosort{specication} Biber only
Denes iegulai expiessions to stiip fiom paiticulai elds oi types of elds when
soiting. Te specication is an undelimited list of \nosort diiectives which specify
the iegulai expiessions to iemove fiom paiticulai elds oi type of eld. Spaces, tabs
and line endings may be used fieely to visually aiiange the specication. Blank
lines aie not peimissible. Tis command may only be used in the pieamble.
\nosort{eld or eld type}{regexp}
Any numbei of \nosort commands can be given each of which species to iemove
the regexp fiom the eld oi eld type. A eld type is simple a convenience
giouping of semantically similai elds fiom which you might want to iemove a
iegexp. Table 9 shows the available eld types. Since iegulai expiessions usually
contain special chaiacteis, it is best to enclose them in the piovided \regexp macio
as shownthis will pass the expiession thiough to Bibei coiiectly.
lf theie is no \DeclareNosort specication, Bibei will default to
\DeclareNosort{
% strip prefixes like 'al-' when sorting names
\nosort{type_names}{\regexp{\A\p{L}{2}\p{Pd}}}
% strip diacritics when sorting names
\nosort{type_names}{\regexp{[\x{2bf}\x{2018}]}}
}
Tis Bibei default stiips diaciitics and piexes fiom names when soiting. Suppose
you wanted to ignoie Te at the beginning of a title eld when soiting
\DeclareNosort{
\nosort{title}{\regexp{\AThe\s+}}
}
Oi if you wanted to ignoie Te at the beginning of any title eld
\DeclareNosort{
\nosort{type_title}{\regexp{\AThe\s+}}
}
4.5.8 Special Fields
Some of the automatically geneiated elds fiom 4.2.4.2 may be customized. Note
that this iequiies Bibei.
\DeclareLabelname[entrytype, ]{specication} Biber only
Denes the elds to considei when geneiating the labelname eld (see 4.2.4.2).
Te specication is an oideied list of \field commands. Te elds aie checked in
the oidei listed and the ist eld which is available will be used as labelname. Tis
is the default denition
1
Field Type Fields
type_name author
afterword
annotator
bookauthor
commentator
editor
editora
editorb
editorc
foreword
holder
introduction
namea
nameb
namec
shortauthor
shorteditor
translator
type_title booktitle
eventtitle
issuetitle
journaltitle
maintitle
origtitle
title
Table 9: Field types for \nosort
\DeclareLabelname{%
\field{shortauthor}
\field{author}
\field{shorteditor}
\field{editor}
\field{translator}
}
Te labelname eld may be customized globally oi on a pei-type basis. lf the optional
entrytype aigument is given, the specication applies to the iespective entiy type.
lf not, it is applied globally. Te entrytype aigument may be a comma-sepaiated
list of values. Tis command may only be used in the pieamble.
\DeclareLabeldate[entrytype, ]{specication} Biber only
Denes the date components to considei when geneiating labelyear, labelmonth
and labelday elds (see 4.2.4.2). Te specication is an oideied list of \field oi
\literal commands. Te items aie checked in the oidei listed and the ist item
which is available will be used to popluate the labelyear, labelmonth and labelday
elds. Note that the \field items do not have to be datetype date in the data model
so that you can cieate pseudo-yeai labels by, foi example, using a pubstate eld
contents, if available, as the yeai label by dening \DeclareLabeldate suitably. Note
also that a \literal command will always be used when found and so this should
always be the last thing in the list. lf the value of a \literal command is a valid
localization stiing, then this will be iesolved in the cuiient language, otheiwise the
value is used as a liteial stiing as-is. Tis is the default denition
\DeclareLabeldate{%
1
\field{date}
\field{eventdate}
\field{origdate}
\field{urldate}
\literal{nodate}
}
Note that the date eld is split by the backend into year, month which aie also valid
elds in the default data model. ln oidei to suppoit legacy data which diiectly sets
year and/oi month, the specication date in \DeclareLabeldate will also match
year and month elds, if piesent. Te labelyear, labelmonth and labelday elds may
be customized globally oi on a pei-type basis. lf the optional entrytype aigument
is given, the specication applies to the iespective entiy type. lf not, it is applied
globally. Te entrytype aigument may be a comma-sepaiated list of values. Tis
command may only be used in the pieamble. See also 4.2.4.3.
\DeclareLabeltitle[entrytype, ]{specication} Biber only
Denes the elds to considei when geneiating the labeltitle eld (see 4.2.4.2).
Te specication is an oideied list of \field commands. Te elds aie checked in
the oidei listed and the ist eld which is available will be used as labeltitle. Tis
is the default denition
\DeclareLabeltitle{%
\field{shorttitle}
\field{title}
}
Te labeltitle eld may be customized globally oi on a pei-type basis. lf the
optional entrytype aigument is given, the specication applies to the iespective
entiy type. lf not, it is applied globally. Te entrytype aigument may be a comma-
sepaiated list of values. Tis command may only be used in the pieamble.
4.5.9 Data Inheritance (crossref)
Bibei featuies a highly customizable cioss-iefeiencing mechanism with exible data
inheiitance iules. Tis sections deals with the conguiation inteiface. See appendix B
foi the default conguiation. Note that customized data inheiitance iequiies Bibei.
lt will not woik with any othei backend. A note on teiminology the child oi target
is the entiy with the crossref eld, the parent oi source is the entiy the crossref
eld points to. Te child inheiits data fiom the paient.
\DefaultInheritance[exceptions]{options} Biber only
Conguies the default inheiitance behavioi. Tis command may only be used in
the pieamble. Te default behavioi may be customized be seuing the following
options
all=true, false default true
Whethei oi not to inheiit all elds fiom the paient by default. all=true means that
the child entiy inheiits all elds fiom the paient, unless a moie specic inheiitance
iule has been set up with \DeclareDataInheritance. lf an inheiitance iule is dened
foi a eld, data inheiitance is contiolled by that iule. all=false means that no data
1
is inheiited fiom the paient by default. Each eld to be inheiited iequiies an explicit
inheiitance iule set up with \DeclareDataInheritance. Te package default is all=
true.
override=true, false default false
Whethei oi not to oveiwiite taiget elds with souice elds if both aie dened. Tis
applies both to automatic inheiitance and to explicit inheiitance iules. Te package
default is override=false, i. e., existing elds of the child entiy aie not oveiwiiuen.
Te optional exceptions aie an undelimited list of \except diiectives. Spaces, tabs,
and line endings may be used fieely to visually aiiange the exceptions. Blank lines
aie not peimissible.
\except{source}{target}{options}
Sets the options foi a specic source and target combination. Te source and
target aiguments specify the paient and the child entiy type. Te asteiisk matches
all types and is peimissible in eithei aigument.
\DeclareDataInheritance{source, }{target, }{rules} Biber only
Declaies inheiitance iules. Te source and target aiguments specify the paient
and the child entiy type. Eithei aigument may be a single entiy type, a comma-
sepaiated list of types, oi an asteiisk. Te asteiisk matches all entiy types. Te
rules aie an undelimited list of \inherit and/oi \noinherit diiectives. Spaces,
tabs, and line endings may be used fieely to visually aiiange the rules. Blank lines
aie not peimissible. Tis command may only be used in the pieamble.
\inherit[option]{source}{target}
Denes an inheiitance iule by mapping a source eld to a target eld. Te option
is the override option explained above. When set locally, it takes piecedence ovei
any global options set with \DefaultInheritance.
\noinherit{source}
Unconditionally pievents inheiitance of the source eld.
\ResetDataInheritance Cleais all inheiitance iules dened with \DeclareDataInheritance. Tis com- Biber only
mand may only be used in the pieamble.
Heie aie some piactical examples
\DefaultInheritance{all=true,override=false}
Tis example shows how to conguie the default inheiitance behavioi. Te above
seuings aie the package defaults.
\DefaultInheritance[
\except{*}{online}{all=false}
]{all=true,override=false}
Tis example is similai to the one above but adds one exception entiies of type
@online will, by default, not inheiit any data fiom any paient.
18
\DeclareDataInheritance{collection}{incollection}{
\inherit{title}{booktitle}
\inherit{subtitle}{booksubtitle}
\inherit{titleaddon}{booktitleaddon}
}
So fai we have looked at seuing up the defaults. Foi example, all=true means that
the publisher eld of a souice entiy is copied to the publisher eld of the taiget
entiy. ln some cases, howevei, asymmetiic mappings aie iequiied. Tey aie dened
with \DeclareDataInheritance. Te above example sets up thiee typical iules foi
@incollection entiies iefeiencing a @collection. We map the title and ielated
elds of the souice to the coiiesponding booktitle elds of the taiget.
\DeclareDataInheritance{mvbook,book}{inbook,bookinbook}{
\inherit{author}{author}
\inherit{author}{bookauthor}
}
Tis iule is an example of one-to-many mapping it maps the author eld of the
souice to both the author and the bookauthor elds of the taiget in oidei to allow
foi compact inbook/bookinbook entiies. Te souice may be eithei a @mvbook oi a
@book entiy, the taiget eithei an @inbook oi a @bookinbook entiy.
\DeclareDataInheritance{*}{inbook,incollection}{
\noinherit{introduction}
}
Tis iule pievents inheiitance of the introduction eld. lt applies to all taigets of
type @inbook oi @incollection, iegaidless of the souice entiy type.
\DeclareDataInheritance{*}{*}{
\noinherit{abstract}
}
Tis iule, which applies to all entiies, iegaidless of the souice and taiget entiy types,
pievents inheiitance of the abstract eld.
\DefaultInheritance{all=true,override=false}
\ResetDataInheritance
Tis example demonstiates how to emulate tiaditional BibTeXs cioss-iefeiencing
mechanism. lt enables inheiitance by default, disables oveiwiiting, and cleais all
othei inheiitance iules and mappings.
4.6 Auxiliary Commands
Te facilities in this section aie intended foi analyzing and saving bibliogiaphic data
iathei than foimauing and piinting it.
4.6.1 Data Commands
Te commands in this section giant low-level access to the unfoimaued bibliogiaphic
data. Tey aie not intended foi typeseuing but iathei foi things like saving data to a
tempoiaiy macio so that it may be used in a compaiison latei.
19
\thefield{eld}
Expands to the unfoimaued eld. lf the eld is undened, this command expands
to an empty stiing.
\strfield{eld}
Similai to \thefield, except that the eld is automatically sanitized such that its
value may safely be used in the foimation of a contiol sequence name.
\csfield{eld}
Similai to \thefield, but pievents expansion.
\usefield{command}{eld}
Executes command using the unfoimaued eld as its aigument.
\thelist{literal list}
Expands to the unfoimaued literal list. lf the list is undened, this command
expands to an empty stiing. Note that this command will dump the literal list in
the inteinal foimat used by this package. Tis foimat is not suitable foi piinting.
\thename{name list}
Expands to the unfoimaued name list. lf the list is undened, this command
expands to an empty stiing. Note that this command will dump the name list in
the inteinal foimat used by this package. Tis foimat is not suitable foi piinting.
\savefield{eld}{macro}
\savefield*{eld}{macro}
Copies an unfoimaued eld to a macro. Te iegulai vaiiant of this command
denes the macro globally, the staiied one woiks locally.
\savelist{literal list}{macro}
\savelist*{literal list}{macro}
Copies an unfoimaued literal list to a macro. Te iegulai vaiiant of this command
denes the macro globally, the staiied one woiks locally.
\savename{name list}{macro}
\savename*{name list}{macro}
Copies an unfoimaued name list to a macro. Te iegulai vaiiant of this command
denes the macro globally, the staiied one woiks locally.
\savefieldcs{eld}{csname}
\savefieldcs*{eld}{csname}
Similai to \savefield, but takes the contiol sequence name csname (without a
leading backslash) as an aigument, iathei than a macio name.
\savelistcs{literal list}{csname}
\savelistcs*{literal list}{csname}
Similai to \savelist, but takes the contiol sequence name csname (without a
leading backslash) as an aigument, iathei than a macio name.
10
\savenamecs{name list}{csname}
\savenamecs*{name list}{csname}
Similai to \savename, but takes the contiol sequence name csname (without a
leading backslash) as an aigument, iathei than a macio name.
\restorefield{eld}{macro}
Restoies a eld fioma macro dened with \savefield befoie. Te eld is iestoied
within a local scope.
\restorelist{literal list}{macro}
Restoies a literal list fiom a macro dened with \savelist befoie. Te list is
iestoied within a local scope.
\restorename{name list}{macro}
Restoies a name list fiom a macro dened with \savename befoie. Te list is
iestoied within a local scope.
\clearfield{eld}
Cleais the eld within a local scope. A eld cleaied this way is tieated as undened
by subsequent data commands.
\clearlist{literal list}
Cleais the literal list within a local scope. A list cleaied this way is tieated as
undened by subsequent data commands.
\clearname{name list}
Cleais the name list within a local scope. A list cleaied this way is tieated as
undened by subsequent data commands.
4.6.2 Stand-alone Tests
Te commands in this section aie vaiious kinds of stand-alone tests foi use in
bibliogiaphy and citation styles.
\iffieldundef{eld}{true}{false}
Expands to true if the eld is undened, and to false otheiwise.
\iflistundef{literal list}{true}{false}
Expands to true if the literal list is undened, and to false otheiwise.
\ifnameundef{name list}{true}{false}
Expands to true if the name list is undened, and to false otheiwise.
\iffieldsequal{eld 1}{eld 2}{true}{false}
Expands to true if the values of eld 1 and eld 2 aie equal, and to false
otheiwise.
11
\iflistsequal{literal list 1}{literal list 2}{true}{false}
Expands to true if the values of literal list 1 and literal list 2 aie equal, and to
false otheiwise.
\ifnamesequal{name list 1}{name list 2}{true}{false}
Expands to true if the values of name list 1 and name list 2 aie equal, and to
false otheiwise.
\iffieldequals{eld}{macro}{true}{false}
Expands to true if the value of the eld is equal to the denition of macro, and
to false otheiwise.
\iflistequals{literal list}{macro}{true}{false}
Expands to true if the value of the literal list is equal to the denition of macro,
and to false otheiwise.
\ifnameequals{name list}{macro}{true}{false}
Expands to true if the value of the name list is equal to the denition of macro,
and to false otheiwise.
\iffieldequalcs{eld}{csname}{true}{false}
Similai to \iffieldequals but takes the contiol sequence name csname (without
a leading backslash) as an aigument, iathei than a macio name.
\iflistequalcs{literal list}{csname}{true}{false}
Similai to \iflistequals but takes the contiol sequence name csname (without a
leading backslash) as an aigument, iathei than a macio name.
\ifnameequalcs{name list}{csname}{true}{false}
Similai to \ifnameequals but takes the contiol sequence name csname (without a
leading backslash) as an aigument, iathei than a macio name.
\iffieldequalstr{eld}{string}{true}{false}
Executes true if the value of the eld is equal to string, and false otheiwise.
Tis command is iobust.
\iffieldxref{eld}{true}{false}
lf the crossref/xref eld of an entiy is dened, this command checks if the eld
is ielated to the cioss-iefeienced paient entiy. lt executes true if the eld of
the child entiy is equal to the coiiesponding eld of the paient entiy, and false
otheiwise. lf the crossref/xref eld is undened, it always executes false. Tis
command is iobust. See the desciiption of the crossref and xref elds in 2.2.3 as
well as 2.4.1 foi fuithei infoimation conceining cioss-iefeiencing.
\iflistxref{literal list}{true}{false}
Similai to \iffieldxref but checks if a literal list is ielated to the cioss-iefeienced
paient entiy. See the desciiption of the crossref and xref elds in 2.2.3 as well as
2.4.1 foi fuithei infoimation conceining cioss-iefeiencing.
12
\ifnamexref{name list}{true}{false}
Similai to \iffieldxref but checks if a name list is ielated to the cioss-iefeienced
paient entiy. See the desciiption of the crossref and xref elds in 2.2.3 as well as
2.4.1 foi fuithei infoimation conceining cioss-iefeiencing.
\ifcurrentfield{eld}{true}{false}
Executes true if the cuiient eld is eld, and false otheiwise. Tis command
is iobust. lt is intended foi use in eld foimauing diiectives and always executes
false when used in any othei context.
\ifcurrentlist{literal list}{true}{false}
Executes true if the cuiient list is literal list, and false otheiwise. Tis command
is iobust. lt is intended foi use in list foimauing diiectives and always executes
false when used in any othei context.
\ifcurrentname{name list}{true}{false}
Executes true if the cuiient list is name list, and false otheiwise. Tis command
is iobust. lt is intended foi use in list foimauing diiectives and always executes
false when used in any othei context.
\ifuseprefix{true}{false}
Expands to true if the useprefix option is enabled (eithei globally oi foi the cuiient
entiy), and false otheiwise. See 3.1.3 foi details on this option.
\ifuseauthor{true}{false}
Expands to true if the useauthor option is enabled (eithei globally oi foi the cuiient
entiy), and false otheiwise. See 3.1.3 foi details on this option.
\ifuseeditor{true}{false}
Expands to true if the useeditor option is enabled (eithei globally oi foi the cuiient
entiy), and false otheiwise. See 3.1.3 foi details on this option.
\ifusetranslator{true}{false}
Expands to true if the usetranslator option is enabled (eithei globally oi foi the
cuiient entiy), and false otheiwise. See 3.1.3 foi details on this option.
\ifsingletitle{true}{false}
Expands to true if theie is only one woik by the labelname name in the bibliogiaphy,
and to false otheiwise. lf theie is no labelname name at all foi the entiy, then
this expands to true if theie is only one woik with the labeltitle title in the
bibliogiaphy and false otheiwise. lf neithei labelname noi labeltitle aie set foi
an entiy, this will always expand to false. Note that this featuie needs to be enabled
explicitly with the package option singletitle.
\ifandothers{list}{true}{false}
Expands to true if the list is dened and has been tiuncated in the bib le with
the keywoid and others, and to false otheiwise. Te list may be a liteial list oi
a name list.
13
\ifmorenames{true}{false}
Expands to true if the cuiient name list has been oi will be tiuncated, and to false
otheiwise. Tis command is intended foi use in foimauing diiectives foi name lists.
lt will always expand to false when used elsewheie. Tis command peifoims the
equivalent of an \ifandothers test foi the cuiient list. lf this test is negative, it also
checks if the listtotal countei is laigei than liststop. Tis command may be used
in a foimauing diiective to decide if a note such as and otheis oi et al. is to be
piinted at the end of the list. Note that you still need to check whethei you aie in
the middle oi at the end of the list, i. e., whethei listcount is smallei than oi equal
to liststop, see 4.4.1 foi details.
\ifmoreitems{true}{false}
Tis command is similai to \ifmorenames but checks the cuiient liteial list. lt is
intended foi use in foimauing diiectives foi liteial lists. lt will always expand to
false when used elsewheie.
\iffirstinits{true}{false}
Expands to true oi false, depending on the state of the firstinits package option
(see 3.1.2.3). Tis command is intended foi use in foimauing diiectives foi name
lists.
\ifterseinits{true}{false}
Expands to true oi false, depending on the state of the terseinits package option
(see 3.1.2.3). Tis command is intended foi use in foimauing diiectives foi name
lists.
\ifentrytype{type}{true}{false}
Executes true if the entiy type of the entiy cuiiently being piocessed is type,
and false otheiwise.
\ifkeyword{keyword}{true}{false}
Executes true if the keyword is found in the keywords eld of the entiy cuiiently
being piocessed, and false otheiwise.
\ifentrykeyword{entrykey}{keyword}{true}{false}
A vaiiant of \ifkeyword which takes an entiy key as its ist aigument. Tis is useful
foi testing an entiy othei than the one cuiiently piocessed.
\ifcategory{category}{true}{false}
Executes true if the entiy cuiiently being piocessed has been assigned to a
category with \addtocategory, and false otheiwise.
\ifentrycategory{entrykey}{category}{true}{false}
A vaiiant of \ifcategory which takes an entiy key as its ist aigument. Tis is
useful foi testing an entiy othei than the one cuiiently piocessed.
14
\ifciteseen{true}{false}
Executes true if the entiy cuiiently being piocessed has been cited befoie, and
false otheiwise. Tis command is iobust and intended foi use in citation styles.
lf theie aie any refsection enviionments in the document, the citation tiacking
is local to these enviionments. Note that the citation tiackei needs to be enabled
explicitly with the package option citetracker. Te behavioi of this test depends on
the mode the citation tiackei is opeiating in, see 3.1.2.3 foi details. lf the citation
tiackei is disabled, the test always yields false. Also see the \citetrackertrue
and \citetrackerfalse switches in 4..4.
\ifentryseen{entrykey}{true}{false}
A vaiiant of \ifciteseen which takes an entiy key as its ist aigument. Since the
entrykey is expanded piioi to peifoiming the test, it is possible to test foi entiy
keys in a eld such as xref
\ifentryseen{\thefield{xref}}{true}{false}
Apait fiom the additional aigument, \ifentryseen behaves like \ifciteseen.
\ifentryinbib{entrykey}{true}{false}
Executes true if the entiy entrykey appeais in the cuiient bibliogiaphy, and
false otheiwise. Tis command is intended foi use in bibliogiaphy styles.
\iffirstcitekey{true}{false}
Executes true if the entiy cuiiently being piocessed is the ist one in the cita-
tion list, and false otheiwise. Tis command ielies on the citecount, citetotal,
multicitecount and multicitetotal counteis ( 4.10.) and thus is intended foi use
only in the loopcode of a citation command dened with \DeclareCiteCommand.
\iflastcitekey{true}{false}
Similai \iffirstcitekey, but executes true if the entiy cuiiently being piocessed
is the last one in the citation list, and false otheiwise.
\ifciteibid{true}{false}
Expands to true if the entiy cuiiently being piocessed is the same as the last one,
and to false otheiwise. Tis command is intended foi use in citation styles. lf theie
aie any refsection enviionments in the document, the tiacking is local to these
enviionments. Note that the ibidem tiackei needs to be enabled explicitly with
the package option ibidtracker. Te behavioi of this test depends on the mode
the tiackei is opeiating in, see 3.1.2.3 foi details. lf the tiackei is disabled, the
test always yields false. Also see the \citetrackertrue and \citetrackerfalse
switches in 4..4.
\ifciteidem{true}{false}
Expands to true if the piimaiy name (i. e., the authoi oi editoi) in the entiy cuiiently
being piocessed is the same as the last one, and to false otheiwise. Tis command
is intended foi use in citation styles. lf theie aie any refsection enviionments in the
document, the tiacking is local to these enviionments. Note that the idem tiackei
needs to be enabled explicitly with the package option idemtracker. Te behavioi
1
of this test depends on the mode the tiackei is opeiating in, see 3.1.2.3 foi details.
lf the tiackei is disabled, the test always yields false. Also see \citetrackertrue
and \citetrackerfalse in 4..4.
\ifopcit{true}{false}
Tis command is similai to \ifciteibid except that it expands to true if the
entiy cuiiently being piocessed is the same as the last one by this author or editor.
Note that the opcit tiackei needs to be enabled explicitly with the package option
opcittracker. Te behavioi of this test depends on the mode the tiackei is opeiating
in, see 3.1.2.3 foi details. lf the tiackei is disabled, the test always yields false.
Also see the \citetrackertrue and \citetrackerfalse switches in 4..4.
\ifloccit{true}{false}
Tis command is similai to \ifopcit except that it also compaies the postnote
aiguments and expands to true only if they match and aie numeiical (in the sense
of \ifnumerals fiom 4..2), i. e., \ifloccit will yield true if the citation iefeis to
the same page cited befoie. Note that the loccit tiackei needs to be enabled explicitly
with the package option loccittracker. Te behavioi of this test depends on the
mode the tiackei is opeiating in, see 3.1.2.3 foi details. lf the tiackei is disabled, the
test always yields false. Also see the \citetrackertrue and \citetrackerfalse
switches in 4..4.
\iffirstonpage{true}{false}
Te behavioi of this command is iesponsive to the package option pagetracker.
lf the option is set to page, it expands to true if the cuiient item is the ist one
on the page, and to false otheiwise. lf the option is set to spread, it expands to
true if the cuiient item is the ist one on the double-page spiead, and to false
otheiwise. lf the page tiackei is disabled, this test always yields false. Depending
on the context, the item may be a citation oi an entiy in the bibliogiaphy oi the list
of shoithands. Note that this test distinguishes between body text and footnotes. Foi
example, if used in the ist footnote on a page, it will expand to true even if theie
is a citation in the body text piioi to the footnote. Also see the \pagetrackertrue
and \pagetrackerfalse switches in 4..4.
\ifsamepage{instance 1}{instance 2}{true}{false}
Tis command expands to true if two instances of a iefeience aie located on the
same page oi double-page spiead, and to false otheiwise. An instance of a iefeience
may be a citation oi an entiy in the bibliogiaphy oi the list of shoithands. Tese
instances aie identied by the value of the instcount countei, see 4.10.. Te
behavioi of this command is iesponsive to the package option pagetracker. lf this
option is set to spread, \ifsamepage is in fact an if same spiead test. lf the page
tiackei is disabled, this test always yields false. Te aiguments instance 1 and
instance 2 aie tieated as integei expiessions in the sense of e-TeXs \numexpr. Tis
implies that it is possible to make calculations within these aiguments, foi example
\ifsamepage{\value{instcount}}{\value{instcount}-1}{true}{false}
Note that \value is not piexed by \the and that the subtiaction is included in
the second aigument in the above example. lf instance 1 oi instance 2 is an
invalid numbei (foi example, a negative one), the test yields false. Also note
that this test does not distinguish between body text and footnotes. Also see the
\pagetrackertrue and \pagetrackerfalse switches in 4..4.
1
\ifinteger{string}{true}{false}
Executes true if the string is a positive integei, and false otheiwise. Tis
command is iobust.
\ifnumeral{string}{true}{false}
Executes true if the string is an Aiabic oi Roman numeial, and false otheiwise.
Tis command is iobust. See also \DeclareNumChars and \NumCheckSetup in 4..4.
\ifnumerals{string}{true}{false}
Executes true if the string is a iange oi a list of Aiabic oi Roman numei-
als, and false otheiwise. Tis command is iobust. ln contiast to \ifnumeral,
it will also execute true with aiguments like 28, 14/1, 1, 3, , and so
on. See also \DeclareNumChars, \DeclareRangeChars, \DeclareRangeCommands, and
\NumCheckSetup in 4..4.
\ifpages{string}{true}{false}
Similai to \ifnumerals, but also consideis \DeclarePageCommands fiom 4..4.
\iffieldint{eld}{true}{false}
Similai to \ifinteger, but uses the value of a eld iathei than a liteial stiing in
the test. lf the eld is undened, it executes false.
\iffieldnum{eld}{true}{false}
Similai to \ifnumeral, but uses the value of a eld iathei than a liteial stiing in
the test. lf the eld is undened, it executes false.
\iffieldnums{eld}{true}{false}
Similai to \ifnumerals, but uses the value of a eld iathei than a liteial stiing in
the test. lf the eld is undened, it executes false.
\iffieldpages{eld}{true}{false}
Similai to \ifpages, but uses the value of a eld iathei than a liteial stiing in the
test. lf the eld is undened, it executes false.
\ifbibstring{string}{true}{false}
Expands to true if the string is a known localization key, and to false otheiwise.
Te localization keys dened by default aie listed in 4.9.2. New ones may be dened
with \NewBibliographyString.
\ifbibxstring{string}{true}{false}
Similai to \ifbibstring, but the string is expanded.
\iffieldbibstring{eld}{true}{false}
Similai to \ifbibstring, but uses the value of a eld iathei than a liteial stiing in
the test. lf the eld is undened, it expands to false.
\ifdriver{entrytype}{true}{false}
Expands to true if a diivei foi the entrytype is available, and to false otheiwise.
1
\ifcapital{true}{false}
Executes true if biblatexs punctuation tiackei would capitalize a localization
stiing at the cuiient location, and false otheiwise. Tis command is iobust. lt may
be useful foi conditional capitalization of ceitain paits of a name in a foimauing
diiective.
\ifcitation{true}{false}
Expands to true when located in a citation, and to false otheiwise. Note that this
command is iesponsive to the outeimost context in which it is used. Foi example,
if a citation command dened with \DeclareCiteCommand executes a diivei dened
with \DeclareBibliographyDriver, any \ifcitation tests in the diivei code will
yield true. See 4.11. foi a piactical example.
\ifbibliography{true}{false}
Expands to true when located in a bibliogiaphy, and to false otheiwise. Note that
this command is iesponsive to the outeimost context in which it is used. Foi example,
if a diivei dened with \DeclareBibliographyDriver executes a citation command
dened with \DeclareCiteCommand, any \ifbibliography tests in the citation code
will yield true. See 4.11. foi a piactical example.
\ifnatbibmode{true}{false}
Expands to true oi false depending on the natbib option fiom 3.1.1.
\ifciteindex{true}{false}
Expands to true oi false depending on the indexing option fiom 3.1.2.1.
\ifbibindex{true}{false}
Expands to true oi false depending on the indexing option fiom 3.1.2.1.
\iffootnote{true}{false}
Expands to true when located in a footnote, and to false otheiwise. Note that
footnotes in minipage enviionments aie consideied to be pait of the body text. Tis
command will only expand to true in footnotes a the bouom of the page and in
endnotes as piovided by the endnotes package.
citecounter Tis countei indicates how many times the entiy cuiiently being piocessed is cited
in the cuiient iefeience section. Note that this featuie needs to be enabled explicitly
with the package option citecounter. lf the option is set to context, citations in
the body text and in footnotes aie counted sepaiately. ln this case, citecounter will
hold the value of the context it is used in.
uniquename Tis countei iefeis to the labelname list. lt is set on a pei-name basis. lts value Biber only
is 0 if the last name is unique, 1 if adding the othei paits of the name (ist name,
piex, sux) as initials will make it unique, and 2 if the full name is iequiied to
disambiguate the name. Tis infoimation is iequiied by authoi-yeai and authoi-title
citation schemes which add additional paits of the name when citing dieient authois
with the same last name. Foi example, if theie is one John Doe and one Edwaid
Doe in the list of iefeiences, this countei will be set to 1. lf theie is one John Doe
and one Jane Doe, the value of the countei will be 2. lf the option is set to init/
allinit/mininit, the countei will be limited to 1. Tis is useful foi citations styles
18
which use initials to disambiguate names but nevei piint the full name in citations.
lf adding the initials is not sucient to disambiguate the name, uniquename will also
be set to 0 foi that name. Tis featuie needs to be enabled explicitly with the package
option uniquename. Note that the uniquename countei is local to \printnames and
that it is only set foi the labelname list and to the name list labelname has been
deiived fiom (typically author oi editor). lts value is zeio in any othei context,
i.e., it must be evaluated in the name foimauing diiectives handling name lists. See
4.11.4 foi fuithei details and piactical examples.
uniquelist Tis countei iefeis to the labelname list. lt is set on a pei-eld basis. lts value Biber only
indicates the numbei of names iequiied to disambiguate the name list if automatic
maxnames/minnames tiuncation would lead to ambiguous citations. Foi example,
if theie is one woik by Doe/Smith/Johnson and anothei one by Doe/Edwaids/
Williams, seuing maxnames=1 would lead to Doe et al. in both cases. ln this case,
uniquelist would be set to 2 on the labelname lists of both entiies because at least the
ist two names aie iequiied to disambiguate them. Note that the uniquelist countei
is local to \printnames and that it is only set foi the labelname list and to the name
list labelname has been deiived fiom (typically author oi editor). lts value is zeio
in any othei context. lf available, the uniquelist value will be used automatically
by \printnames when piocessing the name list, i. e., it will automatically oveiiide
maxnames/minnames. Tis featuie needs to be enabled explicitly with the package
option uniquelist. See 4.11.4 foi fuithei details and piactical examples.
parenlevel Te cuiient nesting level of paientheses and/oi biackets. Tis infoimation is only
available if the parentracker fiom 3.1.2.3 is enabled.
4.6.3 Tests with \ifboolexpr and \ifthenelse
Te tests intioduced in 4..2 may also be used with the \ifboolexpr command
piovided by the etoolbox package and the \ifthenelse command piovided by the
ifthen package. Te syntax of the tests is slightly dieient in this case the true
and false aiguments aie omiued fiom the test itself and passed to the \ifboolexpr
oi \ifthenelse command instead. Note that the use of these commands implies
some piocessing oveihead. lf you do not need any boolean opeiatois, it is moie
ecient to use the stand-alone tests fiom 4..2.
\ifboolexpr{expression}{true}{false}
etoolbox command which allows foi complex tests with boolean opeiatois and
giouping
\ifboolexpr{ (
test {\ifnameundef{editor}}
and
not test {\iflistundef{location}}
)
or test {\iffieldundef{year}}
}
{...}
{...}
19
\ifthenelse{tests}{true}{false}
ifthen command which allows foi complex tests with boolean opeiatois and gioup-
ing
\ifthenelse{ \(
\ifnameundef{editor}
\and
\not \iflistundef{location}
\)
\or \iffieldundef{year}
}
{...}
{...}
Te additional tests piovided by biblatex aie only available when \ifboolexpr oi
\ifthenelse aie used in citation commands and in the bibliogiaphy.
4.6.4 Miscellaneous Commands
Te section intioduced miscellaneous commands and liule helpeis foi use in biblio-
giaphy and citation styles.
\newbibmacro{name}[arguments][optional]{denition}
\newbibmacro*{name}[arguments][optional]{denition}
Denes a macio to be executed via \usebibmacro latei. Te syntax of this command
is veiy similai to \newcommand except that name may contain chaiacteis such as
numbeis and punctuation maiks and does not stait with a backslash. Te optional
aigument arguments is an integei specifying the numbei of aiguments taken by
the macio. lf optional is given, it species a default value foi the ist aigument
of the macio, which automatically becomes an optional aigument. ln contiast to
\newcommand, \newbibmacro issues a waining message if the macio is alieady dened,
and automatically falls back to \renewbibmacro. As with \newcommand, the iegulai
vaiiant of this command uses the \long piex in the denition while the staiied one
does not. lf a macio has been declaied to be long, it may take aiguments containing
\par tokens. \newbibmacro and \renewbibmacro aie piovided foi convenience. Style
authois aie fiee to use \newcommand oi \def instead. Howevei, note that most shaied
denitions found in biblatex.def aie dened with \newbibmacro, hence they must
be used and modied accoidingly.
\renewbibmacro{name}[arguments][optional]{denition}
\renewbibmacro*{name}[arguments][optional]{denition}
Similai to \newbibmacro but iedenes name. ln contiast to \renewcommand,
\renewbibmacro issues a waining message if the macio is undened, and automati-
cally falls back to \newbibmacro.
\providebibmacro{name}[arguments][optional]{denition}
\providebibmacro*{name}[arguments][optional]{denition}
Similai to \newbibmacro but only denes name if it is undened. Tis command is
similai in concept to \providecommand.
180
\usebibmacro{name}
\usebibmacro*{name}
Tis command executes the macio name, as dened with \newbibmacro. lf the
macio takes any aiguments, they aie simply appended afei name. Te iegulai
vaiiant of this command sanitizes name while the staiied vaiiant does not.
\savecommand{command}
\restorecommand{command}
Tese commands save and iestoie any command, which must be a command name
staiting with a backslash. Both commands woik within a local scope. Tey aie
mainly piovided foi use in localization les.
\savebibmacro{name}
\restorebibmacro{name}
Tese commands save and iestoie the macio name, wheie name is the identiei
of a macio dened with \newbibmacro. Both commands woik within a local scope.
Tey aie mainly piovided foi use in localization les.
\savefieldformat[entry type]{format}
\restorefieldformat[entry type]{format}
Tese commands save and iestoie the foimauing diiective format, as dened with
\DeclareFieldFormat. Both commands woik within a local scope. Tey aie mainly
piovided foi use in localization les.
\savelistformat[entry type]{format}
\restorelistformat[entry type]{format}
Tese commands save and iestoie the foimauing diiective format, as dened with
\DeclareListFormat. Both commands woik within a local scope. Tey aie mainly
piovided foi use in localization les.
\savenameformat[entry type]{format}
\restorenameformat[entry type]{format}
Tese commands save and iestoie the foimauing diiective format, as dened with
\DeclareNameFormat. Both commands woik within a local scope. Tey aie mainly
piovided foi use in localization les.
\ifbibmacroundef{name}{true}{false}
Expands to true if the bibliogiaphy macio name is undened, and to false
otheiwise.
\iffieldformatundef[entry type]{name}{true}{false}
\iflistformatundef[entry type]{name}{true}{false}
\ifnameformatundef[entry type]{name}{true}{false}
Expands to true if the foimauing diiective format is undened, and to false
otheiwise.
181
\usedriver{code}{entrytype}
Executes the bibliogiaphy diivei foi an entrytype. Calling this command in the
loopcode of a citation command dened with \DeclareCiteCommand is a simple way
to piint full citations similai to a bibliogiaphy entiy. Commands such as \newblock,
which aie not applicable in a citation, aie disabled automatically. Additional ini-
tialization commands may be passed as the code aigument. Tis aigument is
executed inside the gioup in which \usedriver iuns the iespective diivei. Note that
it is mandatoiy in teims of the syntax but may be lef empty. Also note that this
command will automatically switch languages if the autolang package option is
enabled.
\bibhypertarget{name}{text}
A wiappei foi hyperrefs \hypertarget command. Te name is the name of the
anchoi, the text is aibitiaiy piintable text oi code which seives as an anchoi. lf
theie aie any refsection enviionments in the document, the name is local to the
cuiient enviionment. lf the hyperref package option is disabled oi the hyperref
package has not been loaded, this command will simply pass on its text aigument.
See also the foimauing diiective bibhypertarget in 4.10.4.
\bibhyperlink{name}{text}
A wiappei foi hyperrefs \hyperlink command. Te name is the name of an
anchoi dened with \bibhypertarget, the text is aibitiaiy piintable text oi code
to be tiansfoimed into a link. lf theie aie any refsection enviionments in the
document, the name is local to the cuiient enviionment. lf the hyperref package
option is disabled oi the hyperref package has not been loaded, this command will
simply pass on its text aigument. See also the foimauing diiective bibhyperlink
in 4.10.4.
\bibhyperref[entrykey]{text}
Tiansfoims text into an inteinal link pointing to entrykey in the bibliogiaphy.
lf entrykey is omiued, this command uses the key of the entiy cuiiently being
piocessed. Tis command is employed to tiansfoim citations into clickable links
pointing to the coiiesponding entiy in the bibliogiaphy. Te link taiget is maiked
automatically by biblatex. lf theie aie multiple bibliogiaphies in a document, the
taiget will be the ist occuience of entrykey in one of the bibliogiaphies. lf theie
aie refsection enviionments, the links aie local to the enviionment. See also the
foimauing diiective bibhyperref in 4.10.4.
\ifhyperref{true}{false}
Expands to true if the hyperref package option is enabled (which implies that the
hyperref package has been loaded), and to false otheiwise.
\docsvfield{eld}
Similai to the \docsvlist command fiom the etoolbox package, except that it takes
a eld name as its aigument. Te value of this eld is paised as a comma-sepaiated
list. lf the eld is undened, this command expands to an empty stiing.
182
\forcsvfield{handler}{eld}
Similai to the \forcsvlist command fiom the etoolbox package, except that it takes
a eld name as its aigument. Te value of this eld is paised as a comma-sepaiated
list. lf the eld is undened, this command expands to an empty stiing.
\MakeCapital{text}
Similai to \MakeUppercase but only coveits the ist piintable chaiactei in text to
uppeicase. Note that the iestiictions that apply to \MakeUppercase also apply to
this command. Namely, all commands in text must eithei be iobust oi piexed
with \protect since the text is expanded duiing capitalization. Apait fiom Ascii
chaiacteis and the standaid accent commands, this command also handles the active
chaiacteis of the inputenc package as well as the shoithands of the babel package.
lf the text staits with a contiol sequence, nothing is capitalized. Tis command is
iobust.
\MakeSentenceCase{text}
\MakeSentenceCase*{text}
Conveits its text aigument to sentence case, i. e., the ist woid is capitalized and
the iemaindei of the stiing is conveited to loweicase. Tis command is iobust. Te
staiied vaiiant dieis fiom the iegulai veision in that it consideis the language of the
entiy, as specied in the langid eld. lt only conveits the text to sentence case if the
langid eld is undened oi if it holds a language declaied with \DeclareCaseLangs
(see below).
33
Otheiwise, the text is not alteied in any way. lt is iecommended
to use \MakeSentenceCase* iathei than the iegulai vaiiant in foimauing diiectives.
Both vaiiants suppoit the tiaditional BibTeX convention foi bib les that anything
wiapped in a paii of cuily biaces is not modied when changing the case. Foi
example
\MakeSentenceCase{an Introduction to LaTeX}
\MakeSentenceCase{an Introduction to {LaTeX}}
would yield
An introduction to latex
An introduction to LaTeX
ln bib les designed with tiaditional BibTeX in mind, it has been faiily common to
only wiap single leueis in biaces to pievent case-changing
title = {An Introduction to {L}a{T}e{X}}
Te pioblem with this convention is that the biaces will suppiess the keining on
both sides of the enclosed leuei. lt is piefeiable to wiap the entiie woid in biaces as
shown in the ist example.
33
By default, conveiting to sentence case is enabled foi the following language identieis ameri-
can, british, canadian, english, australian, newzealand as well as the aliases USenglish and
UKenglish. Use \DeclareCaseLangs to extend oi change this list.
183
Input Output
mincomprange=10 mincomprange=100 mincomprange=1000
11--15 11 111 111
111--115 111 111 11111
1111--1115 1111 1111 1111
maxcomprange=1000 maxcomprange=100 maxcomprange=10
1111--1115 1111 1111 1111
1111--1155 1111 1111 111111
1111--1555 1111 11111 11111
mincompwidth=1 mincompwidth=10 mincompwidth=100
1111--1115 1111 11111 111111
1111--1155 1111 1111 11111
1111--1555 1111 1111 1111
Table 10: \mkcomprange setup
\mkpageprefix[pagination][postpro]{text}
Tis command is intended foi use in eld foimauing diiectives which foimat the
page numbeis in the postnote aigument of citation commands and the pages eld
of bibliogiaphy entiies. lt will paise its text aigument and piex it with p. oi
pp. by default. Te optional pagination aigument holds the name of a eld in-
dicating the pagination type. Tis may be eithei pagination oi bookpagination,
with pagination being the default. Te spacing between the piex and the text
may be modied by iedening \ppspace. Te default is an unbieakable inteiwoid
space. See 2.3.10 and 3.12.3 foi fuithei details. See also \DeclareNumChars,
\DeclareRangeChars, \DeclareRangeCommands, and \NumCheckSetup. Te optional
postpro aigument species a macio to be used foi post-piocessing the text. lf
only one optional aigument is given, it is taken as pagination. Heie aie two typical
examples
\DeclareFieldFormat{postnote}{\mkpageprefix[pagination]{#1}}
\DeclareFieldFormat{pages}{\mkpageprefix[bookpagination]{#1}}
Te optional aigument pagination in the ist example is omissible.
\mkpagetotal[pagination][postpro]{text}
Tis command is similai to \mkpageprefix except that it is intended foi the pagetotal
eld of bibliogiaphy entiies, i. e., it will piint 123 pages iathei than page 123. Te
optional pagination aigument defaults to bookpagination. Te spacing inseited
between the pagination sux and the text may be modied by iedening the
macio \ppspace. Te optional postpro aigument species a macio to be used foi
post-piocessing the text. lf only one optional aigument is given, it is taken as
pagination. Heie is a typical example
\DeclareFieldFormat{pagetotal}{\mkpagetotal[bookpagination]{#1}}
Te optional aigument bookpagination is omissible in this case.
184
\mkcomprange[postpro]{text}
\mkcomprange*[postpro]{text}
Tis command, which is intended foi use in eld foimauing diiectives, will paise its
text aigument foi page ianges and compiess them. Foi example, 12129 may be
foimaued as 129. You may conguie the behavioi of \mkcomprange by adjusting
the LaTeX counteis mincomprange, maxcomprange, and mincompwidth, as illustiated
in table 10. Te default seuings aie 10, 100000, and 1, iespectively. Tis means that
the command tiies to compiess as much as possible by default. Use \setcounter
to adjust the paiameteis. Te scannei iecognizes \bibrangedash and hyphens as
iange dashes. lt will noimalize the dash by ieplacing any numbei of consecutive
hyphens with \bibrangedash. Lists of ianges delimited with \bibrangessep (Bibei
34
)
oi commas/semicolons (BibTeX) aie also suppoited. lf you want to hide a chaiactei
fiom the list/iange scannei foi some ieason, wiap the chaiactei oi the entiie stiing
in cuily biaces. Te optional postpro aigument species a macio to be used foi
post-piocessing the text. Tis is impoitant if you want to combine \mkcomprange
with othei foimauing macios which also need to paise theii text aigument, such
as \mkpageprefix. Simply nesting these commands will not woik as expected. Use
the postpro aigument to set up the piocessing chain as follows
\DeclareFieldFormat{postnote}{\mkcomprange[{\mkpageprefix[pagination]}]{#1}}
Note that \mkcomprange is executed ist, using \mkpageprefix as post-piocessoi.
Also note that the postpro aigument is wiapped in an additional paii of biaces.
Tis is only iequiied in this paiticulai case to pievent LaTeXs optional aigument
scannei fiom geuing confused by the nested biackets. Te staiied veision of this
command dieis fiom the iegulai one in the way the postpro aigument is applied
to a list of values. Foi example
\mkcomprange[\mkpageprefix]{5, 123-129, 423-439}
\mkcomprange*[\mkpageprefix]{5, 123-129, 423-439}
will output
pp. 5, 123-9, 423-39
p. 5, pp. 123-9, pp. 423-39
\mkfirstpage[postpro]{text}
\mkfirstpage*[postpro]{text}
Tis command, which is intended foi use in eld foimauing diiectives, will paise
its text aigument foi page ianges and piint the stait page of the iange only. Te
scannei iecognizes \bibrangedash and hyphens as iange dashes. Lists of ianges
delimited with \bibrangessep (Bibei
3
) oi commas/semicolons (BibTeX) aie also sup-
poited. lf you want to hide a chaiactei fiom the list/iange scannei foi some ieason,
wiap the chaiactei oi the entiie stiing in cuily biaces. Te optional postpro aigu-
ment species a macio to be used foi post-piocessing the text. See \mkcomprange
on how to use this aigument. Te staiied veision of this command dieis fiom
the iegulai one in the way the postpro aigument is applied to a list of values. Foi
example
34
Bibei will always conveit commas/semicolon multi-iange sepaiatois into \bibrangessep so that it
can be contiolled in the style.
3
Bibei will always conveit commas/semicolon multi-iange sepaiatois into \bibrangessep so that it
can be contiolled in the style.
18
\mkfirstpage[\mkpageprefix]{5, 123-129, 423-439}
\mkfirstpage*[\mkpageprefix]{5, 123-129, 423-439}
will output
pp. 5, 123, 423
p. 5, p. 123, p. 423
\rangelen{text}
Tis command will paise its aigument as a iange and ietuin the length of the iange.
lt will ietuin 0 foi open-ended ianges.
\rangelen{5-10} returns '5'
\rangelen{-10} returns '0'
\rangelen{5-} returns '0'
\rangelen{5} returns '1'
Tis can be used as pait of tests in styles which iequiie, foi example, f as a sux foi
ianges of only two pages, foi example, when a page iange 3-3 should be piinted
as 3f. Tis could be done using \ifnumcomp
\ifnumcomp{\rangelen{\thefield{pages}}}{=}{1}{add 'f'}{do nothing}
\DeclareNumChars{characters}
\DeclareNumChars*{characters}
Tis command conguies the \ifnumeral, \ifnumerals, and \ifpages tests fiom
4..2. Te setup will also aect \iffieldnum, \iffieldnums, \iffieldpages as well
as \mkpageprefix and \mkpagetotal. Te characters aigument is an undelimited
list of chaiacteis which aie to be consideied as being pait of a numbei. Te iegulai
veision of this command ieplaces the cuiient seuing, the staiied veision appends its
aigument to the cuiient list. Te default seuing is
\DeclareNumChars{.}
Tis means that a (section oi othei) numbei like 3.4. will be consideied as a numbei.
Note that Aiabic and Roman numeials aie detected by default, theie is no need to
declaie them explicitly.
\DeclareRangeChars{characters}
\DeclareRangeChars*{characters}
Tis command conguies the \ifnumerals and \ifpages tests fiom 4..2. Te
setup will also aect \iffieldnums and \iffieldpages as well as \mkpageprefix
and \mkpagetotal. Te characters aigument is an undelimited list of chaiacteis
which aie to be consideied as iange indicatois. Te iegulai veision of this command
ieplaces the cuiient seuing, the staiied veision appends its aigument to the cuiient
list. Te default seuing is
\DeclareRangeChars{~,;-+/}
Tis means that stiings like 3, 3, 8/9 and so on will be consideied as a iange
by \ifnumerals and \ifpages. Non-iange chaiacteis in such stiings aie iecognized
as numbeis. So stiings like 3aa and 3b aie not deemed to be ianges by default.
See also 2.3.10 and 3.12.3 foi fuithei details.
18
\DeclareRangeCommands{commands}
\DeclareRangeCommands*{commands}
Tis command is similai to \DeclareRangeChars, except that the commands ai-
gument is an undelimited list of commands which aie to be consideied as iange
indicatois. Te iegulai veision of this command ieplaces the cuiient seuing, the
staiied veision appends its aigument to the cuiient list. Te default list is iathei
long and should covei all common cases, heie is a shoitei example
\DeclareRangeCommands{\&\bibrangedash\textendash\textemdash\psq\psqq}
See also 2.3.10 and 3.12.3 foi fuithei details.
\DeclarePageCommands{commands}
\DeclarePageCommands*{commands}
Tis command is similai to \DeclareRangeCommands, except that it only aects the
\ifpages and \iffieldpages tests but not \ifnumerals and \iffieldnums. Te
default seuing is
\DeclarePageCommands{\pno\ppno}
\NumCheckSetup{code}
Use this command to tempoiaiily iedene any commands which inteifeie with the
tests peifoimed by \ifnumeral, \ifnumerals, and \ifpages fiom 4..2. Te setup
will also aect \iffieldnum, \iffieldnums, \iffieldpages as well as \mkpageprefix
and \mkpagetotal. Te code will be executed in a gioup by these commands. Since
the above mentioned commands will expand the stiing to be analyzed, it is possible
to iemove commands to be ignoied by the tests by making them expand to an empty
stiing. See also 2.3.10 and 3.12.3 foi fuithei details.
\DeclareCaseLangs{languages}
\DeclareCaseLangs*{languages}
Denes the list of languages which aie consideied by the \MakeSentenceCase* com-
mand as it conveits a stiing to sentence case. Te languages aigument is a comma-
sepaiated list of babel/polyglossia languages identieis. Te iegulai veision of
this command ieplaces the cuiient seuing, the staiied veision appends its aigument
to the cuiient list. Te default seuing is
\DeclareCaseLangs{%
american,british,canadian,english,australian,newzealand,
USenglish,UKenglish}
See the babel/polyglossia manuals and table 2 foi a list of languages identieis.
\BibliographyWarning{message}
Tis command is similai to \PackageWarning but piints the entiy key of the entiy
cuiiently being piocessed in addition to the input line numbei. lt may be used in
the bibliogiaphy as well as in citation commands. lf the message is faiily long,
use \MessageBreak to include line bieaks. Note that the standaid \PackageWarning
command does not piovide a meaningful clue when used in the bibliogiaphy since
the input line numbei is the line on which the \printbibliography command was
given.
18
\RequireBiber[severity]
Tis command is intended foi use in cbx/bbx les and in the @preamble of bib les.
lt checks the selected backend and wains if it is not Bibei. Te optional severity
aigument is an integei specifying the seveiity. Te value 1 tiiggeis an infoimational
message stating that Bibei is iecommended, 2 tiiggeis a waining stating that Bibei
is iequiied and the style/bib le may not woik piopeily, 3 tiiggeis an eiioi stating
that Bibei is stiictly iequiied and the style/bib le will not woik at all with any
othei backend. lf \RequireBiber is used multiple times, the highest severity takes
piecedence. cbx/bbx les on the one hand and the @preamble snippets of all bib les
on the othei aie tiacked sepaiately. lf the optional severity aigument is omiued,
the default seveiity is 2 (waining).
\pagetrackertrue
\pagetrackerfalse
Tese commands activate oi deactivate the citation tiackei locally (this will aect
the \iffirstonpage and \ifsamepage test fiom 4..2). Tey aie intended foi use
in the denition of citation commands oi anywheie in the document body. lf a
citation command is to be excluded fiom page tiacking, use \pagetrackerfalse in
the precode aigument of \DeclareCiteCommand. See 4.3.1 foi details. Note that
these commands have no eect if page tiacking has been disabled globally.
\citetrackertrue
\citetrackerfalse
Tese commands activate oi deactivate all citation tiackeis locally (this will aect
the \ifciteseen, \ifentryseen, \ifciteibid, and \ifciteidem tests fiom 4..2).
Tey aie intended foi use in the denition of citation commands oi anywheie in
the document body. lf a citation command is to be excluded fiom tiacking, use
\citetrackerfalse in the precode aigument of \DeclareCiteCommand. See 4.3.1
foi details. Note that these commands have no eect if tiacking has been disabled
globally.
\backtrackertrue
\backtrackerfalse
Tese commands activate oi deactivate the backref tiackei locally. Tey aie intended
foi use in the denition of citation commands oi anywheie in the document body. lf
a citation command is to be excluded fiom backtiacking, use \backtrackerfalse in
the precode aigument of \DeclareCiteCommand. Note that these commands have
no eect if the backref option has been not been set globally.
4.7 Punctuation and Spacing
Te biblatex package piovides elaboiate facilities designed to manage and tiack
punctuation and spacing in the bibliogiaphy and in citations. Tese facilities woik
on two levels. Te high-level commands discussed in 4..1 deal with punctuation
and whitespace inseited by the bibliogiaphy style between the individual segments
of a bibliogiaphy entiy. Te commands in 4..2, 4..3, 4..4 woik at a lowei level.
Tey use TeXs space factoi and modied space factoi codes to tiack punctuation
in a iobust and ecient way. Tis way it is possible to detect tiailing punctua-
tion maiks within elds, not only those explicitly inseited between elds. Te
same technique is also used foi automatic capitalization of localization stiings, see
\DeclareCapitalPunctuation in 4.. as well as 4.8 foi details. Note that these
facilities aie only made available locally in citations and bibliogiaphies. Tey will
not aect any othei pait of a document.
4.7.1 Block and Unit Punctuation
Te majoi segments of a bibliogiaphy entiy aie blocks and units. A block is the
laigei segment of the two, a unit is shoitei oi at most equal in length. Foi example,
188
the values of elds such as title oi note usually foim a unit which is sepaiated
fiom subsequent data by a peiiod oi a comma. A block may compiise seveial elds
which aie tieated as sepaiate units, foi example publisher, location, and year. Te
segmentation of an entiy into blocks and units is at the discietion of the bibliogiaphy
style. An entiy is segmented by inseiting \newblock and \newunit commands at
suitable places and \finentry at the veiy end (see 4.2.3 foi an example). See also
4.11. foi some piactical hints.
\newblock Recoids the end of a block. Tis command does not piint anything, it meiely maiks
the end of the block. Te block delimitei \newblockpunct will be inseited by a sub-
sequent \printtext, \printfield, \printlist, \printnames, oi \bibstring com-
mand. You may use \newblock at suitable places without having to woiiy about
spuiious blocks. Anewblock will only be staited by the next \printfield (oi similai)
command if this command piints anything. See 4.11. foi fuithei details.
\newunit Recoids the end of a unit and puts the default delimitei \newunitpunct in the punc-
tuation buei. Tis command does not piint anything, it meiely maiks the end of the
unit. Te punctuation buei will be inseited by the next \printtext, \printfield,
\printlist, \printnames, oi \bibstring command. You may use \newunit afei
commands like \printfield without having to woiiy about spuiious punctuation
and whitespace. Te buei will only be inseited by the next \printfield oi similai
command if both elds aie non-empty. Tis also applies to \printtext, \printlist,
\printnames, and \bibstring. See 4.11. foi fuithei details.
\finentry lnseits \finentrypunct. Tis command should be used at the veiy end of eveiy
bibliogiaphy entiy.
\setunit{punctuation}
\setunit*{punctuation}
Te \setunit command is similai to \newunit except that it uses punctuation
instead of \newunitpunct. Te staiied vaiiant dieis fiom the iegulai veision in
that it checks if the last \printtext, \printfield, \printlist, \printnames, oi
\bibstring command did actually piint anything. lf not, it does nothing.
\printunit{punctuation}
\printunit*{punctuation}
Te \printunit command is similai to \setunit except that punctuation peisists
in the buei until the next \printtext, \printfield, \printlist, \printnames, oi
\bibstring command.
\setpunctfont{command}
Tis command, which is intended foi use in eld foimauing diiectives, piovides an
alteinative way of dealing with unit punctuation afei a eld piinted in a dieient
font (foi example, a title piinted in italics). Te standaid LaTeX way of dealing with
this is adding a small amount of space, the so-called italic coiiection. Tis command
allows adapting the punctuation to the font of the pieceding eld. Te command
should be a text font command which takes one aigument, such as \emph oi \textbf.
Tis command will only aect punctuation maiks inseited by one of the commands
fiom 4..3. Te font adaption is applied to the next punctuation maik only and
will be ieset automatically theieafei. lf you want to ieset it manually befoie it
takes eect, issue \resetpunctfont. lf the punctfont package option is disabled,
189
this command does nothing. Note that the \mkbibemph and \mkbibbold wiappeis
fiom 4.10.4 incoipoiate this featuie by default.
\resetpunctfont Tis command iesets the unit punctuation font dened with \setpunctfont befoie it
takes eect. lf the punctfont package option is disabled, this command does nothing.
4.7.2 Punctuation Tests
Te following commands may be used to test foi pieceding punctuation maiks at
any point in citations and the bibliogiaphy.
\ifpunct{true}{false}
Executes true if pieceded by any punctuation maik except foi an abbieviation dot,
and false otheiwise.
\ifterm{true}{false}
Executes true if pieceded by a teiminal punctuation maik, and false otheiwise.
A teiminal punctuation maik is any punctuation maik which has been iegisteied
foi automatic capitalization, eithei with \DeclareCapitalPunctuation oi by default,
see 4.. foi details. By default, this applies to peiiods, exclamation maiks, and
question maiks.
\ifpunctmark{character}{true}{false}
Executes true if pieceded by the punctuation maik character, and false othei-
wise. Te character may be a comma, a semicolon, a colon, a peiiod, an exclama-
tion maik, a question maik, oi an asteiisk. Note that a peiiod denotes an end-of-
sentence peiiod. Use the asteiisk to test foi the dot afei an abbieviation. lf this
command is used in a foimauing diiective foi name lists, i. e., in the aigument to
\DeclareNameFormat, the character may also be an apostiophe.
4.7.3 Adding Punctuation
Te following commands aie designed to pievent double punctuation maiks. Biblio-
giaphy and citation styles should always use these commands instead of liteial punc-
tuation maiks. All \add... commands in this section automatically iemove pieceding
whitespace with \unspace (see 4..4). Note that the behavioi of all \add... com-
mands discussed below is the package default, which is iestoied whenevei biblatex
switches languages. Tis behavioi may be adjusted with \DeclarePunctuationPairs
fiom 4...
\adddot Adds a peiiod unless it is pieceded by any punctuation maik. Te puipose of this
command is inseiting the dot afei an abbieviation. Any dot inseited this way is
iecognized as such by the othei punctuation commands. Tis command may also be
used to tuin a pieviously inseited liteial peiiod into an abbieviation dot.
\addcomma Adds a comma unless it is pieceded by anothei comma, a semicolon, a colon, oi a
peiiod.
\addsemicolon Adds a semicolon unless it is pieceded by a comma, anothei semicolon, a colon, oi a
peiiod.
\addcolon Adds a colon unless it is pieceded by a comma, a semicolon, anothei colon, oi a
peiiod.
190
\addperiod Adds a peiiod unless it is pieceded by an abbieviation dot oi any othei punctuation
maik. Tis command may also be used to tuin a pieviously inseited abbieviation
dot into a peiiod, foi example at the end of a sentence.
\addexclam Adds an exclamation maik unless it is pieceded by any punctuation maik except foi
an abbieviation dot.
\addquestion Adds a question maik unless it is pieceded by any punctuation maik except foi an
abbieviation dot.
\isdot Tuins a pieviously inseited liteial peiiod into an abbieviation dot. ln contiast to
\adddot, nothing is inseited if this command is not pieceded by a peiiod.
\nopunct Adds an inteinal maikei which will cause the next punctuation command to piint
nothing.
4.7.4 Adding Whitespace
Te following commands aie designed to pievent spuiious whitespace. Bibliogiaphy
and citation styles should always use these commands instead of liteial whitespace.
ln contiast to the commands in 4..2 and 4..3, they aie not iestiicted to citations
and the bibliogiaphy but available globally.
\unspace Removes pieceding whitespace, i. e., iemoves all skips and penalties fiom the end
of the cuiient hoiizontal list. Tis command is implicitly executed by all of the
following commands.
\addspace Adds a bieakable inteiwoid space.
\addnbspace Adds a non-bieakable inteiwoid space.
\addthinspace Adds a breakable thin space.
\addnbthinspace Adds a non-bieakable thin space. Tis is similai to \, and \thinspace.
\addlowpenspace Adds a space penalized by the value of the lownamepenalty countei, see 3.9.3 and
4.10.3 foi details.
\addhighpenspace Adds a space penalized by the value of the highnamepenalty countei, see 3.9.3
and 4.10.3 foi details.
\addlpthinspace Similai to \addlowpenspace but adds a bieakable thin space.
\addhpthinspace Similai to \addhighpenspace but adds a bieakable thin space.
\addabbrvspace Adds a space penalized by the value of the abbrvpenalty countei, see 3.9.3 and
4.10.3 foi details.
\addabthinspace Similai to \addabbrvspace but using a thin space.
\adddotspace Executes \adddot and adds a space penalized by the value of the abbrvpenalty
countei, see 3.9.3 and 4.10.3 foi details.
191
\addslash Adds a bieakable slash. Tis command dieis fiom the \slash command in the
LaTeX keinel in that a linebieak afei the slash is not penalized at all.
Note that the commands in this section implicitly execute \unspace to iemove
spuiious whitespace, hence they may be used to oveiiide each othei. Foi example,
you may use \addnbspace to tiansfoim a pieviously inseited inteiwoid space into
a non-bieakable one and \addspace to tuin a non-bieakable space into a bieakable
one.
4.7.5 Configuring Punctuation and Capitalization
Te following commands conguie vaiious featuies ielated to punctuation and
automatic capitalization.
\DeclareAutoPunctuation{characters}
Tis command denes the punctuation maiks to be consideied by the citation com-
mands as they scan ahead foi punctuation. Note that characters is an undelimited
list of chaiacteis. Valid characters aie peiiod, comma, semicolon, colon, exclama-
tion and question maik. Te default seuing is
\DeclareAutoPunctuation{.,;:!?}
Tis denition is iestoied automatically whenevei the autopunct package option
is set to true. Executing \DeclareAutoPunctuation{} is equivalent to seuing
autopunct=false, i. e., it disables this featuie.
\DeclareCapitalPunctuation{characters}
When biblatex inseits localization stiings, i. e., key teims such as edition oi vol-
ume, it automatically capitalizes them afei teiminal punctuation maiks. Tis com-
mand denes the punctuation maiks which will cause localization stiings to be
capitalized if one of them piecedes a stiing. Note that characters is an undelimited
list of chaiacteis. Valid characters aie peiiod, comma, semicolon, colon, exclama-
tion and question maik. Te package default is
\DeclareCapitalPunctuation{.!?}
Using \DeclareCapitalPunctuation with an empty aigument is equivalent to dis-
abling automatic capitalization. Since this featuie is language specic, this command
must be used in the aigument to \DefineBibliographyExtras (when used in the
pieamble) oi \DeclareBibliographyExtras (when used in a localization module).
See 3.8 and 4.9 foi details. By default, stiings aie capitalized afei peiiods, ex-
clamation maiks, and question maiks. All stiings aie geneially capitalized at the
beginning of a paiagiaph (in fact whenevei TeX is in veitical mode).
\DeclarePunctuationPairs{identier}{characters}
Use this command to declaie valid paiis of punctuation maiks. Tis will aect
the punctuation commands discussed in 4..3. Foi example, the desciiption of
\addcomma states that this command adds a comma unless it is pieceded by anothei
comma, a semicolon, a colon, oi a peiiod. ln othei woids, commas afei abbieviation
dots, exclamation maiks, and question maiks aie peimiued. Tese valid paiis aie
declaied as follows
192
\DeclarePunctuationPairs{comma}{*!?}
Te identier selects the command to be conguied. Te identieis coiiespond
to the names of the punctuation commands fiom 4..3 without the \add pie-
x, i. e., valid identier stiings aie dot, comma, semicolon, colon, period, exclam,
question. Te characters aigument is an undelimited list of punctuation maiks.
Valid characters aie comma, semicolon, colon, peiiod, exclamation maik, question
maik, and asteiisk. A peiiod in the characters aigument denotes an end-of-sen-
tence peiiod, an asteiisk the dot afei an abbieviation. Tis is the default setup, which
is automatically iestoied whenevei biblatex switches languages and coiiesponds
to the behavioi desciibed in 4..3
\DeclarePunctuationPairs{dot}{}
\DeclarePunctuationPairs{comma}{*!?}
\DeclarePunctuationPairs{semicolon}{*!?}
\DeclarePunctuationPairs{colon}{*!?}
\DeclarePunctuationPairs{period}{}
\DeclarePunctuationPairs{exclam}{*}
\DeclarePunctuationPairs{question}{*}
Since this featuie is language specic, \DeclarePunctuationPairs must be used
in the aigument to \DefineBibliographyExtras (when used in the pieamble) oi
\DeclareBibliographyExtras (when used in a localization module). See 3.8 and
4.9 foi details. Note that some localization modules may use a setup which is dieient
fiom the package default.
3
\DeclareQuotePunctuation{characters}
Tis command contiols Ameiican-style punctuation. Te \mkbibquote wiappei
fiom 4.10.4 can inteiact with the punctuation facilities discussed in 4..1, 4..3,
4..4. Punctuation maiks afei \mkbibquote will be moved inside the quotes if they
have been iegisteied with \DeclareQuotePunctuation. Note that characters is an
undelimited list of chaiacteis. Valid characters aie peiiod, comma, semicolon,
colon, exclamation and question maik. Heie is an example
\DeclareQuotePunctuation{.,}
Executing \DeclareQuotePunctuation{} is equivalent to disabling this featuie. Tis
is the package default. Since this featuie is language specic, this command must be
used in the aigument to \DefineBibliographyExtras (when used in the pieamble)
oi \DeclareBibliographyExtras (when used in a localization module). See 3.8
and 4.9 foi details. See also 3.10.1.
\uspunctuation A shoithand using the lowei-level commands \DeclareQuotePunctuation and
\DeclarePunctuationPairs to activate Ameiican-style punctuation. See 3.10.1
foi details. Tis shoithand is piovided foi convenience only. Te eective seuings
aie applied by the lowei-level commands.
3
As of this wiiting, the american module uses dieient seuings foi Ameiican-style punctuation.
193
\stdpunctuation Undoes the seuings applied by \uspunctuation, iestoiing standaid punctuation. As
standaid punctuation is the default seuing, you only need this command to oveiiide
a pieviously executed \uspunctuation command. See 3.10.1 foi details.
4.7.6 Correcting Punctuation Tracking
Te facilities foi punctuation tiacking and automatic capitalization aie veiy ieliable
undei noimal ciicumstances, but theie aie always maiginal cases which may iequiie
manual inteivention. Typical cases aie localization stiings piinted as the ist woid in
a footnote (which is usually tieated as the beginning of a paiagiaph as fai as capital-
ization is conceined, but TeX is not in veitical mode at this point) oi punctuation afei
peiiods which aie not ieally end-of-sentence peiiods (foi example, afei an ellipsis
like [] a command such as \addperiod would do nothing since paientheses and
biackets aie tianspaient to the punctuation tiackei). ln such cases, use the following
commands in bibliogiaphy and citation styles to maik the beginning oi middle of a
sentence if and wheie iequiied
\bibsentence Tis command maiks the beginning of a sentence. A localization stiing immediately
afei this command will be capitalized and the punctuation tiackei is ieset, i. e., this
command hides all pieceding punctuation maiks fiom the punctuation tiackei and
enfoices capitalization.
\midsentence Tis command maiks the middle of a sentence. A localization stiing immediately
afei this command will not be capitalized and the punctuation tiackei is ieset, i. e.,
this command hides all pieceding punctuation maiks fiom the punctuation tiackei
and suppiesses capitalization.
\midsentence* Te staiied vaiiant of \midsentence dieis fiom the iegulai one in that a pieceding
abbieviation dot is not hidden fiom the the punctuation tiackei, i. e., any code afei
\midsentence* will see a pieceding abbieviation dot. All othei punctuation maiks
aie hidden fiom the punctuation tiackei and capitalization is suppiessed.
4.8 Localization Strings
Localization stiings aie key teims such as edition oi volume which aie automati-
cally tianslated by biblatexs localization modules. See 4.9 foi an oveiview and
4.9.2 foi a list of all stiings suppoited by default. Te commands in this section aie
used to piint the localized teim.
\bibstring[wrapper]{key}
Piints the localization stiing key, wheie key is an identiei in loweicase leueis
(see 4.9.2). Te stiing will be capitalized as iequiied, see 4.. foi details. Depend-
ing on the abbreviate package option fiom 3.1.2.1, \bibstring piints the shoit oi
the long veision of the stiing. lf localization stiings aie nested, i. e., if \bibstring is
used in anothei stiing, it will behave like \bibxstring. lf the wrapper aigument is
given, the stiing is passed to the wrapper foi foimauing. Tis is intended foi font
commands such as \emph.
\biblstring[wrapper]{key}
Similai to \bibstring but always piints the long stiing, ignoiing the abbreviate
option.
194
\bibsstring[wrapper]{key}
Similai to \bibstring but always piints the shoit stiing, ignoiing the abbreviate
option.
\bibcpstring[wrapper]{key}
Similai to \bibstring but the teim is always capitalized.
\bibcplstring[wrapper]{key}
Similai to \biblstring but the teim is always capitalized.
\bibcpsstring[wrapper]{key}
Similai to \bibsstring but the teim is always capitalized.
\bibucstring[wrapper]{key}
Similai to \bibstring but the whole teim is uppeicased.
\bibuclstring[wrapper]{key}
Similai to \biblstring but the whole teim is uppeicased.
\bibucsstring[wrapper]{key}
Similai to \bibsstring but the whole teim is uppeicased.
\biblcstring[wrapper]{key}
Similai to \bibstring but the whole teim is loweicased.
\biblclstring[wrapper]{key}
Similai to \biblstring but the whole teim is loweicased.
\biblcsstring[wrapper]{key}
Similai to \bibsstring but the whole teim is loweicased.
\bibxstring{key}
A simplied but expandable veision of \bibstring. Note that this vaiiant does not
capitalize automatically, noi does it hook into the punctuation tiackei. lt is intended
foi special cases in which stiings aie nested oi an expanded localization stiing is
iequiied in a test.
\bibxlstring[wrapper]{key}
Similai to \bibxstring but always uses the long stiing, ignoiing the abbreviate
option.
\bibxsstring[wrapper]{key}
Similai to \bibxstring but always uses the shoit stiing, ignoiing the abbreviate
option.
19
\mainlang
Switches fiom the cuiient language to the main document language. Tis can be
used the wrapper aigument in the localization stiing commands above.
4.9 Localization Modules
Alocalization module piovides tianslations foi key teims such as edition oi volume
as well as denitions foi language specic featuies such as the date foimat and
oidinals. Tese denitions aie piovided in les with the sux lbx. Te base name
of the le must be a language name known to the babel/polyglossia packages. Te
lbx les may also be used to map babel/polyglossia language names to the backend
modules of the biblatex package. All localization modules aie loaded on demand in
the document body. Note that the contents of the le aie piocessed in a gioup and
that the categoiy code of the chaiactei @ is tempoiaiily set to leuei.
4.9.1 Localization Commands
Te usei-level veisions of the localization commands weie alieady intioduced in
3.8. When used in lbx les, howevei, the syntax of localization commands is
dieient fiom the usei syntax in the pieamble and the conguiation le. When used
in localization les, theie is no need to specify the language because the mapping
of stiings to a language is alieady piovided by the name of the lbx le.
\DeclareBibliographyStrings{denitions}
Tis command is only available in lbx les. lt is used to dene localization stiings.
Te denitions consist of key=value paiis which assign an expiession to an
identiei. A complete list of all keys suppoited by default is given is 4.9.2. Note that
the syntax of the value is dieient in lbx les. Te value assigned to a key consists
of two expiessions, each of which is wiapped in an additional paii of biackets. Tis
is best shown by example
\DeclareBibliographyStrings{%
bibliography = {{Bibliography}{Bibliography}},
shorthands = {{List of Abbreviations}{Abbreviations}},
editor = {{editor}{ed.}},
editors = {{editors}{eds.}},
}
Te ist value is the long, wiiuen out expiession, the second one is an abbieviated
oi shoit foim. Both stiings must always be given even though they may be identical
if an expiession is always (oi nevei) abbieviated. Depending on the seuing of the
abbreviate package option (see 3.1.2.1), biblatex selects one expiession when
loading the lbx le. Teie is also a special key named inherit which copies the
stiings fiom a dieient language. Tis is intended foi languages which only diei in
a few expiessions, such as Geiman and Austiian oi Ameiican and Biitish English.
Foi example, heie aie the complete denitions foi Austiian
\DeclareBibliographyStrings{%
inherit = {german},
january = {{J\"anner}{J\"an.}},
}
19
Te above examples aie slightly simplied. Real localization les should use the
punctuation and foimauing commands discussed in 4..3 and 3.9 instead of liteial
punctuation. Heie is an exceipt fiom a ieal localization le
bibliography = {{Bibliography}{Bibliography}},
shorthands = {{List of Abbreviations}{Abbreviations}},
editor = {{editor}{ed\adddot}},
editors = {{editors}{eds\adddot}},
byeditor = {{edited by}{ed\adddotspace by}},
mathesis = {{Master's thesis}{MA\addabbrvspace thesis}},
Note the handling of abbieviation dots, the spacing in abbieviated expiessions, and
the capitalization in the example above. All expiessions should be capitalized as
they usually aie when used in the middle of a sentence. Te biblatex package will
automatically capitalize the ist woid when iequiied at the beginning of a sentence,
see \DeclareCapitalPunctuation in 4.. foi details. Expiessions intended foi use
in headings aie special. Tey should be capitalized in a way that is suitable foi titling
and should not be abbieviated (but they may have a shoit foim).
\InheritBibliographyStrings{language}
Tis command is only available in lbx les. lt copies the localization stiings foi
language to the cuiient language, as specied by the name of the lbx le.
\DeclareBibliographyExtras{code}
Tis command is only available in lbx les. lt is used to adapt language specic
featuies such as the date foimat and oidinals. Te code, which may be aibitiaiy
LaTeX code, will usually consist of iedenitions of the foimauing commands fiom
4.10.2.
\UndeclareBibliographyExtras{code}
Tis command is only available in lbx les. lt is used to iestoie any foimauing
commands modied with \DeclareBibliographyExtras. lf a iedened command is
included in 4.10.2, theie is no need to iestoie its pievious denition since these
commands aie localized by all language modules anyway.
\InheritBibliographyExtras{language}
Tis command is only available in lbx les. lt copies the bibliogiaphy extias foi
language to the cuiient language, as specied by the name of the lbx le.
\DeclareHyphenationExceptions{text}
Tis command coiiesponds to \DefineHyphenationExceptions fiom 3.8. Te diei-
ence is that it is only available in lbx les and that the language aigument is omiued.
Te hyphenation exceptions will aect the language of the lbx le cuiiently being
piocessed.
19
\DeclareRedundantLanguages{language, language, }{langid, langid, }
Tis command piovides the language mappings iequiied by the clearlang option
fiom 3.1.2.1. Te language is the stiing given in the language eld (without
the optional lang piex), langid is babel/polyglossias language identiei, as
given in the optional aigument of \usepackage when loading babel oi the aigument
of \setdefaultlanguage oi \setotherlanguages when using polyglossia. Tis
command may be used in lbx les oi in the document pieamble. Heie aie some
examples
\DeclareRedundantLanguages{french}{french}
\DeclareRedundantLanguages{german}{german,ngerman,austrian,naustrian}
\DeclareRedundantLanguages{english,american}{english,american,british,
canadian,australian,newzealand,USenglish,UKenglish}
Note that this featuie needs to be enabled globally with the clearlang option fiom
3.1.2.1. lf it is disabled, all mappings will be ignoied. lf the langid paiametei is
blank, biblatex will cleai the mappings foi the coiiesponding language, i. e., the
featuie will be disabled foi this language only.
\DeclareLanguageMapping{language}{le}
Tis command maps a babel/polyglossia language identiei to an lbx le. Te
language must be a language name known to the babel/polyglossia package,
i. e., one of the identieis listed in table 2. Te le aigument is the name of an
alteinative lbx le without the .lbx sux. Declaiing the same mapping moie than
once is possible. Subsequent declaiations will simply oveiwiite any pievious ones.
Tis command may only be used in the pieamble. See 4.11.8 foi fuithei details.
\NewBibliographyString{key}
Tis command, which may be used in the pieamble (including cbx and bbx
les) as well as in lbx les, declaies new localization stiings, i. e., it initializes
a new key to be used in the denitions of \DefineBibliographyStrings oi
\DeclareBibliographyStrings. Te key aigument may also be a comma-sepa-
iated list of key names. When used in an lbx, the key is initialized only foi the
language specied by the name of the lbx le. Te keys listed in 4.9.2 aie dened
by default.
4.9.2 Localization Keys
Te localization keys in this section aie dened by default and coveied by the
localization les which come with biblatex. Note that these stiings aie only available
in citations, the bibliogiaphy, and the list of shoithands. All expiessions should be
capitalized as they usually aie when used in the middle of a sentence. biblatex will
capitalize them automatically at the beginning of a sentence. Te only exceptions to
these iules aie the thiee stiings intended foi use in headings.
4.9.2.1 Headings
Te following stiings aie special because they aie intended foi use in headings and
made available globally via macios. Foi this ieason, they should be capitalized foi
use in headings and they must not include any local commands which aie pait of
biblatexs authoi inteiface.
198
bibliography Te teim bibliogiaphy, also available as \bibname.
references Te teim iefeiences, also available as \refname.
shorthands Te teim list of shoithands oi list of abbieviations, also available as \losname.
4.9.2.2 Roles, Expressed as Functions
Te following keys iefei to ioles which aie expiessed as a function (editoi, tiansla-
toi) iathei than as an action (edited by, tianslated by).
editor Te teim editoi, iefeiiing to the main editoi. Tis is the most geneiic editoiial iole.
editors Te pluial foim of editor.
compiler Te teim compilei, iefeiiing to an editoi whose task is to compile a woik.
compilers Te pluial foim of compiler.
founder Te teim foundei, iefeiiing to a founding editoi.
founders Te pluial foim of founder.
continuator An expiession like continuatoi, continuation, oi continued, iefeiiing to a past
editoi who continued the woik of the founding editoi but was subsequently
ieplaced by the cuiient editoi.
continuators Te pluial foim of continuator.
redactor Te teim iedactoi, iefeiiing to a secondaiy editoi.
redactors Te pluial foim of redactor.
reviser Te teim ievisei, iefeiiing to a secondaiy editoi.
revisers Te pluial foim of reviser.
collaborator A teim like collaboiatoi, collaboiation, coopeiatoi, oi coopeiation, iefeiiing to
a secondaiy editoi.
collaborators Te pluial foim of collaborator.
translator Te teim tianslatoi.
translators Te pluial foim of translator.
commentator Te teim commentatoi, iefeiiing to the authoi of a commentaiy to a woik.
commentators Te pluial foim of commentators.
annotator Te teim annotatoi, iefeiiing to the authoi of annotations to a woik.
annotators Te pluial foim of annotators.
4.9.2.3 Concatenated Editor Roles, Expressed as Functions
Te following keys aie similai in function to editor, translator, etc. Tey aie used
to indicate additional ioles of the editoi, e. g., editoi and tianslatoi, editoi and
foiewoid.
editortr Used if editor/translator aie identical.
editorstr Te pluial foim of editortr.
editorco Used if editor/commentator aie identical.
editorsco Te pluial foim of editorco.
editoran Used if editor/annotator aie identical.
199
editorsan Te pluial foim of editoran.
editorin Used if editor/introduction aie identical.
editorsin Te pluial foim of editorin.
editorfo Used if editor/foreword aie identical.
editorsfo Te pluial foim of editorfo.
editoraf Used if editor/aftword aie identical.
editorsaf Te pluial foim of editoraf.
Keys foi editor/translator/role combinations
editortrco Used if editor/translator/commentator aie identical.
editorstrco Te pluial foim of editortrco.
editortran Used if editor/translator/annotator aie identical.
editorstran Te pluial foim of editortran.
editortrin Used if editor/translator/introduction aie identical.
editorstrin Te pluial foim of editortrin.
editortrfo Used if editor/translator/foreword aie identical.
editorstrfo Te pluial foim of editortrfo.
editortraf Used if editor/translator/aftword aie identical.
editorstraf Te pluial foim of editortraf.
Keys foi editor/commentator/role combinations
editorcoin Used if editor/commentator/introduction aie identical.
editorscoin Te pluial foim of editorcoin.
editorcofo Used if editor/commentator/foreword aie identical.
editorscofo Te pluial foim of editorcofo.
editorcoaf Used if editor/commentator/aftword aie identical.
editorscoaf Te pluial foim of editorcoaf.
Keys foi editor/annotator/role combinations
editoranin Used if editor/annotator/introduction aie identical.
editorsanin Te pluial foim of editoranin.
editoranfo Used if editor/annotator/foreword aie identical.
editorsanfo Te pluial foim of editoranfo.
editoranaf Used if editor/annotator/aftword aie identical.
editorsanaf Te pluial foim of editoranaf.
Keys foi editor/translator/commentator/role combinations
editortrcoin Used if editor/translator/commentator/introduction aie identical.
editorstrcoin Te pluial foim of editortrcoin.
editortrcofo Used if editor/translator/commentator/foreword aie identical.
200
editorstrcofo Te pluial foim of editortrcofo.
editortrcoaf Used if editor/translator/commentator/aftword aie identical.
editorstrcoaf Te pluial foim of editortrcoaf.
Keys foi editor/annotator/commentator/role combinations
editortranin Used if editor/annotator/commentator/introduction aie identical.
editorstranin Te pluial foim of editortranin.
editortranfo Used if editor/annotator/commentator/foreword aie identical.
editorstranfo Te pluial foim of editortranfo.
editortranaf Used if editor/annotator/commentator/aftword aie identical.
editorstranaf Te pluial foim of editortranaf.
4.9.2.4 Concatenated Translator Roles, Expressed as Functions
Te following keys aie similai in function to translator. Tey aie used to indicate
additional ioles of the tianslatoi, e. g., tianslatoi and commentatoi, tianslatoi and
intioduction.
translatorco Used if translator/commentator aie identical.
translatorsco Te pluial foim of translatorco.
translatoran Used if translator/annotator aie identical.
translatorsan Te pluial foim of translatoran.
translatorin Used if translator/introduction aie identical.
translatorsin Te pluial foim of translatorin.
translatorfo Used if translator/foreword aie identical.
translatorsfo Te pluial foim of translatorfo.
translatoraf Used if translator/aftword aie identical.
translatorsaf Te pluial foim of translatoraf.
Keys foi translator/commentator/role combinations
translatorcoin Used if translator/commentator/introduction aie identical.
translatorscoin Te pluial foim of translatorcoin.
translatorcofo Used if translator/commentator/foreword aie identical.
translatorscofo Te pluial foim of translatorcofo.
translatorcoaf Used if translator/commentator/aftword aie identical.
translatorscoaf Te pluial foim of translatorcoaf.
Keys foi translator/annotator/role combinations
translatoranin Used if translator/annotator/introduction aie identical.
translatorsanin Te pluial foim of translatoranin.
translatoranfo Used if translator/annotator/foreword aie identical.
translatorsanfo Te pluial foim of translatoranfo.
translatoranaf Used if translator/annotator/aftword aie identical.
translatorsanaf Te pluial foim of translatoranaf.
201
4.9.2.5 Roles, Expressed as Actions
Te following keys iefei to ioles which aie expiessed as an action (edited by,
tianslated by) iathei than as a function (editoi, tianslatoi).
byauthor Te expiession [cieated] by name.
byeditor Te expiession edited by name.
bycompiler Te expiession compiled by name.
byfounder Te expiession founded by name.
bycontinuator Te expiession continued by name.
byredactor Te expiession iedacted by name.
byreviser Te expiession ievised by name.
byreviewer Te expiession ieviewed by name.
bycollaborator An expiession like in collaboiation with name oi in coopeiation with name.
bytranslator Te expiession tianslated by name oi tianslated fiom language by name.
bycommentator Te expiession commented by name.
byannotator Te expiession annotated by name.
4.9.2.6 Concatenated Editor Roles, Expressed as Actions
Te following keys aie similai in function to byeditor, bytranslator, etc. Tey aie
used to indicate additional ioles of the editoi, e. g., edited and tianslated by, edited
and fuinished with an intioduction by, edited, with a foiewoid, by.
byeditortr Used if editor/translator aie identical.
byeditorco Used if editor/commentator aie identical.
byeditoran Used if editor/annotator aie identical.
byeditorin Used if editor/introduction aie identical.
byeditorfo Used if editor/foreword aie identical.
byeditoraf Used if editor/aftword aie identical.
Keys foi editor/translator/role combinations
byeditortrco Used if editor/translator/commentator aie identical.
byeditortran Used if editor/translator/annotator aie identical.
byeditortrin Used if editor/translator/introduction aie identical.
byeditortrfo Used if editor/translator/foreword aie identical.
byeditortraf Used if editor/translator/aftword aie identical.
Keys foi editor/commentator/role combinations
byeditorcoin Used if editor/commentator/introduction aie identical.
byeditorcofo Used if editor/commentator/foreword aie identical.
byeditorcoaf Used if editor/commentator/aftword aie identical.
Keys foi editor/annotator/role combinations
202
byeditoranin Used if editor/annotator/introduction aie identical.
byeditoranfo Used if editor/annotator/foreword aie identical.
byeditoranaf Used if editor/annotator/aftword aie identical.
Keys foi editor/translator/commentator/role combinations
byeditortrcoin Used if editor/translator/commentator/introduction aie identical.
byeditortrcofo Used if editor/translator/commentator/foreword aie identical.
byeditortrcoaf Used if editor/translator/commentator/aftword aie identical.
Keys foi editor/translator/annotator/role combinations
byeditortranin Used if editor/annotator/commentator/introduction aie identical.
byeditortranfo Used if editor/annotator/commentator/foreword aie identical.
byeditortranaf Used if editor/annotator/commentator/aftword aie identical.
4.9.2.7 Concatenated Translator Roles, Expressed as Actions
Te following keys aie similai in function to bytranslator. Tey aie used to indicate
additional ioles of the tianslatoi, e. g., tianslated and commented by, tianslated
and fuinished with an intioduction by, tianslated, with a foiewoid, by.
bytranslatorco Used if translator/commentator aie identical.
bytranslatoran Used if translator/annotator aie identical.
bytranslatorin Used if translator/introduction aie identical.
bytranslatorfo Used if translator/foreword aie identical.
bytranslatoraf Used if translator/aftword aie identical.
Keys foi translator/commentator/role combinations
bytranslatorcoin Used if translator/commentator/introduction aie identical.
bytranslatorcofo Used if translator/commentator/foreword aie identical.
bytranslatorcoaf Used if translator/commentator/aftword aie identical.
Keys foi translator/annotator/role combinations
bytranslatoranin Used if translator/annotator/introduction aie identical.
bytranslatoranfo Used if translator/annotator/foreword aie identical.
bytranslatoranaf Used if translator/annotator/aftword aie identical.
4.9.2.8 Roles, Expressed as Objects
Roles which aie ielated to supplementaiy mateiial may also be expiessed as objects
(with a commentaiy by) iathei than as functions (commentatoi) oi as actions
(commented by).
withcommentator Te expiession with a commentaiy by name.
withannotator Te expiession with annotations by name.
withintroduction Te expiession with an intioduction by name.
withforeword Te expiession with a foiewoid by name.
withaferword Te expiession with an afeiwoid by name.
203
4.9.2.9 Supplementary Material
commentary Te teim commentaiy.
annotations Te teim annotations.
introduction Te teim intioduction.
foreword Te teim foiewoid.
aferword Te teim afeiwoid.
4.9.2.10 Publication Details
volume Te teim volume, iefeiiing to a book.
volumes Te pluial foim of volume.
involumes Te teim in, as used in expiessions like in number of volumes volumes.
jourvol Te teim volume, iefeiiing to a jouinal.
jourser Te teim seiies, iefeiiing to a jouinal.
book Te teim book, iefeiiing to a document division.
part Te teim pait, iefeiiing to a pait of a book oi a peiiodical.
issue Te teim issue, iefeiiing to a peiiodical.
newseries Te expiession new seiies, iefeiiing to a jouinal.
oldseries Te expiession old seiies, iefeiiing to a jouinal.
edition Te teim edition.
in Te teim in, iefeiiing to the title of a woik published as pait of anothei one, e. g.,
title of article in title of journal.
inseries Te teim in, as used in expiessions like volume number in name of series.
ofseries Te teim of, as used in expiessions like volume number of name of series.
number Te teim numbei, iefeiiing to an issue of a jouinal.
chapter Te teim chaptei, iefeiiing to a chaptei in a book.
version Te teim veision, iefeiiing to a ievision numbei.
reprint Te teim iepiint.
reprintof Te expiession iepiint of title.
reprintas Te expiession iepiinted as title.
reprintfrom Te expiession iepiinted fiom title.
translationof Te expiession tianslation of title.
translationas Te expiession tianslated as title.
translationfrom Te expiession tianslated fiom [the] language.
reviewof Te expiession ieview of title.
origpubas Te expiession oiiginally published as title.
origpubin Te expiession oiiginally published in year.
astitle Te teim as, as used in expiessions like published by publisher as title.
bypublisher Te teim by, as used in expiessions like published by publisher.
204
4.9.2.11 Publication State
inpreparation Te expiession in piepaiation (the manusciipt is being piepaied foi publication).
submited Te expiession submiued (the manusciipt has been submiued to a jouinal oi
confeience).
forthcoming Te expiession foithcoming (the manusciipt has been accepted by a piess oi
jouinal).
inpress Te expiession in piess (the manusciipt is fully copyedited and out of the authois
hands, it is in the nal stages of the pioduction piocess).
prepublished Te expiession pie-published (the manusciipt is published in a pieliminaiy foim oi
location, such as online veision in advance of piint publication).
4.9.2.12 Pagination
page Te teim page.
pages Te pluial foim of page.
column Te teim column, iefeiiing to a column on a page.
columns Te pluial foim of column.
section Te teim section, iefeiiing to a document division (usually abbieviated as ).
sections Te pluial foim of section (usually abbieviated as ).
paragraph Te teim paiagiaph (i. e., a block of text, not to be confused with section).
paragraphs Te pluial foim of paragraph.
verse Te teim veise as used when iefeiiing to a woik which is cited by veise numbeis.
verses Te pluial foim of verse.
line Te teim line as used when iefeiiing to a woik which is cited by line numbeis.
lines Te pluial foim of line.
4.9.2.13 Types
Te following keys aie typically used in the type eld of @thesis, @report, @misc,
and othei entiies
mathesis An expiession equivalent to the teim Masteis thesis.
phdthesis Te teim PhD thesis, PhD disseitation, doctoial thesis, etc.
candthesis An expiession equivalent to the teim Candidate thesis. Used foi Candidate
degiees that have no cleai equivalent to the Masteis oi doctoial level.
techreport Te teim technical iepoit.
resreport Te teim ieseaich iepoit.
sofware Te teim computei sofwaie.
datacd Te teim data cu oi cuvo.
audiocd Te teim audio cu.
20
4.9.2.14 Miscellaneous
nodate Te teim to use in place of a date when theie is no date foi an entiy e. g., n.d.
and Te teim and, as used in a list of authois oi editois, foi example.
andothers Te expiession and otheis oi et alii, used to maik the tiuncation of a name list.
andmore Like andothers but used to maik the tiuncation of a liteial list.
4.9.2.15 Labels
Te following stiings aie intended foi use as labels, e. g., Addiess url oi Abstiact
abstract.
url Te teim addiess in the sense of an inteinet addiess.
urlfrom An expiession like available fiom url oi available at url.
urlseen An expiession like accessed on date, ietiieved on date, visited on date,
iefeiiing to the access date of an online iesouice.
file Te teim le.
library Te teim libiaiy.
abstract Te teim abstiact.
annotation Te teim annotations.
4.9.2.16 Citations
Tiaditional scholaily expiessions used in citations
idem Te teim equivalent to the Latin idem (the same [peison]).
idemsf Te feminine singulai foim of idem.
idemsm Te masculine singulai foim of idem.
idemsn Te neutei singulai foim of idem.
idempf Te feminine pluial foim of idem.
idempm Te masculine pluial foim of idem.
idempn Te neutei pluial foim of idem.
idempp Te pluial foim of idem suitable foi a mixed gendei list of names.
ibidem Te teim equivalent to the Latin ibidem (in the same place).
opcit Te teim equivalent to the Latin teim opeie citato ([in] the woik [alieady] cited).
loccit Te teim equivalent to the Latin teim loco citato ([at] the place [alieady] cited).
confer Te teim equivalent to the Latin confei (compaie).
sequens Te teim equivalent to the Latin sequens ([and] the following [page]), as used to
indicate a iange of two pages when only the staiting page is piovided (e. g., 2 sq.
oi 2 f. instead of 22).
sequentes Te teim equivalent to the Latin sequentes ([and] the following [pages]), as used
to indicate an open-ended iange of pages when only the staiting page is piovided
(e. g., 2 sqq. oi 2 .).
passim Te teim equivalent to the Latin passim (thioughout, heie and theie,
scaueiedly).
20
Othei expiessions fiequently used in citations
see Te teim see.
seealso Te expiession see also.
seenote An expiession like see note footnote oi as in footnote, used to iefei to a
pievious footnote in a citation.
backrefpage An expiession like see page page oi cited on page page, used to intioduce
back iefeiences in the bibliogiaphy.
backrefpages Te pluial foim of backrefpage, e. g., see pages pages oi cited on pages pages.
quotedin An expiession like quoted in citation, used when quoting a passage which was
alieady a quotation in the cited woik.
citedas An expiession like hencefoith cited as shorthand, used to intioduce a shoithand
in a citation.
thiscite Te expiession used in some veibose citation styles to dieientiate between the
page iange of the cited item (typically an aiticle in a jouinal, collection, oi
confeience pioceedings) and the page numbei the citation iefeis to. Foi example
Authoi, Title, in Book, pp. 41, thiscite p. 2.
4.9.2.17 Month Names
january Te name Januaiy.
february Te name Febiuaiy.
march Te name Maich.
april Te name Apiil.
may Te name May.
june Te name June.
july Te name July.
august Te name August.
september Te name Septembei.
october Te name Octobei.
november Te name Novembei.
december Te name Decembei.
4.9.2.18 Language Names
langamerican Te language Ameiican oi Ameiican English.
langbrazilian Te language Biazilian oi Biazilian Poituguese.
langcatalan Te language Catalan.
langcroatian Te language Cioatian.
langczech Te language Czech.
langdanish Te language Danish.
langdutch Te language Dutch.
langenglish Te language English.
langfinnish Te language Finnish.
20
langfrench Te language Fiench.
langgerman Te language Geiman.
langgreek Te language Gieek.
langitalian Te language ltalian.
langlatin Te language Latin.
langnorwegian Te language Noiwegian.
langpolish Te language Polish.
langportuguese Te language Poituguese.
langrussian Te language Russian.
langspanish Te language Spanish.
langswedish Te language Swedish.
Te following stiings aie intended foi use in phiases like tianslated fiom [the]
English by translator
fromamerican Te expiession fiom [the] Ameiican oi fiom [the] Ameiican English.
frombrazilian Te expiession fiom [the] Biazilian oi fiom [the] Biazilian Poituguese.
fromcatalan Te expiession fiom [the] Catalan.
fromczech Te expiession fiom [the] Czech.
fromcroatian Te expiession fiom [the] Cioatian.
fromdanish Te expiession fiom [the] Danish.
fromdutch Te expiession fiom [the] Dutch.
fromenglish Te expiession fiom [the] English.
fromfinnish Te expiession fiom [the] Finnish.
fromfrench Te expiession fiom [the] Fiench.
fromgerman Te expiession fiom [the] Geiman.
fromgreek Te expiession fiom [the] Gieek.
fromitalian Te expiession fiom [the] ltalian.
fromlatin Te expiession fiom [the] Latin.
fromnorwegian Te expiession fiom [the] Noiwegian.
frompolish Te expiession fiom [the] Polish.
fromportuguese Te expiession fiom [the] Poituguese.
fromrussian Te expiession fiom [the] Russian.
fromspanish Te expiession fiom [the] Spanish.
fromswedish Te expiession fiom [the] Swedish.
4.9.2.19 Country Names
Countiy names aie localized by using the stiing country plus the iso-31 countiy
code as the key. Te shoit veision of the tianslation should be the iso-31 countiy
code. Note that only a small numbei of countiy names is dened by default, mainly
to illustiate this scheme. Tese keys aie used in the location list of @patent entiies
but they may be useful foi othei puiposes as well.
208
countryde Te name Geimany, abbieviated as DE.
countryeu Te name Euiopean Union, abbieviated as EU.
countryep Similai to countryeu but abbieviated as EP. Tis is intended foi patent entiies.
countryfr Te name Fiance, abbieviated as FR.
countryuk Te name United Kingdom, abbieviated (accoiding to iso-31) as GB.
countryus Te name United States of Ameiica, abbieviated as US.
4.9.2.20 Patents and Patent Requests
Stiings ielated to patents aie localized by using the teim patent plus the iso-31
countiy code as the key. Note that only a small numbei of patent keys is dened
by default, mainly to illustiate this scheme. Tese keys aie used in the type eld of
@patent entiies.
patent Te geneiic teim patent.
patentde Te expiession Geiman patent.
patenteu Te expiession Euiopean patent.
patentfr Te expiession Fiench patent.
patentuk Te expiession Biitish patent.
patentus Te expiession U.S. patent.
Patent iequests aie handled in a similai way, using the stiing patreq as the base
name of the key
patreq Te geneiic teim patent iequest.
patreqde Te expiession Geiman patent iequest.
patreqeu Te expiession Euiopean patent iequest.
patreqfr Te expiession Fiench patent iequest.
patrequk Te expiession Biitish patent iequest.
patrequs Te expiession U.S. patent iequest.
4.10 Formating Commands
Tis section coiiesponds to 3.9 in the usei pait of this manual. Bibliogiaphy
and citation styles should incoipoiate the commands and facilities discussed in this
section in oidei to piovide a ceitain degiee of high-level conguiability. Useis should
not be foiced to wiite new styles if all they want to do is modify the spacing in the
bibliogiaphy oi the punctuation used in citations.
4.10.1 User-definable Commands and Hooks
Tis section coiiesponds to 3.9.1 in the usei pait of the manual. Te commands
and hooks discussed heie aie meant to be iedened by useis, but bibliogiaphy and
citation styles may piovide a default denition which is dieient fiom the package
default. Tese commands aie dened in biblatex.def. Note that all commands
staiting with \mk take one mandatoiy aigument.
209
\bibnamedelima Tis delimitei contiols the spacing between the elements which make up a name pait. Biber only
lt is inseited automatically by the backend afei the ist name element if the element
is less than thiee chaiacteis long and befoie the last element. Te default denition
is \addhighpenspace, i. e., a space penalized by the value of the highnamepenalty
countei ( 3.9.3). Please iefei to 3.12.4 foi fuithei details.
\bibnamedelimb Tis delimitei contiols the spacing between the elements which make up a name Biber only
pait. lt is inseited automatically by the backend between all name elements wheie
\bibnamedelima does not apply. Te default denition is \addlowpenspace, i. e., a
space penalized by the value of the lownamepenalty countei ( 3.9.3). Please iefei to
3.12.4 foi fuithei details.
\bibnamedelimc Tis delimitei contiols the spacing between name paits. Te default name foi-
mats use it between the name piex and the last name if useprefix=true. Te
default denition is \addhighpenspace, i. e., a space penalized by the value of the
highnamepenalty countei ( 3.9.3). Please iefei to 3.12.4 foi fuithei details.
\bibnamedelimd Tis delimitei contiols the spacing between name paits. Te default name foimats
use it between all name paits wheie \bibnamedelimc does not apply. Te default de-
nition is \addlowpenspace, i. e., a space penalized by the value of the lownamepenalty
countei ( 3.9.3). Please iefei to 3.12.4 foi fuithei details.
\bibnamedelimi Tis delimitei ieplaces \bibnamedelima/b afei initials. Note that this only applies Biber only
to initials given as such in the bib le, not to the initials automatically geneiated by
biblatex which use theii own set of delimiteis.
\bibinitperiod Te punctuation inseited automatically by the backend afei all initials unless Biber only
\bibinithyphendelim applies. Te default denition is a peiiod (\adddot). Please
iefei to 3.12.4 foi fuithei details.
\bibinitdelim Te spacing inseited automatically by the backend between multiple initials unless Biber only
\bibinithyphendelim applies. Te default denition is an unbieakable inteiwoid
space. Please iefei to 3.12.4 foi fuithei details.
\bibinithyphendelim Te punctuation inseited automatically by the backend between the initials of Biber only
hyphenated name paits, ieplacing \bibinitperiod and \bibinitdelim. Te default
denition is a peiiod followed by an unbieakable hyphen. Please iefei to 3.12.4 foi
fuithei details.
\bibindexnamedelima Replaces \bibnamedelima in the index.
\bibindexnamedelimb Replaces \bibnamedelimb in the index.
\bibindexnamedelimc Replaces \bibnamedelimc in the index.
\bibindexnamedelimd Replaces \bibnamedelimd in the index.
\bibindexnamedelimi Replaces \bibnamedelimi in the index.
\bibindexinitperiod Replaces \bibinitperiod in the index.
\bibindexinitdelim Replaces \bibinitdelim in the index.
\bibindexinithyphendelim Replaces \bibinithyphendelim in the index.
\revsdnamepunct Te punctuation to be piinted between the ist and last name paits when a name
is ieveised. Te default is a comma. Tis command should be incoipoiated in
foimauing diiectives foi name lists. Please iefei to 3.12.4 foi fuithei details.
210
\bibnamedash Te dash to be used as a ieplacement foi iecuiient authois oi editois in the biblio-
giaphy. Te default is an em oi an en dash, depending on the indentation of the
list of iefeiences.
\labelnamepunct Te sepaiatoi to be piinted afei the name used foi alphabetizing in the bibliogiaphy
(author oi editor, if the author eld is undened). Use this sepaiatoi instead of
\newunitpunct at this location. Te default is \newunitpunct, i. e., it is not handled
dieiently fiom iegulai unit punctuation but peimits convenient ieconguiation.
\subtitlepunct Te sepaiatoi to be piinted between the elds title and subtitle, booktitle and
booksubtitle, as well as maintitle and mainsubtitle. Use this sepaiatoi instead of
\newunitpunct at this location. Te default is \newunitpunct, i. e., it is not handled
dieiently fiom iegulai unit punctuation but peimits convenient ieconguiation.
\intitlepunct Te sepaiatoi to be piinted between the woid in and the following title in entiy
types such as @article, @inbook, @incollection, etc. Use this sepaiatoi instead of
\newunitpunct at this location. Te default denition is a colon plus an inteiwoid
space.
\bibpagespunct Te sepaiatoi to be piinted befoie the pages eld. Use this sepaiatoi instead of
\newunitpunct at this location. Te default is a comma plus an inteiwoid space.
\bibpagerefpunct Te sepaiatoi to be piinted befoie the pageref eld. Use this sepaiatoi instead of
\newunitpunct at this location. Te default is an inteiwoid space.
\multinamedelim Te delimitei to be piinted between multiple items in a name list like author oi
editor if theie aie moie than two names in the list. lf theie aie only two names in
the list, use the \finalnamedelim instead. Tis command should be incoipoiated in
all foimauing diiectives foi name lists.
\finalnamedelim Use this command instead of \multinamedelim befoie the nal name in a name list.
\revsdnamedelim Te extia delimitei to be piinted afei the ist name in a name list (in addition to
\finalnamedelim) if the ist name is ieveised. Tis command should be incoipoiated
in all foimauing diiectives foi name lists.
\andothersdelim Te delimitei to be piinted befoie the localization stiing andothers if a name list
like author oi editor is tiuncated. Tis command should be incoipoiated in all
foimauing diiectives foi name lists.
\multilistdelim Te delimitei to be piinted between multiple items in a liteial list like publisher oi
location if theie aie moie than two names in the list. lf theie aie only two items in
the list, use the \finallistdelim instead. Tis command should be incoipoiated in
all foimauing diiectives foi liteial lists.
\finallistdelim Use this command instead of \multilistdelim befoie the nal item in a liteial list.
\andmoredelim Te delimitei to be piinted befoie the localization stiing andmore if a liteial list like
publisher oi location is tiuncated. Tis command should be incoipoiated in all
foimauing diiectives foi liteial lists.
\multicitedelim Te delimitei piinted between citations if multiple entiy keys aie passed to a single ci-
tation command. Tis command should be incoipoiated in the denition of all citation
commands, foi example in the sepcode aigument passed to \DeclareCiteCommand.
See 4.3.1 foi details.
\supercitedelim Similai to \multinamedelim, but intended foi the \supercite command only.
211
\compcitedelim Similai to \multicitedelim, but intended foi citation styles that compiess multiple
citations, i. e., piint the authoi only once if subsequent citations shaie the same
authoi etc.
\textcitedelim Similai to \multicitedelim, but intended foi \textcite and ielated commands
( 3..2).
\nametitledelim Te delimitei to be piinted between the authoi/editoi and the title. Tis command
should be incoipoiated in the denition of all citation commands of authoi-title and
some veibose citation styles.
\nameyeardelim Te delimitei to be piinted between the authoi/editoi and the yeai. Tis command
should be incoipoiated in the denition of all citation commands of authoi-yeai
citation styles.
\volcitedelim Te delimitei to be piinted between the volume poition and the page/text poition of
\volcite and ielated commands ( 3..).
\prenotedelim Te delimitei to be piinted afei the prenote aigument of a citation command.
\postnotedelim Te delimitei to be piinted afei the postnote aigument of a citation command.
\mkbibnamelast{text}Foimauing hook foi the last name, to be used in all foimauing diiectives foi
name lists.
\mkbibnamefirst{text}Similai to \mkbibnamelast, but intended foi the ist name.
\mkbibnameprefix{text}Similai to \mkbibnamelast, but intended foi the name piex.
\mkbibnameaffix{text}Similai to \mkbibnamelast, but intended foi the name ax.
\relatedpunct Te sepaiatoi between the ielatedtype bibliogiaphy localization stiing and the data
fiom the ist ielated entiy.
\relateddelim Te sepaiatoi between the data of multiple ielated entiies. Te default denition is a
linebieak.
4.10.2 Language-specific Commands
Tis section coiiesponds to 3.9.2 in the usei pait of the manual. Te commands
discussed heie aie usually handled by the localization modules, but may also be
iedened by useis on a pei-language basis. Note that all commands staiting with
\mk take one oi moie mandatoiy aiguments.
\bibrangedash Te language specic iange dash.
\bibdatedash Te language specic date iange dash.
\mkbibdatelong Takes the names of thiee eld as aiguments which coiiespond to thiee date compo-
nents (in the oidei yeai/month/day) and uses theii values to piint the date in the
language specic long date foimat.
\mkbibdateshort Similai to \mkbibdatelong but using the language specic shoit date foimat.
\finalandcomma Piints the comma to be inseited befoie the nal and in an enumeiation, if applicable
in the iespective language.
212
\finalandsemicolon Piints the semicolon to be inseited befoie the nal and in an enumeiation, if
applicable in the iespective language.
\mkbibordinal{integer}
Takes an integei aigument and piints it as an oidinal numbei.
\mkbibmascord{integer}
Similai to \mkbibordinal, but piints a masculine oidinal, if applicable in the iespec-
tive language.
\mkbibfemord{integer}
Similai to \mkbibordinal, but piints a feminine oidinal, if applicable in the iespective
language.
\mkbibneutord{integer}
Similai to \mkbibordinal, but piints a neutei oidinal, if applicable in the iespective
language.
\mkbibordedition{integer}
Similai to \mkbibordinal, but intended foi use with the teim edition.
\mkbibordseries{integer}
Similai to \mkbibordinal, but intended foi use with the teim seiies.
4.10.3 User-definable Lengths and Counters
Tis section coiiesponds to 3.9.3 in the usei pait of the manual. Te length iegisteis
and counteis discussed heie aie meant to be alteied by useis. Bibliogiaphy and
citation styles should incoipoiate them wheie applicable and may also piovide a
default seuing which is dieient fiom the package default.
\bibhang Te hanging indentation of the bibliogiaphy, if applicable. Tis length is initialized
to \parindent at load-time. lf \parindent is zeio length foi some ieason, \bibhang
will default to 1em.
\biblabelsep Te hoiizontal space between entiies and theii coiiesponding labels. Bibliogia-
phy styles which use list enviionments and piint a label should set \labelsep to
\biblabelsep in the denition of the iespective enviionment.
\bibitemsep Te veitical space between the individual entiies in the bibliogiaphy. Bibliogiaphy
styles using list enviionments should set \itemsep to \bibitemsep in the denition
of the iespective enviionment.
\bibparsep Te veitical space between paiagiaphs within an entiy in the bibliogiaphy. Bib-
liogiaphy styles using list enviionments should set \parsep to \bibparsep in the
denition of the iespective enviionment.
abbrvpenalty Te penalty used by \addabbrvspace, \addabthinspace, and \adddotspace, see
4..4 foi details.
lownamepenalty Te penalty used by \addlowpenspace and \addlpthinspace, see 4..4 foi details.
213
highnamepenalty Te penalty used by \addhighpenspace and \addhpthinspace, see 4..4 foi details.
biburlnumpenalty lf this countei is set to a value gieatei than zeio, biblatex will peimit linebieaks
afei numbeis in all stiings foimaued with the \url command fiom the url package.
Tis will aect uvis and uois in the bibliogiaphy. Te bieakpoints will be penalized
by the value of this countei. lf uvis and/oi uois in the bibliogiaphy iun into the
maigin, tiy seuing this countei to a value gieatei than zeio but less than 10000 (you
noimally want to use a high value like 9000). Seuing the countei to zeio disables
this featuie. Tis is the default seuing.
biburlucpenalty Similai to biburlnumpenalty, except that it will add a bieakpoint afei all uppeicase
leueis.
biburllcpenalty Similai to biburlnumpenalty, except that it will add a bieakpoint afei all loweicase
leueis.
4.10.4 Auxiliary Commands and Hooks
Te auxiliaiy commands and facilities in this section seive a special puipose. Some
of them aie used by biblatex to communicate with bibliogiaphy and citation styles
in some way oi othei.
\mkbibemph{text}
A geneiic command which piints its aigument in italics. Tis is a simple wiappei
aiound the standaid \emph command. Apait fiom that, it uses \setpunctfont fiom
4..1 to adapt the font of the next punctuation maik following the text set in italics.
lf the punctfont package option is disabled, this command behaves like \emph.
\mkbibbold{text}
Similai in concept to \mkbibemph but piints bold text. Tis is a simple wiappei
aiound the standaid \textbf command which incoipoiates \setpunctfont. lf the
punctfont package option is disabled, this command behaves like \textbf.
\mkbibquote{text}
A geneiic command which wiaps its aigument in quotation maiks. lf the csquotes
package is loaded, this command uses the language sensitive quotation maiks pio-
vided by that package. \mkbibquote also suppoits Ameiican-style punctuation, see
\DeclareQuotePunctuation in 4.. foi details.
\mkbibparens{text}
A geneiic command which wiaps its aigument in paientheses. Tis command is
nestable. When nested, it will alteinate between paientheses and biackets, depending
on the nesting level.
\mkbibbrackets{text}
A geneiic command which wiaps its aigument in squaie biackets. Tis command is
nestable. When nested, it will alteinate between biackets and paientheses, depending
on the nesting level.
\bibopenparentext\bibcloseparen
Alteinative syntax foi \mkbibparens. Tis will also woik acioss gioups. Note that
\bibopenparen and \bibcloseparen must always be balanced.
214
\bibopenbrackettext\bibclosebracket
Alteinative syntax foi \mkbibbrackets. Tis will also woik acioss gioups. Note that
\bibopenbracket and \bibclosebracket must always be balanced.
\mkbibfootnote{text}
Ageneiic command which piints its aigument as a footnote. Tis is a wiappei aiound
the standaid LaTeX \footnote command which iemoves spuiious whitespace pie-
ceding the footnote maik and pievents nested footnotes. By default, \mkbibfootnote
iequests capitalization at the beginning of the note and automatically adds a peiiod
at the end. You may change this behavioi by iedening the \bibfootnotewrapper
macio intioduced below.
\mkbibfootnotetext{text}
Similai to \mkbibfootnote but uses the \footnotetext command.
\mkbibendnote{text}
Similai in concept to \mkbibfootnote except that it piints its aigument as an end-
note. \mkbibendnote iemoves spuiious whitespace pieceding the endnote maik and
pievents nested notes. lt suppoits the \endnote command piovided by the endnotes
package as well as the \pagenote command piovided by the pagenote package and
the memoir class. lf both commands aie available, \endnote takes piecedence. lf
no endnote suppoit is available, \mkbibendnote issues an eiioi and falls back to
\footnote. By default, \mkbibendnote iequests capitalization at the beginning of
the note and automatically adds a peiiod at the end. You may change this behavioi
by iedening the \bibendnotewrapper macio intioduced below.
\mkbibendnotetext{text}
Similai to \mkbibendnote but uses the \endnotetext command. Please note that
as of this wiiting, neithei the pagenote package noi the memoir class piovide a
coiiesponding \pagenotetext command. ln this case, \mkbibendnote will issue an
eiioi and fall back to \footnotetext.
\bibfootnotewrapper{text}
An innei wiappei which encloses the text aigument of \mkbibfootnote and
\mkbibfootnotetext. Foi example, \mkbibfootnote eventually boils down to this
\footnote{\bibfootnotewrapper{text}}
Te wiappei ensuies capitalization at the beginning of the note and adds a peiiod at
the end. Te default denition is
\newcommand{\bibfootnotewrapper}[1]{\bibsentence #1\addperiod}
lf you dont want capitalization at the beginning oi a peiiod at the end of the note,
do not modify \mkbibfootnote but iedene \bibfootnotewrapper instead.
\bibendnotewrapper{text}
Similai in concept to \bibfootnotewrapper but ielated to the \mkbibendnote and
\mkbibendnotetext commands.
21
\mkbibsuperscript{text}
A geneiic command which piints its aigument as supeisciipted text. Tis is a simple
wiappei aiound the standaid LaTeX \textsuperscript command which iemoves
spuiious whitespace and allows hyphenation of the pieceding woid.
\mkbibmonth{integer}
Tis command takes an integei aigument and piints it as a month name. Even
though the output of this command is language specic, its denition is not, hence it
is noimally not iedened in localization modules.
\mkdatezeros{integer}
Tis command stiips leading zeios fiom a numbei oi pieseives them, depending on
the datezeros package option ( 3.1.2.1). lt is intended foi use in the denition of
date foimauing macios.
\stripzeros{integer}
Tis command stiips leading zeios fiom a numbei. lt is intended foi date foimauing
and oidinals.
shorthandwidth A special eld foimauing diiective which is used inteinally by biblatex. When
the bibliogiaphic data is iead fiom the bbl le, biblatex measuies the values of all
shorthand elds and sets the length iegistei \shorthandwidth to the width of the
widest shoithand (see 4.10.). ln oidei to deteimine the coiiect width, the package
consideis two factois the denition of \bibfont and this foimauing diiective. All
styles should adjust this diiective such that it coiiesponds to the foimat used in the
list of shoithands.
labelnumberwidth Similai to shorthandwidth, but iefeiiing to the labelnumber eld and the length
iegistei \labelnumberwidth. Numeiic styles should adjust this diiective such that it
coiiesponds to the foimat used in the bibliogiaphy.
labelalphawidth Similai to shorthandwidth, but iefeiiing to the labelalpha eld and the length
iegistei \labelalphawidth. Alphabetic styles should adjust this diiective such that
it coiiesponds to the foimat used in the bibliogiaphy.
bibhyperref A special foimauing diiective foi use with \printfield and \printtext. Tis diiec-
tive wiaps its aigument in a \bibhyperref command, see 4..4 foi details.
bibhyperlink A special foimauing diiective foi use with \printfield and \printtext. lt wiaps its
aigument in a \bibhyperlink command, see 4..4 foi details. Te name aigument
passed to \bibhyperlink is the value of the entrykey eld.
bibhypertarget A special foimauing diiective foi use with \printfield and \printtext. lt wiaps
its aigument in a \bibhypertarget command, see 4..4 foi details. Te name
aigument passed to \bibhypertarget is the value of the entrykey eld.
volcitepages A special foimauing diiective which contiols the foimat of the page/text poition in
the aigument of citation commands like \volcite.
volcitevolume A special foimauing diiective which contiols the foimat of the volume poition in
the aigument of citation commands like \volcite.
21
date A special foimauing diiective which contiols the foimat of \printdate ( 4.4.1).
Note that the date foimat (long/shoit etc.) is contiolled by the package option date
fiom 3.1.2.1. Tis foimauing diiective only contiols additional foimauing such as
fonts etc.
datelabel Similai to date but contiols the foimat of \printdatelabel.
urldate Similai to date but contiols the foimat of \printurldate.
origdate Similai to date but contiols the foimat of \printorigdate.
eventdate Similai to date but contiols the foimat of \printeventdate.
4.10.5 Auxiliary Lengths, Counters, and Other Features
Te length iegisteis and counteis discussed heie aie used by biblatex to pass
infoimation to bibliogiaphy and citation styles. Tink of them as iead-only iegisteis.
Note that all counteis aie LaTeX counteis. Use \value{counter} to iead out the
cuiient value.
\shorthandwidth Tis length iegistei indicates the width of the widest shorthand. Bibliogiaphy styles
should incoipoiate this length in the denition of the list of shoithands, if applicable.
\labelnumberwidth Tis length iegistei indicates the width of the widest labelnumber. Numeiic biblio-
giaphy styles should incoipoiate this length in the denition of the bibliogiaphy
enviionment.
\labelalphawidth Tis length iegistei indicates the width of the widest labelalpha. Alphabetic bib-
liogiaphy styles should incoipoiate this length in the denition of the bibliogiaphy
enviionment.
maxextraalpha Tis countei holds the highest numbei found in any extraalpha eld.
maxextrayear Tis countei holds the highest numbei found in any extrayear eld.
refsection Tis countei indicates the cuiient refsection enviionment. When queiied in a
bibliogiaphy heading, the countei ietuins the value of the refsection option passed
to \printbibliography.
refsegment Tis countei indicates the cuiient refsegment enviionment. When queiied in a
bibliogiaphy heading, this countei ietuins the value of the refsegment option passed
to \printbibliography.
maxnames Tis countei holds the seuing of the maxnames package option.
minnames Tis countei holds the seuing of the minnames package option.
maxitems Tis countei holds the seuing of the maxitems package option.
minitems Tis countei holds the seuing of the minitems package option.
instcount Tis countei is inciemented by biblatex foi eveiy citation as well as foi eveiy entiy
in the bibliogiaphy and the list of shoithands. Te value of this countei uniquely
identies a single instance of a iefeience in the document.
citetotal Tis countei, which is only available in the loopcode of a citation command dened
with \DeclareCiteCommand, holds the total numbei of valid entiy keys passed to the
citation command.
21
citecount Tis countei, which is only available in the loopcode of a citation command de-
ned with \DeclareCiteCommand, holds the numbei of the entiy key cuiiently being
piocessed by the loopcode.
multicitetotal Tis countei is similai to citetotal but only available in multicite commands. lt
holds the total numbei of citations passed to the multicite command. Note that
each of these citations may consist of moie than one entiy key. Tis infoimation is
piovided by the citetotal countei.
multicitecount Tis countei is similai to citecount but only available in multicite commands. lt
holds the numbei of the citation cuiiently being piocessed. Note that this citation may
consist of moie than one entiy key. Tis infoimation is piovided by the citetotal
and citecount counteis.
listtotal Tis countei holds the total numbei of items in the cuiient list. lt is intended foi
use in list foimauing diiectives and does not hold a meaningful value when used
anywheie else. As an exception, it may also be used in the second optional aigument
to \printnames and \printlist, see 4.4.1 foi details. Foi eveiy list, theie is also a
countei by the same name which holds the total numbei of items in the coiiesponding
list. Foi example, the author countei holds the total numbei of items in the author
list. Tis applies to both name lists and liteial lists. Tese counteis aie similai
to listtotal except that they may also be used independently of list foimauing
diiectives. Foi example, a bibliogiaphy style might check the editor countei to
decide Whethei oi not to piint the teim editoi oi iathei its pluial foim editois
afei the list of editois.
listcount Tis countei holds the numbei of the list item cuiiently being piocessed. lt is
intended foi use in list foimauing diiectives and does not hold a meaningful value
when used anywheie else.
liststart Tis countei holds the start aigument passed to \printnames oi \printlist. lt is
intended foi use in list foimauing diiectives and does not hold a meaningful value
when used anywheie else.
liststop Tis countei holds the stop aigument passed to \printnames oi \printlist. lt is
intended foi use in list foimauing diiectives and does not hold a meaningful value
when used anywheie else.
\currentfield Te name of the eld cuiiently being piocessed by \printfield. Tis infoimation is
only available locally in eld foimauing diiectives.
\currentlist Te name of the liteial list cuiiently being piocessed by \printlist. Tis infoimation
is only available locally in list foimauing diiectives.
\currentname Te name of the name list cuiiently being piocessed by \printnames. Tis infoima-
tion is only available locally in name foimauing diiectives.
4.10.6 General Purpose Hooks
\AtBeginBibliography{code}
Appends the code to an inteinal hook executed at the beginning of the bibliogiaphy.
Te code is executed at the beginning of the list of iefeiences, immediately afei
the begin code of \defbibenvironment. Tis command may only be used in the
pieamble.
218
\AtBeginShorthands{code}
Appends the code to an inteinal hook executed at the beginning of the list of shoit-
hands. Te code is executed at the beginning of the list of shoithands, immediately
afei the begin code of \defbibenvironment. Tis command may only be used in
the pieamble.
\AtEveryBibitem{code}
Appends the code to an inteinal hook executed at the beginning of eveiy item
in the bibliogiaphy. Te code is executed immediately afei the item code of
\defbibenvironment. Te bibliogiaphic data of the iespective entiy is available at
this point. Tis command may only be used in the pieamble.
\AtEveryLositem{code}
Appends the code to an inteinal hook executed at the beginning of eveiy item in
the list of shoithands. Te code is executed immediately afei the item code of
\defbibenvironment. Te bibliogiaphic data of the iespective entiy is available at
this point. Tis command may only be used in the pieamble.
\AtNextBibliography{code}
Similai to \AtBeginBibliography but only aecting the next \printbibliography.
Te inteinal hook is cleaied afei being executed once. Tis command may be used
in the document body.
\AtEveryCite{code}
Appends the code to an inteinal hook executed at the beginning of eveiy citation
command. Te code is executed immediately befoie the precode of the command
(see 4.3.1). No bibliogiaphic data is available at this point. Tis command may only
be used in the pieamble.
\AtEveryCitekey{code}
Appends the code to an inteinal hook executed once foi eveiy entiy key passed
to a citation command. Te code is executed immediately befoie the loopcode of
the command (see 4.3.1). Te bibliogiaphic data of the iespective entiy is available
at this point. Tis command may only be used in the pieamble.
\AtEveryMultiCite{code}
Appends the code to an inteinal hook executed at the beginning of eveiy multicite
command. Te code is executed immediately befoie the multiprenote eld ( 4.3.2)
is piinted. No bibliogiaphic data is available at this point. Tis command may only
be used in the pieamble.
\AtNextCite{code}
Similai to \AtEveryCite but only aecting the next citation command. Te intei-
nal hook is cleaied afei being executed once. Tis command may be used in the
document body.
\AtNextCitekey{code}
Similai to \AtEveryCitekey but only aecting the next entiy key. Te inteinal hook
is cleaied afei being executed once. Tis command may be used in the document
body.
219
\AtNextMultiCite{code}
Similai to \AtEveryMultiCite but only aecting the next multicite command. Te
inteinal hook is cleaied afei being executed once. Tis command may be used in
the document body.
\AtDataInput[entrytype]{code}
Appends the code to an inteinal hook executed once foi eveiy entiy as the bibli-
ogiaphic data is impoited fiom the bbl le. Te entrytype is the entiy type the
code applies to. lf it applies to all entiy types, omit the optional aigument. Te
code is executed immediately afei the entiy has been impoited. Tis command
may only be used in the pieamble. Note that code may be executed multiple times
foi an entiy. Tis occuis when the same entiy is cited in dieient refsection envi-
ionments oi the sorting option seuings incoipoiate moie than one soiting scheme.
Te refsection countei holds the numbei of the iespective iefeience section while
the data is impoited.
\UseBibitemHook
Executes the inteinal hook coiiesponding to \AtEveryBibitem.
\UseEveryCiteHook
Executes the inteinal hook coiiesponding to \AtEveryCite.
\UseEveryCitekeyHook
Executes the inteinal hook coiiesponding to \AtEveryCitekey.
\UseEveryMultiCiteHook
Executes the inteinal hook coiiesponding to \AtMultiEveryCite.
\UseNextCiteHook
Executes and cleais the inteinal hook coiiesponding to \AtNextCite.
\UseNextCitekeyHook
Executes and cleais the inteinal hook coiiesponding to \AtNextCitekey.
\UseNextMultiCiteHook
Executes and cleais the inteinal hook coiiesponding to \AtNextMultiCite.
\DeferNextCitekeyHook
Locally un-denes the inteinal hook specied by \AtNextCitekey. Tis essentially
defeis the hook to the next entiy key in the citation list, when executed in the
precode aigument of \DeclareCiteCommand ( 4.3.1).
4.11 Hints and Caveats
Tis section piovides some additional hints conceining the authoi inteiface of this
package. lt also addiesses common pioblems and potential misconceptions.
220
4.11.1 Entry Sets
Entiy sets have alieady been intioduced in 3.11.. Tis section discusses how to
piocess entiy sets in a bibliogiaphy style. Fiom the peispective of the diivei, theie is
no dieience between static and dynamic entiy sets. Both types aie handled in the
same way. You will noimally use the \entryset command fiom 4.4.1 to loop ovei
all set membeis (in the oidei in which they aie listed in the entryset eld of the @set
entiy, oi in the oidei in which they weie passed to \defbibentryset, iespectively)
and append \finentry at the end. Tats it. Te foimauing is handled by the diiveis
foi the entiy types of the individual set membeis
\DeclareBibliographyDriver{set}{%
\entryset{}{}%
\finentry}
You may have noticed that the numeric styles which ship with this package suppoit
subdivided entiy sets, i. e., the membeis of the set aie maiked with a leuei oi some
othei maikei such that citations may eithei iefei to the entiie set oi to a specic set
membei. Te maikeis aie geneiated as follows by the bibliogiaphy style
\DeclareBibliographyDriver{set}{%
\entryset
{\printfield{entrysetcount}%
\setunit*{\addnbspace}}
{}%
\finentry}
Te entrysetcount eld holds an integei indicating the position of a set membei
in the entiy set. Te conveision of this numbei to a leuei oi some othei maikei is
handled by the foimauing diiective of the entrysetcount eld. All the diivei needs
to do is piint the eld and add some white space (oi stait a new line). Piinting the
maikeis in citations woiks in a similai way. Wheie a numeiic style noimally says
\printfield{labelnumber}, you simply append the entrysetcount eld
\printfield{labelnumber}\printfield{entrysetcount}
Since this eld is only dened when piocessing citations iefeiiing to a set membei,
theie is no need to add any additional tests.
4.11.2 Electronic Publishing Information
Te standaid styles featuie dedicated suppoit foi aiXiv iefeiences. Suppoit foi othei
iesouices is easily added. Te standaid styles handle the eprint eld as follows
\iffieldundef{eprinttype}
{\printfield{eprint}}
{\printfield[eprint:\strfield{eprinttype}]{eprint}}
lf an eprinttype eld is available, the above code tiies to use the eld foimat
eprint:eprintype. lf this foimat is undened, \printfield automatically falls
back to the eld foimat eprint. Teie aie two piedened eld foimats, the type-
specic foimat eprint:arxiv and the fallback foimat eprint
\DeclareFieldFormat{eprint}{...}
\DeclareFieldFormat{eprint:arxiv}{...}
221
ln othei woids, adding suppoit foi additional iesouices is as easy as dening a eld
foimat named eprint:resource wheie resource is an identiei to be used in the
eprinttype eld.
4.11.3 External Abstracts and Annotations
Exteinal abstiacts and annotations have been discussed in 3.11.8. Tis section
piovides some moie backgiound foi style authois. Te standaid styles use the
following macios (fiom biblatex.def) to handle abstiacts and annotations
\newbibmacro*{annotation}{%
\iffieldundef{annotation}
{\printfile[annotation]{\bibannotationprefix\thefield{entrykey}.tex}}%
{\printfield{annotation}}}
\newcommand*{\bibannotationprefix}{bibannotation-}
\newbibmacro*{abstract}{%
\iffieldundef{abstract}
{\printfile[abstract]{\bibabstractprefix\thefield{entrykey}.tex}}%
{\printfield{abstract}}}
\newcommand*{\bibabstractprefix}{bibabstract-}
lf the abstract/annotation eld is undened, the above code tiies to load the ab-
stiacts/annotations fioman exteinal le. Te \printfile commands also incoipoiate
le name piexes which may be iedened by useis. Note that you must enable
\printfile explicitly by seuing the loadfiles package option fiom 3.1.2.1. Tis
featuie is disabled by default foi peifoimance ieasons.
4.11.4 Name Disambiguation Biber only
Te uniquename and uniquelist options intioduced in 3.1.2.3 suppoit vaiious
modes of opeiation. Tis section explains the dieiences between these modes by
way of example. Te uniquename option disambiguates individual names in the
labelname list. Te uniquelist option disambiguates the labelname list if it has
become ambiguous afei maxnames/minnames tiuncation. You can use eithei option
stand-alone oi combine both.
4.11.4.1 Individual Names (uniquename)
Lets stait o with some uniquename examples. Considei the following data
John Doe 2008
Edward Doe 2008
John Smith 2008
Jane Smith 2008
Lets assume weie using an authoi-yeai style and set uniquename=false. ln this
case, we would get the following citations
Doe 2008a
Doe 2008b
Smith 2008a
Smith 2008b
222
Since the last names aie ambiguous and all woiks have been published in the same
yeai, an extia leuei is appended to the yeai to disambiguate the citations. Many
style guides, howevei, mandate that the extia leuei be used to disambiguate woiks
by the same authois only, not woiks by dieient authois with the same last name.
ln oidei to disambiguate the authois last name, you aie expected to add additional
paits of the name, eithei as initials oi in full. Tis iequiiement is addiessed by the
uniquename option. Heie aie the same citations with uniquename=init
J. Doe 2008
E. Doe 2008
Smith 2008a
Smith 2008b
uniquename=init iestiicts name disambiguation to initials. Since J. Smith would still
be ambiguous, no additional name paits aie added foi the Smiths. With uniquename=
full, names aie piinted in full wheie iequiied
J. Doe 2008
E. Doe 2008
John Smith 2008
Jane Smith 2008
ln oidei to illustiate the dieience between uniquename=init/full and allinit/
allfull, we need to intioduce the notion of a visible name. ln the following,
visible names aie all names at a position befoie the maxnames/minnames/uniquelist
tiuncation point. Foi example, given this data
William Jones/Edward Doe/Jane Smith
John Doe
John Smith
and maxnames=1, minnames=1, uniquename=init/full, we would get the following
names in citations
Jones et al.
Doe
Smith
When disambiguating names, uniquename = init/full only considei the visible
names. Since all visible last names aie distinct in this example, no fuithei name paits
aie added. Lets compaie that to the output of uniquename=allinit
Jones et al.
J. Doe
Smith
allinit consideis all names in all labelname lists, including those which aie hidden
and ieplaced by et al. as the list is tiuncated. ln this example, John Doe is
disambiguated fiom Edwaid Doe. Since the ambiguity of the two Smiths cant be
iesolved by adding initials, no initials aie added in this case. Now lets compaie that
to the output of uniquename=allfull which also disambiguates John Smith fiom
Jane Smith
223
Jones et al.
J. Doe
John Smith
Te options uniquename=mininit/minfull aie similai to init/full in that they only
considei visible names, but they peifoim minimal disambiguation. Tat is, they will
disambiguate individual names only if they occui in identical lists of last names.
Considei the following data
John Doe/William Jones
Edward Doe/William Jones
John Smith/William Edwards
Edward Smith/Allan Johnson
With uniquename=init/full, we would get
J. Doe and Jones
E. Doe and Jones
J. Smith and Edwards
E. Smith and Johnson
With uniquename=mininit/minfull
J. Doe and Jones
E. Doe and Jones
Smith and Edwards
Smith and Johnson
Te Smiths aie not disambiguated because the visible name lists aie not ambiguous
and the mininit/minfull options seive to disambiguate names occuiiing in identical
last name lists only. Anothei way of looking at this is that they globally disambiguate
last name lists. When it comes to ambiguous lists, note that a tiuncated list is
consideied to be distinct fiom an untiuncated one even if the visible names aie
identical. Foi example, considei the following data
John Doe/William Jones
Edward Doe
With maxnames=1, uniquename=init/full, we would get
J. Doe et al.
E. Doe
With uniquename=mininit/minfull
Doe et al.
Doe
Because the lists diei in the et al., the names aie not disambiguated.
224
4.11.4.2 Lists of Names (uniquelist)
Ambiguity is also an issue with name lists. lf the labelname list is tiuncated by the
maxnames/minnames options, it may become ambiguous. Tis type of ambiguity is
addiessed by the uniquelist option. Considei the following data
Doe/Jones/Smith 2005
Smith/Johnson/Doe 2005
Smith/Doe/Edwards 2005
Smith/Doe/Jones 2005
Many authoi-yeai styles tiuncate long authoi/editoi lists in citations. Foi example,
with maxnames=1 we would get
Doe et al. 2005
Smith et al. 2005a
Smith et al. 2005b
Smith et al. 2005c
Since the authois aie ambiguous afei tiuncation, the extia leuei is added to the
yeai to ensuie unique citations. Heie again, many style guides mandate that the
extia leuei be used to disambiguate woiks by the same authois only. ln oidei to
disambiguate authoi lists, you aie usually iequiied to add moie names, exceeding
the maxnames/minnames tiuncation point. Te uniquelist featuie addiesses this
iequiiement. With uniquelist=true, we would get
Doe et al. 2005
Smith, Johnson et al. 2005
Smith, Doe and Edwards 2005
Smith, Doe and Jones 2005
Te uniquelist option oveiiides maxnames/minnames on a pei-entiy basis. Essen-
tially, what happens is that the et al. pait of the citation is expanded to the point
of no ambiguity but no fuithei than that. uniquelist may also be combined with
uniquename. Considei the following data
John Doe/Allan Johnson/William Jones 2009
John Doe/Edward Johnson/William Jones 2009
John Doe/Jane Smith/William Jones 2009
John Doe/John Smith/William Jones 2009
John Doe/John Edwards/William Jones 2009
John Doe/John Edwards/Jack Johnson 2009
With maxnames=1
Doe et al. 2009a
Doe et al. 2009b
Doe et al. 2009c
Doe et al. 2009d
Doe et al. 2009e
Doe et al. 2009f
With maxnames=1, uniquename=full, uniquelist=true
22
Doe, A. Johnson et al. 2009
Doe, E. Johnson et al. 2009
Doe, Jane Smith et al. 2009
Doe, John Smith et al. 2009
Doe, Edwards and Jones 2009
Doe, Edwards and Johnson 2009
With uniquelist=minyear, list disambiguation only happens if the visible list is
identical to anothei visible list with the same labelyear. Tis is useful foi authoi-yeai
styles which only iequiie that the citation as a whole be unique, but do not guaiantee
unambiguous authoiship infoimation in citations. Tis mode is conceptually ielated
to uniquename=mininit/minfull. Considei this example
Smith/Jones 2000
Smith/Johnson 2001
With maxnames=1 and uniquelist=true, we would get
Smith and Jones 2000
Smith and Johnson 2001
With uniquelist=minyear
Smith et al. 2000
Smith et al. 2001
With uniquelist=minyear, it is not cleai that the authois aie dieient foi the two
woiks but the citations as a whole aie still unambiguous since the yeai is dieient.
ln contiast to that, uniquelist=true disambiguates the authoiship even if this
infoimation is not iequiied to uniquely locate the woiks in the bibliogiaphy. Lets
considei anothei example
Vogel/Beast/Garble/Rook 2000
Vogel/Beast/Tremble/Bite 2000
Vogel/Beast/Acid/Squeeze 2001
With maxnames=3, minnames=1, uniquelist=true, we would get
Vogel, Beast, Garble et al. 2000
Vogel, Beast, Tremble et al. 2000
Vogel, Beast, Acid et al. 2001
With uniquelist=minyear
Vogel, Beast, Garble et al. 2000
Vogel, Beast, Tremble et al. 2000
Vogel et al. 2001
ln the last citation, uniquelist=minyear does not oveiiide maxnames/minnames as
the citation does not need disambiguating fiom the othei two because the yeai is
dieient.
22
4.11.5 Trackers in Floats and TOC/LOT/LOF
lf a citation is given in a oat (typically in the caption of a guie oi table), scholaily
back iefeiences like ibidem oi back iefeiences based on the page tiackei get am-
biguous because oats aie objects which aie (physically and logically) placed outside
the ow of text, hence the logic of such iefeiences applies pooily to them. To avoid
any such ambiguities, the citation and page tiackeis aie tempoiaiily disabled in all
oats. ln addition to that, these tiackeis plus the back iefeience tiackei (backref)
aie tempoiaiily disabled in the table of contents, the list of guies, and the list of
tables.
4.11.6 Mixing Programming Interfaces
Te biblatex package piovides two main piogiamming inteifaces foi style authois.
Te \DeclareBibliographyDriver command, which denes a handlei foi an entiy
type, is typically used in bbx les. \DeclareCiteCommand, which denes a new cita-
tion command, is typically used in cbx les. Howevei, in some cases it is convenient
to mix these two inteifaces. Foi example, the \fullcite command piints a veibose
citation similai to the full bibliogiaphy entiy. lt is essentially dened as follows
\DeclareCiteCommand{\fullcite}
{...}
{\usedriver{...}{\thefield{entrytype}}}
{...}
{...}
As you can see, the coie code which piints the citations simply executes the biblio-
giaphy diivei dened with \DeclareBibliographyDriver foi the type of the cuiient
entiy. When wiiting a citation style foi a veibose citation scheme, it is ofen conve-
nient to use the following stiuctuie
\ProvidesFile{example.cbx}[2007/06/09 v1.0 biblatex citation style]
\DeclareCiteCommand{\cite}
{...}
{\usedriver{...}{cite:\thefield{entrytype}}}
{...}
{...}
\DeclareBibliographyDriver{cite:article}{...}
\DeclareBibliographyDriver{cite:book}{...}
\DeclareBibliographyDriver{cite:inbook}{...}
...
Anothei case in which mixing inteifaces is helpful aie styles using cioss-iefeiences
within the bibliogiaphy. Foi example, when piinting an @incollection entiy, the
data inheiited fiom the @collection paient entiy would be ieplaced by a shoit
pointei to the iespective paient entiy
[1] Audiey Authoi Title of article. ln [2], pp. 1341.
[2] Edwaid Editoi, ed. Title of collection. Publishei Location, 199.
22
One way to implement such cioss-iefeiences within the bibliogiaphy is to think
of them as citations which use the value of the xref oi crossref eld as the entiy
key. Heie is an example
\ProvidesFile{example.bbx}[2007/06/09 v1.0 biblatex bibliography style]
\DeclareCiteCommand{\bbx@xref}
{}
{...}% code for cross-references
{}
{}
\DeclareBibliographyDriver{incollection}{%
...
\iffieldundef{xref}
{...}% code if no cross-reference
{\bbx@xref{\thefield{xref}}}%
...
}
When dening \bbx@xref, the precode, postcode, and sepcode aiguments of
\DeclareCiteCommand aie lef empty in the above example because they will not be
used anyway. Te cioss-iefeience is piinted by the loopcode of \bbx@xref. Foi
fuithei details on the xref eld, iefei to 2.2.3 and to the hints in 2.4.1. Also see
the \iffieldxref, \iflistxref, and \ifnamexref tests in 4..2. Te above could
also be implemented using the \entrydata command fiom 4.4.1
\ProvidesFile{example.bbx}[2007/06/09 v1.0 biblatex bibliography style]
\DeclareBibliographyDriver{incollection}{%
...
\iffieldundef{xref}
{...}% code if no cross-reference
{\entrydata{\thefield{xref}}{%
% code for cross-references
...
}}%
...
}
4.11.7 Using the Punctuation Tracker
4.11.7.1 The Basics
Teie is one fundamental piinciple style authois should keep in mind when designing
a bibliogiaphy diivei block and unit punctuation is handled asynchionously. Tis is
best explained by way of example. Considei the following code snippet
\printfield{title}%
\newunit
\printfield{edition}%
228
\newunit
\printfield{note}%
lf theie is no edition eld, this piece of code will not piint
Title. . Note
but iathei
Title. Note
because the unit punctuation tiackei woiks asynchionously. \newunit will not
piint the unit punctuation immediately. lt meiely iecoids a unit boundaiy and puts
\newunitpunct on the punctuation buei. Tis buei will be handled by subsequent
\printfield, \printlist, oi similai commands but only if the iespective eld oi list
is dened. Commands like \printfield will considei thiee factois piioi to inseiting
any block oi unit punctuation
Has a new unit/block been iequested at all`
ls theie any pieceding \newunit oi \newblock command`
Did the pieceding commands piint anything`
ls theie any pieceding \printfield oi similai command`
Did this command actually piint anything`
Aie we about to piint anything now`
ls the eld/list to be piocessed now dened`
Block and unit punctuation will only be inseited if all of these conditions apply. Lets
ieconsidei the above example
\printfield{title}%
\newunit
\printfield{edition}%
\newunit
\printfield{note}%
Heies what happens if the edition eld is undened. Te ist \printfield com-
mand piints the title and sets an inteinal new text ag. Te ist \newunit sets
an inteinal new unit ag. No punctuation has been piinted at this point. Te
second \printfield does nothing because the edition eld is undened. Te next
\newunit command sets the inteinal ag new unit again. Still no punctuation has
been piinted. Te thiid \printfield checks if the note eld is dened. lf so, it looks
at the new text and new unit ags. lf both aie set, it inseits the punctuation buei
befoie piinting the note. lt then cleais the new unit ag and sets the new text ag
again.
Tis may all sound moie complicated than it is. ln piactice, it means that it is
possible to wiite laige paits of a bibliogiaphy diivei in a sequential way. Te advan-
tage of this appioach becomes obvious when tiying to wiite the above code without
using the punctuation tiackei. Such an auempt will lead to a iathei convoluted set
of \iffieldundef tests iequiied to check foi all possible eld combinations (note
that the code below handles thiee elds, a typical diivei may need to catei foi some
two dozen elds)
229
\iffieldundef{title}%
{\iffieldundef{edition}
{\printfield{note}}
{\printfield{edition}%
\iffieldundef{note}%
{}
{. \printfield{note}}}}
{\printfield{title}%
\iffieldundef{edition}
{}
{. \printfield{edition}}%
\iffieldundef{note}
{}
{. \printfield{note}}}%
4.11.7.2 Common Mistakes
lt is a faiily common misconception to think of the unit punctuation as something
that is handled synchionously. Tis typically causes pioblems if the diivei includes
any liteial text. Considei this eiioneous code snippet which will geneiate misplaced
unit punctuation
\printfield{title}%
\newunit
(\printfield{series} \printfield{number})%
Tis code will yield the following iesult
Title (. Series Number)
Heies what happens. Te ist \printfield piints the title. Ten \newunit maiks a
unit boundaiy but does not piint anything. Te unit punctuation is piinted by the next
\printfield command. Tats the asynchionous pait mentioned befoie. Howevei,
the opening paienthesis is piinted immediately befoie the next \printfield inseits
the unit punctuation, leading to a misplaced peiiod. When inseiting any liteial text
such as paientheses (including those piinted by commands such as \bibopenparen
and \mkbibparens), always wiap the text in a \printtext command. Foi the punc-
tuation tiackei to woik as expected, it needs to know about all liteial text inseited
by a diivei. Tis is what \printtext is all about. \printtext inteifaces with the
punctuation tiackei and ensuies that the punctuation buei is inseited befoie the
liteial text gets piinted. lt also sets the inteinal new text ag. Note theie is in fact a
thiid piece of liteial text in this example the space afei \printfield{series}. ln
the coiiected example, we will use the punctuation tiackei to handle that space.
\printfield{title}%
\newunit
\printtext{(}%
\printfield{series}%
\setunit*{\addspace}%
\printfield{number}%
\printtext{)}%
230
While the above code will woik as expected, the iecommended way to handle
paientheses, quotes, and othei things which enclose moie than one eld, is to dene
a eld foimat
\DeclareFieldFormat{parens}{\mkbibparens{#1}}
Field foimats may be used with both \printfield and \printtext, hence we can
use them to enclose seveial elds in a single paii of paientheses
\printtext[parens]{%
\printfield{series}%
\setunit*{\addspace}%
\printfield{number}%
}%
We still need to handle cases in which theie is no seiies infoimation at all, so lets
impiove the code some moie
\iffieldundef{series}
{}
{\printtext[parens]{%
\printfield{series}%
\setunit*{\addspace}%
\printfield{number}}}%
One nal hint localization stiings aie not liteial text as fai as the punctuation
tiackei is conceined. Since \bibstring and similai commands inteiface with the
punctuation tiackei, theie is no need to wiap them in a \printtext command.
4.11.7.3 Advanced Usage
Te punctuation tiackei may also be used to handle moie complex scenaiios. Foi
example, suppose that we want the elds location, publisher, and year to be
iendeied in one of the following foimats, depending on the available data
...text. Location: Publisher, Year. Text...
...text. Location: Publisher. Text...
...text. Location: Year. Text...
...text. Publisher, Year. Text...
...text. Location. Text...
...text. Publisher. Text...
...text. Year. Text...
Tis pioblem can be solved with a iathei convoluted set of \iflistundef and
\iffieldundef tests which check foi all possible eld combinations
\iflistundef{location}
{\iflistundef{publisher}
{\printfield{year}}
{\printlist{publisher}%
\iffieldundef{year}
{}
{, \printfield{year}}}}
231
{\printlist{location}%
\iflistundef{publisher}%
{\iffieldundef{year}
{}
{: \printfield{year}}}
{: \printlist{publisher}%
\iffieldundef{year}
{}
{, \printfield{year}}}}%
Te above could be wiiuen in a somewhat moie ieadable way by employing
\ifthenelse and the boolean opeiatois discussed in 4..3. Te appioach would
still be essentially the same. Howevei, it may also be wiiuen sequentially
\newunit
\printlist{location}%
\setunit*{\addcolon\space}%
\printlist{publisher}%
\setunit*{\addcomma\space}%
\printfield{year}%
\newunit
ln piactice, you will ofen use a combination of explicit tests and the implicit tests
peifoimed by the punctuation tiackei. Foi example, considei the following foimat
(note the punctuation afei the location if theie is no publishei)
...text. Location: Publisher, Year. Text...
...text. Location: Publisher. Text...
...text. Location, Year. Text...
...text. Publisher, Year. Text...
...text. Location. Text...
...text. Publisher. Text...
...text. Year. Text...
Tis can be handled by the following code
\newunit
\printlist{location}%
\iflistundef{publisher}
{\setunit*{\addcomma\space}}
{\setunit*{\addcolon\space}}%
\printlist{publisher}%
\setunit*{\addcomma\space}%
\printfield{year}%
\newunit
Since the punctuation afei the location is special if theie is no publishei, we need one
\iflistundef test to catch this case. Eveiything else is handled by the punctuation
tiackei.
4.11.8 Custom Localization Modules
Style guides may include piovisions as to how stiings like edition should be abbie-
viated oi they may mandate ceitain xed expiessions. Foi example, the i style
232
guide iequiies authois to use the teim Woiks Cited iathei than Bibliogiaphy oi
Refeiences in the heading of the bibliogiaphy. Localization commands such as
\DefineBibliographyStrings fiom 3.8 may indeed be used in cbx and bbx les
to handle such cases. Howevei, oveiloading style les with tianslations is iathei
inconvenient. Tis is wheie \DeclareLanguageMapping fiom 4.9.1 comes into play.
Tis command maps an lbx le with alteinative tianslations to a babel/polyglossia
language. Foi example, you could cieate a le named french-humanities.lbx which
piovides Fiench tianslations adapted foi use in the humanities and map it to the
babel/polyglossia language french in the pieamble oi in the conguiation le
\DeclareLanguageMapping{french}{french-humanities}
lf the document language is set to french, french-humanities.lbx will ieplace
french.lbx. Coming back to the i example mentioned above, an i style may
come with an american-mla.lbx le to piovide stiings which comply with the i
style guide. lt would declaie the following mapping in the cbx and/oi bbx le
\DeclareLanguageMapping{american}{american-mla}
Since the alteinative lbx le can inheiit stiings fiom the standaid american.lbx
module, american-mla.lbx may be as shoit as this
\ProvidesFile{american-mla.lbx}[2008/10/01 v1.0 biblatex localization]
\InheritBibliographyExtras{american}
\DeclareBibliographyStrings{%
inherit = {american},
bibliography = {{Works Cited}{Works Cited}},
references = {{Works Cited}{Works Cited}},
}
\endinput
Alteinative lbx les must ensuie that the localization module is complete. Tey
will typically do so by inheiiting data fiom the coiiesponding standaid module.
lf the language american is mapped to american-mla.lbx, biblatex will not load
american.lbx unless this module is iequested explicitly. ln the above example,
inheiiting stiings and extias will cause biblatex to load american.lbx befoie
applying the modications in american-mla.lbx.
Note that \DeclareLanguageMapping is not intended to handle language vaii-
ants (e. g., Ameiican English vs. Biitish English) oi babel/polyglossia language
aliases (e. g., USenglish vs. american). Foi example, babel/polyglossia oeis the
USenglish option which is similai to american. Teiefoie, biblatex ships with
an USenglish.lbx le which simply inheiits all data fiom american.lbx (which
in tuin gets the stiings fiom english.lbx). ln othei woids, the mapping of lan-
guage vaiiants and babel/polyglossia language aliases happens on the le level,
the point being that biblatexs language suppoit can be extended simply by adding
additional lbx les. Teie is no need foi centialized mapping. lf you need sup-
poit foi, say, Poituguese (babel/polyglossia portuges), you cieate a le named
portuges.lbx. lf babel/polyglossia oeied an alias named brasil, you would cie-
ate brasil.lbx and inheiit the data fiom portuges.lbx. ln contiast to that, the
point of \DeclareLanguageMapping is handling stylistic vaiiants like humanities vs.
natuial sciences oi i vs. v etc. which will typically be built on top of existing
lbx les.
233
4.11.9 Grouping
ln a citation oi bibliogiaphy style, you may need to set ags oi stoie ceitain values
foi latei use. ln this case, it is ciucial to undeistand the basic giouping stiuctuie
imposed by this package. As a iule of thumb, you aie woiking in a laige gioup
whenevei authoi commands such as those discussed in 4. aie available because
the authoi inteiface of this package is only enabled locally. lf any bibliogiaphic data
is available, theie is at least one additional gioup. Heie aie some geneial iules
Te entiie list of iefeiences piinted by \printbibliography and similai com-
mands is piocessed in a gioup. Each entiy in the list is piocessed in an
additional gioup which encloses the item code of \defbibenvironment as
well as all diivei code.
Te entiie list of shoithands piinted by \printshorthands is piocessed in a
gioup. Each entiy in the list is piocessed in an additional gioup which encloses
the item code of \defbibenvironment as well as all diivei code.
All citation commands dened with \DeclareCiteCommand aie piocessed in a
gioup holding the complete citation code consisting of the precode, sepcode,
loopcode, and postcode aiguments. Te loopcode is enclosed in an addi-
tional gioup eveiy time it is executed. lf any wrapper code has been specied,
the entiie unit consisting of the wiappei code and the citation code is wiapped
in an additional gioup.
ln addition to the giouping imposed by all backend commands dened with
\DeclareCiteCommand, all autocite and multicite denitions imply an addi-
tional gioup.
\printfile, \printtext, \printfield, \printlist, and \printnames foim
gioups. Tis implies that all foimauing diiectives will be piocessed within a
gioup of theii own.
All lbx les aie loaded and piocessed in a gioup. lf an lbx le contains any
code which is not pait of \DeclareBibliographyExtras, the denitions must
be global.
Note that using \aftergroup in citation and bibliogiaphy styles is unieliable
because the piecise numbei of gioups employed in a ceitain context may change in
futuie veisions of this package. lf the above list states that something is piocessed in
a gioup, this means that theie is at least one gioup. Teie may also be seveial nested
ones.
4.11.10 Namespaces
ln oidei to minimize the iisk of name clashes, LaTeX packages typically piex the
names of inteinal macios with a shoit stiing specic to the package. Foi example, if
the foobar package iequiies a macio foi inteinal use, it would typically be called
\FB@macro oi \foo@macro iathei than \macro oi \@macro. Heie is a list of the piexes
used oi iecommended by biblatex
blx All macios with names like \blx@name aie stiictly ieseived foi inteinal use. Tis
also applies to countei names, length iegisteis, boolean switches, and so on. Tese
macios may be alteied in backwaids-incompatible ways, they may be ienamed oi
234
even iemoved at any time without fuithei notice. Such changes will not even be
mentioned in the ievision histoiy oi the ielease notes. ln shoit nevei use any macios
with the stiing blx in theii name in any styles.
abx Macios piexed with abx aie also inteinal macios but they aie faiily stable. lt is
always piefeiable to use the facilities piovided by the ocial authoi inteiface, but
theie may be cases in which using an abx macio is convenient.
bbx Tis is the iecommended piex foi inteinal macios dened in bibliogiaphy styles.
cbx Tis is the iecommended piex foi inteinal macios dened in citation styles.
lbx Tis is the iecommended base piex foi inteinal macios dened in localization
modules. Te localization module should add a second piex to specify the language.
Foi example, an inteinal macio dened by the Spanish localization module would be
named \lbx@es@macro.
Appendix
A Default Driver Source Mappings
Tese aie the diivei default souice mappings. Foi diiveis othei than bibtex and ris,
they aie highly expeiimental and subject to change (because the diivei datatype
itself is unstable oi not well suited to bibliogiaphic data).
A.1 bibtex
Te bibtex diivei is of couise the most compiehensive and matuie of the Bibla-
tex/Bibei suppoited data foimats. Tese souice mapping defaults aie how the aliases
fiom sections 2.1.2 and 2.2. aie implemented.
\DeclareDriverSourcemap[datatype=bibtex]{
\map{
\step[typesource=conference, typetarget=inproceedings]
\step[typesource=electronic, typetarget=online]
\step[typesource=www, typetarget=online]
}
\map{
\step[typesource=mastersthesis, typetarget=thesis, final]
\step[fieldset=type, fieldvalue=mathesis]
}
\map{
\step[typesource=phdthesis, typetarget=thesis, final]
\step[fieldset=type, fieldvalue=phdthesis]
}
\map{
\step[typesource=techreport, typetarget=report, final]
\step[fieldset=type, fieldvalue=techreport]
}
\map{
\step[fieldsource=address, fieldtarget=location]
\step[fieldsource=school, fieldtarget=institution]
\step[fieldsource=annote, fieldtarget=annotation]
23
\step[fieldsource=archiveprefix, fieldtarget=eprinttype]
\step[fieldsource=journal, fieldtarget=journaltitle]
\step[fieldsource=primaryclass, fieldtarget=eprintclass]
\step[fieldsource=key, fieldtarget=sortkey]
\step[fieldsource=pdf, fieldtarget=file]
}
}
A.2 endnotexml
Te endnotexml diivei foi Bibei uses the following mappings. Tis foimat is quite
messy and not well suited to iobust typeseuing of bibliogiaphic data. lt is piesented
laigely as an example of Bibeis modulai datasouice abilities and also of how to map
foieign data models into the Biblatex data model. Mappings fiom such messy and
ielatively simple data models aie inevitably fiagile and aie of limited use.
\DeclareDriverSourcemap[datatype=endnotexml]{
\map{
\step[typesource={Aggregated Database}, typetarget=misc]
\step[typesource={Ancient Text}, typetarget=misc]
\step[typesource=Artwork, typetarget=artwork]
\step[typesource={Audiovisual Material}, typetarget=misc]
\step[typesource=Bill, typetarget=jurisdiction]
\step[typesource=Blog, typetarget=online]
\step[typesource=Book, typetarget=book]
\step[typesource={Book Section}, typetarget=inbook]
\step[typesource=Case, typetarget=jurisdiction]
\step[typesource=Catalog, typetarget=misc]
\step[typesource={Chart or Table}, typetarget=misc]
\step[typesource={Classical Work}, typetarget=misc]
\step[typesource={Computer Program}, typetarget=software]
\step[typesource={Conference Paper}, typetarget=inproceedings]
\step[typesource={Conference Proceedings}, typetarget=proceedings]
\step[typesource=Dictionary, typetarget=inreference]
\step[typesource={Edited Book}, typetarget=collection]
\step[typesource={Electronic Article}, typetarget=article]
\step[typesource={Electronic Book}, typetarget=book]
\step[typesource={Encyclopedia}, typetarget=reference]
\step[typesource=Equation, typetarget=misc]
\step[typesource=Figure, typetarget=misc]
\step[typesource={Film or Broadcast}, typetarget=movie]
\step[typesource={Government Document}, typetarget=report]
\step[typesource=Grant, typetarget=misc]
\step[typesource=Hearing, typetarget=jurisdiction]
\step[typesource={Journal Article}, typetarget=article]
\step[typesource={Legal Rule or Regulation}, typetarget=legislation]
\step[typesource={Magazine Article}, typetarget=article]
\step[typesource=Manuscript, typetarget=unpublished]
\step[typesource=Map, typetarget=misc]
\step[typesource={Newspaper Article}, typetarget=article]
\step[typesource={Online Database}, typetarget=online]
23
\step[typesource={Online Multimedia}, typetarget=online]
\step[typesource=Pamphlet, typetarget=booklet]
\step[typesource=Patent, typetarget=patent]
\step[typesource={Personal Communication}, typetarget=letter]
\step[typesource=Report, typetarget=report]
\step[typesource=Serial, typetarget=periodical]
\step[typesource=Standard, typetarget=standard]
\step[typesource=Statute, typetarget=legislation]
\step[typesource=Thesis, typetarget=thesis]
\step[typesource={Unpublished Work}, typetarget=unpublished]
\step[typesource={Web Page}, typetarget=online]
}
\map{
\step[fieldsource={electronic-resource-num}, fieldtarget=eprint]
\step[fieldsource={alt-title}, fieldtarget=shorttitle]
\step[fieldsource={meeting-place}, fieldtarget=venue]
\step[fieldsource={pub-location}, fieldtarget=location]
\step[fieldsource={orig-pub}, fieldtarget=origpublisher]
\step[fieldsource={authors}, fieldtarget=author]
\step[fieldsource={secondary-authors}, fieldtarget=editor]
\step[fieldsource={tertiary-authors}, fieldtarget=commentator]
\step[fieldsource={subsidiary-authors}, fieldtarget=translator]
\step[fieldsource={year}, fieldtarget=date]
\step[fieldsource={pub-dates}, fieldtarget=date]
\step[fieldsource={num-vols}, fieldtarget=volumes]
\step[fieldsource={call-num}, fieldtarget=library]
\step[fieldsource={notes}, fieldtarget=note]
\step[fieldsource={secondary-title}, fieldtarget=subtitle]
\step[fieldsource={work-type}, fieldtarget=type]
}
\map{
\pertype{Edited Book}
\step[fieldsource=contributors/authors, fieldtarget=contributors/editor]
}
\map{
\pertype{Electronic Article}
\pertype{Journal Article}
\pertype{Magazine Article}
\pertype{Newspaper Article}
\step[fieldsource=isbn, fieldtarget=issn]
}
\map{
\pertype{Patent}
\pertype{Report}
\pertype{Government Document}
\pertype{Legal Rule or Regulation}
\step[fieldsource=isbn, fieldtarget=number]
}
\map{
\pertype{Blog}
\pertype{Online Database}
23
\pertype{Online Multimedia}
\pertype{Web Page}
\step[fieldsource={titles/secondary-title}, fieldtarget={titles/title}]
}
\map{
\pertype{Book Section}
\step[fieldsource={titles/secondary-title}, fieldtarget={titles/booktitle}]
}
\map{
\pertype{Book}
\pertype{Electronic Book}
\pertype{Manuscript}
\pertype{Unpublished Work}
\step[fieldsource={titles/secondary-title}, fieldtarget={titles/series}]
}
\map{
\pertype{Conference Paper}
\pertype{Conference Proceedings}
\step[fieldsource={titles/secondary-title}, fieldtarget={titles/eventtitle}]
}
\map{
\pertype{Electronic Article}
\pertype{Journal Article}
\pertype{Magazine Article}
\pertype{Newspaper Article}
\step[fieldsource={titles/secondary-title}, fieldtarget={titles/journaltitle}]
}
\map{
\pertype{Book Section}
\step[fieldsource={titles/tertiary-title}, fieldtarget={titles/booktitle}]
}
\map{
\pertype{Conference Proceedings}
\pertype{periodical}
\step[fieldsource={titles/tertiary-title}, fieldtarget={titles/series}]
}
}
A.3 ris
Te ris diivei ieects the fact that ris itself is a veiy simple and stable foimat. lt is
in fact so simple, its haidly of any use foi most Biblatex useis. Again, heie moie as
a pioof of concept example.
\DeclareDriverSourcemap[datatype=ris]{
\map{
\step[typesource=ART, typetarget=artwork]
\step[typesource=BILL, typetarget=jurisdiction]
\step[typesource=BOOK, typetarget=book]
\step[typesource=CHAP, typetarget=inbook]
\step[typesource=COMP, typetarget=software]
238
\step[typesource=CONF, typetarget=proceedings]
\step[typesource=GEN, typetarget=misc]
\step[typesource=JFULL, typetarget=article]
\step[typesource=JOUR, typetarget=article]
\step[typesource=MGZN, typetarget=misc]
\step[typesource=MPCT, typetarget=movie]
\step[typesource=NEWS, typetarget=misc]
\step[typesource=PAMP, typetarget=misc]
\step[typesource=PAT, typetarget=patent]
\step[typesource=PCOMM, typetarget=misc]
\step[typesource=RPRT, typetarget=report]
\step[typesource=SER, typetarget=misc]
\step[typesource=SLIDE, typetarget=misc]
\step[typesource=SOUND, typetarget=audio]
\step[typesource=STAT, typetarget=legal]
\step[typesource=THES, typetarget=thesis]
\step[typesource=UNBILL, typetarget=jurisdiction]
\step[typesource=UNPB, typetarget=unpublished]
}
\map{
\step[fieldsource=Y1, fieldtarget=date]
\step[fieldsource=PY, fieldtarget=date]
\step[fieldsource=Y2, fieldtarget=eventdate]
\step[fieldsource=A1, fieldtarget=author]
\step[fieldsource=AU, fieldtarget=author]
\step[fieldsource=A2, fieldtarget=editor]
\step[fieldsource=A3, fieldtarget=editor]
\step[fieldsource=ED, fieldtarget=editor]
\step[fieldsource=SPEP, fieldtarget=pages]
\step[fieldsource=N1, fieldtarget=note]
\step[fieldsource=N2, fieldtarget=abstract]
\step[fieldsource=AB, fieldtarget=abstract]
\step[fieldsource=JO, fieldtarget=journaltitle]
\step[fieldsource=JF, fieldtarget=journaltitle]
\step[fieldsource=JA, fieldtarget=shortjournal]
\step[fieldsource=VL, fieldtarget=volume]
\step[fieldsource=IS, fieldtarget=issue]
\step[fieldsource=CP, fieldtarget=issue]
\step[fieldsource=CY, fieldtarget=location]
\step[fieldsource=SN, fieldtarget=isbn]
\step[fieldsource=PB, fieldtarget=publisher]
\step[fieldsource=KW, fieldtarget=keywords]
\step[fieldsource=TI, fieldtarget=title]
\step[fieldsource=U1, fieldtarget=usera]
\step[fieldsource=U2, fieldtarget=userb]
\step[fieldsource=U3, fieldtarget=userc]
\step[fieldsource=U4, fieldtarget=userd]
\step[fieldsource=U5, fieldtarget=usere]
\step[fieldsource=UR, fieldtarget=url]
\step[fieldsource=L1, fieldtarget=file]
}
239
}
A.4 zoterordfxml
Te zoterordfxml diivei ieads the Zoteio
3
XML iepiesentation of its RDF foimat.
Fiom the Biblatex point of view, it sueis fiom a lack of the notion of a citation
key and so is of limited use. Te foimat may include a citation key in the futuie at
which point the Bibei diivei and these default mappings will be updated. As with
endnotexml, the foimat is somewhat messy with, in paiticulai, a veiy limited way
of dealing with ielated entiies which makes the diivei setup iathei ugly. As can be
seen below, it is possible to map into a eld piexed with BlBERCUSTOM which
is not a ieal eld in the data model but can be detected in the Bibei diivei itself and
used to piocess a souice eld which does not map natuially to any Biblatex data
model eld as it needs special tieatment. Tis is messy but is due laigely due to
messy souice data models.
\DeclareDriverSourcemap[datatype=zoterordfxml]{
\map{
\step[typesource=conferencePaper, typetarget=inproceedings]
\step[typesource=bookSection, typetarget=inbook]
\step[typesource=journalArticle, typetarget=article]
\step[typesource=magazineArticle, typetarget=article]
\step[typesource=newspaperArticle, typetarget=article]
\step[typesource=encyclopediaArticle, typetarget=inreference]
\step[typesource=manuscript, typetarget=unpublished]
\step[typesource=document, typetarget=misc]
\step[typesource=dictionaryEntry, typetarget=inreference]
\step[typesource=interview, typetarget=misc]
\step[typesource=film, typetarget=movie]
\step[typesource=webpage, typetarget=online]
\step[typesource=note, typetarget=misc]
\step[typesource=attachment, typetarget=misc]
\step[typesource=bill, typetarget=legislation]
\step[typesource=case, typetarget=jurisdiction]
\step[typesource=hearing, typetarget=jurisdiction]
\step[typesource=statute, typetarget=legislation]
\step[typesource=email, typetarget=letter]
\step[typesource=map, typetarget=image]
\step[typesource=blogPost, typetarget=online]
\step[typesource=instantMessage, typetarget=letter]
\step[typesource=forumPost, typetarget=online]
\step[typesource=audioRecording, typetarget=audio]
\step[typesource=presentation, typetarget=inproceedings]
\step[typesource=videoRecording, typetarget=video]
\step[typesource=tvBroadcast, typetarget=misc]
\step[typesource=radioBroadcast, typetarget=misc]
\step[typesource=podcast, typetarget=online]
\step[typesource=computerProgram, typetarget=software]
}
\map{
3
www.zotero.org
240
\step[fieldsource=bib:contributors, fieldtarget=author]
\step[fieldsource=bib:authors, fieldtarget=author]
\step[fieldsource=z:interviewers, fieldtarget=author]
\step[fieldsource=z:directors, fieldtarget=author]
\step[fieldsource=z:scriptwriters, fieldtarget=author]
\step[fieldsource=z:bookAuthor, fieldtarget=author]
\step[fieldsource=z:inventors, fieldtarget=author]
\step[fieldsource=z:recipients, fieldtarget=author]
\step[fieldsource=z:counsels, fieldtarget=author]
\step[fieldsource=z:artists, fieldtarget=author]
\step[fieldsource=z:podcasters, fieldtarget=author]
\step[fieldsource=z:presenters, fieldtarget=author]
\step[fieldsource=z:commenters, fieldtarget=author]
\step[fieldsource=z:programers, fieldtarget=author]
\step[fieldsource=z:composers, fieldtarget=author]
\step[fieldsource=z:producers, fieldtarget=author]
\step[fieldsource=z:performers, fieldtarget=author]
\step[fieldsource=bib:editors, fieldtarget=editor]
\step[fieldsource=z:translators, fieldtarget=translator]
\step[fieldsource=z:seriesEditors, fieldtarget=editor]
\step[fieldsource=dc:date, fieldtarget=date]
\step[fieldsource=bib:pages, fieldtarget=pages]
\step[fieldsource=dc:title, fieldtarget=title]
\step[fieldsource=z:proceedingsTitle, fieldtarget=title]
\step[fieldsource=z:encyclopediaTitle, fieldtarget=title]
\step[fieldsource=z:dictionaryTitle, fieldtarget=title]
\step[fieldsource=z:websiteTitle, fieldtarget=title]
\step[fieldsource=z:forumTitle, fieldtarget=title]
\step[fieldsource=z:blogTitle, fieldtarget=title]
\step[fieldsource=z:nameOfAct, fieldtarget=title]
\step[fieldsource=z:caseName, fieldtarget=title]
\step[fieldsource=z:meetingName, fieldtarget=eventtitle]
\step[fieldsource=prism:volume, fieldtarget=volume]
\step[fieldsource=numberOfVolumes, fieldtarget=volumes]
\step[fieldsource=z:numPages, fieldtarget=pagetotal]
\step[fieldsource=prism:edition, fieldtarget=edition]
\step[fieldsource=dc:description, fieldtarget=note]
\step[fieldsource=dc:alternative, fieldtarget=shortjournal]
\step[fieldsource=dcterms:abstract, fieldtarget=abstract]
\step[fieldsource=dc:type, fieldtarget=type]
\step[fieldsource=z:shortTitle, fieldtarget=shorttitle]
\step[fieldsource=z:bookTitle, fieldtarget=booktitle]
\step[fieldsource=prism:number, fieldtarget=number]
\step[fieldsource=z:patentNumber, fieldtarget=number]
\step[fieldsource=z:codeNumber, fieldtarget=number]
\step[fieldsource=z:reportNumber, fieldtarget=number]
\step[fieldsource=z:billNumber, fieldtarget=number]
\step[fieldsource=z:documentNumber, fieldtarget=number]
\step[fieldsource=z:publicLawNumber, fieldtarget=number]
\step[fieldsource=z:applicationNumber, fieldtarget=number]
\step[fieldsource=z:episodeNumber, fieldtarget=number]
241
\step[fieldsource=dc:coverage, fieldtarget=location]
\step[fieldsource=z:university, fieldtarget=institution]
\step[fieldsource=z:language, fieldtarget=language]
\step[fieldsource=z:version, fieldtarget=version]
\step[fieldsource=z:libraryCatalog, fieldtarget=library]
\step[fieldsource=dcterms:isPartOf, fieldtarget=BIBERCUSTOMpartof]
\step[fieldsource=dc:identifier, fieldtarget=BIBERCUSTOMidentifier]
\step[fieldsource=dc:publisher, fieldtarget=BIBERCUSTOMpublisher]
\step[fieldsource=dc:presentedAt, fieldtarget=BIBERCUSTOMpresentedat]
\step[fieldsource=dc:subject, fieldtarget=BIBERCUSTOMsubject]
\step[fieldsource={dcterms:BIBERCUSTOMpartof/bib:Journal},
fieldtarget={dcterms:BIBERCUSTOMpartof/periodical}]
\step[fieldsource={dcterms:BIBERCUSTOMpartof/bib:Book},
fieldtarget={dcterms:BIBERCUSTOMpartof/book}]
\step[fieldsource={dcterms:BIBERCUSTOMpartof/bib:ConferenceProceedings},
fieldtarget={dcterms:BIBERCUSTOMpartof/proceedings}]
}
}
B Default Inheritance Setup
Te following table shows the Bibei cioss-iefeiencing iules dened by default. Please
iefei to 2.4.1 and 4..9 foi explanation.
Types Fields
Source Target Source Target
* * ids
crossref
xref
entryset
entrysubtype
execute
label
options
presort
related
relatedoptions
relatedstring
relatedtype
shorthand
shorthandintro
sortkey

mvbook, book inbook, bookinbook, suppbook author


author
author
bookauthor
mvbook book, inbook, bookinbook, suppbook title
subtitle
titleaddon
shorttitle
sorttitle
indextitle
indexsorttitle
maintitle
mainsubtitle
maintitleaddon

242
Types Fields
Source Target Source Target
mvcollection,
mvreference
collection, reference, incollection,
inreference, suppcollection
title
subtitle
titleaddon
shorttitle
sorttitle
indextitle
indexsorttitle
maintitle
mainsubtitle
maintitleaddon

mvproceedings proceedings, inproceedings title


subtitle
titleaddon
shorttitle
sorttitle
indextitle
indexsorttitle
maintitle
mainsubtitle
maintitleaddon

book inbook, bookinbook, suppbook title


subtitle
titleaddon
shorttitle
sorttitle
indextitle
indexsorttitle
booktitle
booksubtitle
booktitleaddon

collection,
reference
incollection, inreference,
suppcollection
title
subtitle
titleaddon
shorttitle
sorttitle
indextitle
indexsorttitle
booktitle
booksubtitle
booktitleaddon

proceedings inproceedings title


subtitle
titleaddon
shorttitle
sorttitle
indextitle
indexsorttitle
booktitle
booksubtitle
booktitleaddon

periodical article, suppperiodical title


subtitle
shorttitle
sorttitle
indextitle
indexsorttitle
journaltitle
journalsubtitle

C Default Sorting Schemes


C.1 Alphabetic Schemes 1
Te following table shows the standaid alphabetic soiting schemes dened by default.
Please iefei to 3. foi explanation.
Option Sorting scheme
nty presort
mm
sortname
author
editor
translator
sorttitle
title
sorttitle
title
sortyear
year
volume
0000
243
Option Sorting scheme
nyt presort
mm
sortname
author
editor
translator
sorttitle
title
sortyear
year
sorttitle
title
volume
0000
nyvt presort
mm
sortname
author
editor
translator
sorttitle
title
sortyear
year
volume
0000
sorttitle
title
all presort
mm
sortkey
C.2 Alphabetic Schemes 2
Te following table shows the alphabetic soiting schemes foi alphabetic styles
dened by default. Please iefei to 3. foi explanation.
Option Sorting scheme
anyt presort
mm
labelalpha sortname
author
editor
translator
sorttitle
title
sortyear
year
sorttitle
title
volume
0000
anyvt presort
mm
labelalpha sortname
author
editor
translator
sorttitle
title
sortyear
year
volume
0000
sorttitle
title
all presort
mm
labelalpha sortkey
C.3 Chronological Schemes
Te following table shows the chionological soiting schemes dened by default.
Please iefei to 3. foi explanation.
Option Sorting scheme
ynt presort
mm
sortyear
year
9999
sortname
author
editor
translator
sorttitle
title
sorttitle
title
ydnt presort
mm
sortyear (desc.)
year (desc.)
9999
sortname
author
editor
translator
sorttitle
title
sorttitle
title
all presort
mm
sortkey
244
D Option Scope
Te following table piovides an oveiview of the scope (global/pei-type/pei-entiy) of
vaiious package options.
Option Scope
Load-time Global Per-type Per-entry
abbreviate
alldates
arxiv
autocite
autopunct
autolang
backend
backref
backrefsetstyle
backrefstyle
bibencoding
bibstyle
bibwarn
block
citecounter
citereset
citestyle
citetracker
clearlang
datamodel
dataonly
date
dateabbrev
datezeros
defernumbers
doi
eprint
eventdate
firstinits
hyperref
ibidtracker
idemtracker
indexing
isbn
labelalpha
labelnamefield
labelnameform
labelnamelang
labelnumber
labeltitle
labeltitlefield
labeltitleform
labeltitlelang
labeltitleyear
labeldate
language
loadfiles
loccittracker
maxalphanames
maxbibnames
maxcitenames
maxitems
maxnames
maxparens
mcite
24
Option Scope
Load-time Global Per-type Per-entry
minalphanames
minbibnames
mincitenames
mincrossrefs
minitems
minnames
natbib
notetype
opcittracker
openbib
origdate
pagetracker
parentracker
punctfont
refsection
refsegment
safeinputenc
singletitle
skipbib
skiplab
skiplos
sortcase
sortcites
sortfirstinits
sorting
sortlocale
sortlos
sortupper
style
terseinits
texencoding
uniquelist
uniquename
urldate
url
useauthor
useeditor
useprefix
usetranslator
E Revision History
Tis ievision histoiy is a list of changes ielevant to useis of this package. Changes
of a moie technical natuie which do not aect the usei inteiface oi the behavioi of
the package aie not included in the list. lf an entiy in the ievision histoiy states
that a featuie has been improved oi extended, this indicates a modication which
eithei does not aect the syntax and behavioi of the package oi is syntactically
backwaids compatible (such as the addition of an optional aigument to an existing
command). Entiies stating that a featuie has been modied, renamed, oi removed
demand auention. Tey indicate a modication which may iequiie changes to
existing styles oi documents in some, hopefully iaie, cases. Te numbeis on the
iight indicate the ielevant section of this manual.
2.8 2013-10-21
New langidopts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.3
24
hyphenation eld ienamed to langid . . . . . . . . . . . . . . . . . . . . 2.2.3
polyglossia suppoit
Renamed babel option to autolang . . . . . . . . . . . . . . . . . . . . . . 3.1.2.1
Coiiected Dutch localisation
Added datelabel=year option . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2.1
Added datelabelsource eld . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.4.1
2.7a 2013-07-14
Bugx - iespect maxnames and uniquelist in \finalandsemicolon
Coiiected Fiench localisation
2.7 2013-07-07
Added eld eventtitleaddon to default datamodel and styles . . . . . . . 2.2.2
Added \ifentryinbib, \iffirstcitekey and \iflastcitekey . . . . . . . 4..2
Added postpunct special eld, documented multiprenote and multipostnote
special elds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.2
Added \UseBibitemHook, \AtEveryMultiCite, \AtNextMultiCite,
\UseEveryCiteHook, \UseEveryCitekeyHook, \UseEveryMultiCiteHook,
\UseNextCiteHook, \UseNextCitekeyHook, \UseNextMultiCiteHook,
\DeferNextCitekeyHook . . . . . . . . . . . . . . . . . . . . . . . . . . 4.10.
Fixed \textcite and ielated commands in the numeiic and veibose styles 3..2
Added multicite vaiiants of \volcite and ielated commands . . . . . . . 3..
Added \finalandsemicolon . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9.2
Added citation delimitei \textcitedelim foi \textcite and ielated commands to
styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.10.1
Updated Russian localization (Oleg Domanov)
Fixed Biazilian and Finnish localization
2.6 2013-04-30
Added \printunit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4..1
Added eld clonesourcekey . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.4.1
New options foi \DeclareLabelalphaTemplate . . . . . . . . . . . . . . . 4..4
Added \DeclareLabeldate and ietiied \DeclareLabelyear . . . . . . . . 4..8
Added nodate localization stiing . . . . . . . . . . . . . . . . . . . . . . . 4.9.2.14
Added \rangelen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4..4
Added staiied vaiiants of \citeauthor and \Citeauthor . . . . . . . . . . 3..
Restoied oiiginal url foimat. Added urlfrom localization key . . . . . . . 4.9.2.1
Added \AtNextBibliography . . . . . . . . . . . . . . . . . . . . . . . . . 4.10.
Fixed ielated entiy piocessing to allow nested and cyclic ielated entiies
Added Cioatian localization (lvo Pletikosi)
Added Polish localization (Anastasia Kandulina, Yuiiy Cheinyshov)
Fixed Catalan localization
24
Added smait of foi titles to Catalan and Fiench localization
Misc bug xes
2.5 2013-01-10
Made url woik as a localization stiing, defaulting to pieviously haid-coded value
URL.
Changed some Bibei option names to coheie with Bibei 1..
New souicemap step foi conditionally iemoving entiie entiies . . . . . . 4..2 Biber only
Updated Catalan localization (Sebasti Vila-Maita)
2.4 2012-11-28
Added relatedoptions eld . . . . . . . . . . . . . . . . . . . . . . . . . . 4..1 Biber only
Added \DeclareStyleSourcemap . . . . . . . . . . . . . . . . . . . . . . . 4..2 Biber only
Renamed \DeclareDefaultSourcemap to \DeclareDriverSourcemap . . . 4..2 Biber only
Documented \DeclareFieldInputHandler, \DeclareListInputHandler and
\DeclareNameInputHandler.
Added Czech localization (Michal Hofich)
Updated Catalan localization (Sebasti Vila-Maita)
2.3 2012-11-01
Beuei detection of situations which iequiie a Bibei oi L
A
T
E
X ie-iun
New append mode foi \DeclareSourcemap so that elds can be combined 4..2 Biber only
Extended auxiliaiy indexing macios
Added suppoit foi pluial localization stiings with relatedtype . . . . . . 4..1 Biber only
Added \csfield and \usefield . . . . . . . . . . . . . . . . . . . . . . . . 4..1
Added staiied vaiiant of \usebibmacro . . . . . . . . . . . . . . . . . . . 4..4
Added \ifbibmacroundef, \iffieldformatundef, \iflistformatundef and
\ifnameformatundef . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4..4
Added Catalan localization (Sebasti Vila-Maita)
Misc bug xes
2.2 2012-08-17
Misc bug xes
Added \revsdnamepunct . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9.1
Added \ifterseinits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4..2
2.1 2012-08-01
Misc bug xes
Updated Noiwegian localization (Hakon Malmedal)
lncieased data model auto-loading possibilities . . . . . . . . . . . . . . . 4..3 Biber only
248
2.0 2012-07-01
Misc bug xes
Geneialised singletitle test a liule . . . . . . . . . . . . . . . . . . . . . 4..2 Biber only
Added new special eld extratitleyear . . . . . . . . . . . . . . . . . . . 4.2.4 Biber only
Customisable data model . . . . . . . . . . . . . . . . . . . . . . . . . . . 4..3 Biber only
Added \DeclareDefaultSourcemap . . . . . . . . . . . . . . . . . . . . . . 4..2 Biber only
Added labeltitle option . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2.3 Biber only
Added new special eld extratitle . . . . . . . . . . . . . . . . . . . . . 4.2.4 Biber only
Made special eld labeltitle customisable . . . . . . . . . . . . . . . . . 4.2.4 Biber only
Removed eld reprinttitle . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Biber only
Added ielated entiy featuie . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Biber only
Added \DeclareNoinit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.. Biber only
Added \DeclareNosort . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.. Biber only
Added sorting option foi \printbibliography and \printshorthands . 3..2 Biber only
Added ids eld foi citekey aliasing . . . . . . . . . . . . . . . . . . . . . . 2.2 Biber only
Added sortfirstinits option . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2.3 Biber only
Added data stieam modication featuie . . . . . . . . . . . . . . . . . . . 4..2 Biber only
Added customisable labels featuie . . . . . . . . . . . . . . . . . . . . . . 4..4 Biber only
Added \citeyear* and \citedate* . . . . . . . . . . . . . . . . . . . . . . 3..
1.7 2011-11-13
Added xdata containeis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.11. Biber only
Added special entiy type xdata . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 Biber only
Added special eld xdata . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.3 Biber only
Suppoit maxnames/minnames globally/pei-type/pei-entiy . . . . . . . . . . 3.1.2.1 Biber only
Suppoit maxbibnames/minbibnames globally/pei-type/pei-entiy . . . . . . 3.1.2.1 Biber only
Suppoit maxcitenames/mincitenames globally/pei-type/pei-entiy . . . . . 3.1.2.1 Biber only
Suppoit maxitems/minitems globally/pei-type/pei-entiy . . . . . . . . . . 3.1.2.1 Biber only
Suppoit maxalphanames/minalphanames globally/pei-type/pei-entiy . . . 3.1.2.3 Biber only
Suppoit uniquelist globally/pei-type/pei-entiy . . . . . . . . . . . . . . 3.1.2.3 Biber only
Suppoit uniquename globally/pei-type/pei-entiy . . . . . . . . . . . . . . 3.1.2.3 Biber only
Added \textcite and \textcites to all verbose citation styles . . . . . . 3.3.1
Added special eld foimats date, urldate, origdate, eventdate . . . . . 4.10.4
Added \mkcomprange* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4..4
Added \mkfirstpage* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4..4
Added \volcitedelim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.10.1
Added missing documentation foi \ifentrytype . . . . . . . . . . . . . . 4..2
Added \mkbibneutord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9.2
Added countei biburlnumpenalty . . . . . . . . . . . . . . . . . . . . . . 4.10.3
249
Added countei biburlucpenalty . . . . . . . . . . . . . . . . . . . . . . . 4.10.3
Added countei biburllcpenalty . . . . . . . . . . . . . . . . . . . . . . . 4.10.3
Added localization keys book, part, issue, forthcoming . . . . . . . . . . 4.9.2
Added some lang... and from... localization keys . . . . . . . . . . . . 4.9.2
Expanded documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . D
Added suppoit foi Russian (Oleg Domanov)
Updated suppoit foi Dutch (Pietei Belmans)
Fixed compatibility issue with textcase package
Fixed some bugs
1.6 2011-07-29
Added special eld sortshorthand . . . . . . . . . . . . . . . . . . . . . . 2.2.3 Biber only
Revised options maxnames/minnames . . . . . . . . . . . . . . . . . . . . . 3.1.2.1
Options maxcitenames/mincitenames now suppoited by backend . . . . . 3.1.2.1 Biber only
Options maxbibnames/minbibnames now suppoited by backend . . . . . . 3.1.2.1 Biber only
Added options maxalphanames/minalphanames . . . . . . . . . . . . . . . 3.1.2.3 Biber only
Removed local options maxnames/minnames fiom \printbibliography . . 3..2
Removed local options maxitems/minitems fiom \printbibliography . . 3..2
Removed local options maxnames/minnames fiom \bibbysection . . . . . . 3..2
Removed local options maxitems/minitems fiom \bibbysection . . . . . . 3..2
Removed local options maxnames/minnames fiom \bibbysegment . . . . . . 3..2
Removed local options maxitems/minitems fiom \bibbysegment . . . . . . 3..2
Removed local options maxnames/minnames fiom \bibbycategory . . . . . 3..2
Removed local options maxitems/minitems fiom \bibbycategory . . . . . 3..2
Removed local options maxnames/minnames fiom \printshorthands . . . . 3..3
Removed local options maxitems/minitems fiom \printshorthands . . . . 3..3
Added special eld foimat volcitevolume . . . . . . . . . . . . . . . . . . 3..
Added special eld foimat volcitepages . . . . . . . . . . . . . . . . . . 3..
Added special eld hash . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.4.1 Biber only
Added \mkcomprange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4..4
Added \mkfirstpage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4..4
Removed \mkpagefirst . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4..4
Fixed some bugs
1.5a 2011-06-17
Fixed some bugs
1.5 2011-06-08
Added option uniquename=mininit/minfull . . . . . . . . . . . . . . . . 3.1.2.3 Biber only
Added option uniquelist=minyear . . . . . . . . . . . . . . . . . . . . . . 3.1.2.3 Biber only
Updated documentation of uniquename countei . . . . . . . . . . . . . . . 4..2 Biber only
20
Updated documentation of uniquelist countei . . . . . . . . . . . . . . . 4..2 Biber only
Expanded documentation foi uniquename/uniquelist options . . . . . . 4.11.4 Biber only
Added editoiial iole reviser . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.
Added localization keys reviser, revisers, byreviser . . . . . . . . . . . 4.9.2
Added bibliogiaphy heading none . . . . . . . . . . . . . . . . . . . . . . 3..
Fixed some memoir compatibility issues
1.4c 2011-05-12
Fixed some bugs
1.4b 2011-04-12
Fixed some bugs
1.4a 2011-04-06
Enable uniquename and uniquelist in all authortitle styles . . . . . . . 3.3.1
Enable uniquename and uniquelist in all authoryear styles . . . . . . . . 3.3.1
Fixed some bugs
1.4 2011-03-31
Added package option uniquelist . . . . . . . . . . . . . . . . . . . . . . 3.1.2.3 Biber only
Added special countei uniquelist . . . . . . . . . . . . . . . . . . . . . . 4..2 Biber only
Revised and impioved package option uniquename . . . . . . . . . . . . . 3.1.2.3 Biber only
Revised and impioved special countei uniquename . . . . . . . . . . . . . 4..2 Biber only
Added \bibnamedelimi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9.1 Biber only
Added \bibindexnamedelima . . . . . . . . . . . . . . . . . . . . . . . . . 3.9.1
Added \bibindexnamedelimb . . . . . . . . . . . . . . . . . . . . . . . . . 3.9.1
Added \bibindexnamedelimc . . . . . . . . . . . . . . . . . . . . . . . . . 3.9.1
Added \bibindexnamedelimd . . . . . . . . . . . . . . . . . . . . . . . . . 3.9.1
Added \bibindexnamedelimi . . . . . . . . . . . . . . . . . . . . . . . . . 3.9.1
Added \bibindexinitperiod . . . . . . . . . . . . . . . . . . . . . . . . . 3.9.1
Added \bibindexinitdelim . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9.1
Added \bibindexinithyphendelim . . . . . . . . . . . . . . . . . . . . . . 3.9.1
Fixed conict with some s classes
1.3a 2011-03-18
Fixed some bugs
1.3 2011-03-14
Suppoit @thesis with isbn . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1
Updated terseinits option . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2.1
Allow macios in aigument to \addbibresource and fiiends . . . . . . . . 3..1
Allow macios in aigument to \bibliography . . . . . . . . . . . . . . . . 3..1
lntioducing expeiimental suppoit foi Zoteio vui/xi . . . . . . . . . . . 3..1 Biber only
21
lntioducing expeiimental suppoit foi EndNote xi . . . . . . . . . . . . 3..1 Biber only
Added option citecounter . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2.3
Added citecounter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4..2
Added \smartcite and \Smartcite . . . . . . . . . . . . . . . . . . . . . . 3..2
Added \smartcites and \Smartcites . . . . . . . . . . . . . . . . . . . . 3..3
Added \svolcite and \Svolcite . . . . . . . . . . . . . . . . . . . . . . . 3..
Added \bibnamedelima . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9.1 Biber only
Added \bibnamedelimb . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9.1 Biber only
Added \bibnamedelimc . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9.1
Added \bibnamedelimd . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9.1
Added \bibinitperiod . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9.1 Biber only
Added \bibinitdelim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9.1 Biber only
Added \bibinithyphendelim . . . . . . . . . . . . . . . . . . . . . . . . . 3.9.1 Biber only
Expanded documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.12.4
Added position paiametei f to \DeclareAutoCiteCommand . . . . . . . . 4.3.1
1.2a 2011-02-13
Fix in \mkbibmonth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.10.4
1.2 2011-02-12
Added entiy type @mvbook . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1
Added entiy type @mvcollection . . . . . . . . . . . . . . . . . . . . . . . 2.1.1
Added entiy type @mvproceedings . . . . . . . . . . . . . . . . . . . . . . 2.1.1
Added entiy type @mvreference . . . . . . . . . . . . . . . . . . . . . . . 2.1.1
lntioducing iemote iesouices . . . . . . . . . . . . . . . . . . . . . . . . . 3..1 Biber only
lntioducing expeiimental vis suppoit . . . . . . . . . . . . . . . . . . . . 3..1 Biber only
Added \addbibresource . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3..1
\bibliography now depiecated . . . . . . . . . . . . . . . . . . . . . . . . 3..1
\bibliography* ieplaced by \addglobalbib . . . . . . . . . . . . . . . . . 3..1
Added \addsectionbib . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3..1
Updated and expanded documentation . . . . . . . . . . . . . . . . . . . . 2.4.1
lntioducing smait crossref data inheiitance . . . . . . . . . . . . . . . . 2.4.1.2 Biber only
lntioducing crossref conguiation inteiface . . . . . . . . . . . . . . . . 4..9 Biber only
Added \DefaultInheritance . . . . . . . . . . . . . . . . . . . . . . . . . 4..9 Biber only
Added \DeclareDataInheritance . . . . . . . . . . . . . . . . . . . . . . 4..9 Biber only
Added \ResetDataInheritance . . . . . . . . . . . . . . . . . . . . . . . . 4..9 Biber only
Added \ifkeyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4..2
Added \ifentrykeyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4..2
Added \ifcategory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4..2
Added \ifentrycategory . . . . . . . . . . . . . . . . . . . . . . . . . . . 4..2
22
Added \ifdriver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4..2
Added \forcsvfield . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4..4
Extended \mkpageprefix . . . . . . . . . . . . . . . . . . . . . . . . . . . 4..4
Extended \mkpagetotal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4..4
Extended \mkpagefirst . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4..4
Added localization key inpreparation . . . . . . . . . . . . . . . . . . . . 4.9.2
Reaiianged manual slightly, moving some tables to the appendix
1.1b 2011-02-04
Added option texencoding . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2.1 Biber only
Added option safeinputenc . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2.1 Biber only
Expanded documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.3.4
lmpioved mergedate option of bibliogiaphy style authoryear . . . . . . . 3.3.2
Removed pass option of \DeclareSortingScheme . . . . . . . . . . . . . . 4.. Biber only
Fixed some bugs
1.1a 2011-01-08
Added unsuppoited entiy type @bibnote . . . . . . . . . . . . . . . . . . 2.1.3
Added \bibliography* . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3..1
Fixed some bugs
1.1 2011-01-05
Added option maxbibnames . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2.1
Added option minbibnames . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2.1
Added option maxcitenames . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2.1
Added option mincitenames . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2.1
Fixed idemtracker=strict and idemtracker=constrict . . . . . . . . . . 3.1.2.3
Added option mergedate to bibliogiaphy style authoryear . . . . . . . . . 3.3.2
Added suppoit foi prefixnumbers to bibliogiaphy style alphabetic . . . 3.3.2
Made option useprefix seuable on a pei-type basis . . . . . . . . . . . . 3.1.3 Biber only
Made option useauthor seuable on a pei-type basis . . . . . . . . . . . . 3.1.3 Biber only
Made option useeditor seuable on a pei-type basis . . . . . . . . . . . . 3.1.3 Biber only
Made option usetranslator seuable on a pei-type basis . . . . . . . . . . 3.1.3 Biber only
Made option skipbib seuable on a pei-type basis . . . . . . . . . . . . . . 3.1.3 Biber only
Made option skiplos seuable on a pei-type basis . . . . . . . . . . . . . . 3.1.3 Biber only
Made option skiplab seuable on a pei-type basis . . . . . . . . . . . . . . 3.1.3 Biber only
Made option dataonly seuable on a pei-type basis . . . . . . . . . . . . . 3.1.3 Biber only
Made option labelalpha seuable on a pei-type basis . . . . . . . . . . . . 3.1.2.3 Biber only
Made option labelnumber seuable on a pei-type basis . . . . . . . . . . . 3.1.2.3
Made option labelyear seuable on a pei-type basis . . . . . . . . . . . . 3.1.2.3 Biber only
Made option singletitle seuable on a pei-type basis . . . . . . . . . . . 3.1.2.3 Biber only
23
Made option uniquename seuable on a pei-type basis . . . . . . . . . . . . 3.1.2.3 Biber only
Made option indexing seuable on a pei-type basis . . . . . . . . . . . . . 3.1.2.1
Made option indexing seuable on a pei-entiy basis . . . . . . . . . . . . . 3.1.2.1
Extended \ExecuteBibliographyOptions . . . . . . . . . . . . . . . . . . 3.2.2
Added \citedate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3..
lmpioved static entiy sets . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.11. Biber only
lntioducing dynamic entiy sets . . . . . . . . . . . . . . . . . . . . . . . . 3.11. Biber only
Added \defbibentryset . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3..10 Biber only
Added option mcite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 Biber only
Added mcite/mciteplus-like commands . . . . . . . . . . . . . . . . . . . 3..10 Biber only
Added \sortalphaothers . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9.1 Biber only
Extended \DeclareNameFormat . . . . . . . . . . . . . . . . . . . . . . . . 4.4.2
Extended \DeclareIndexNameFormat . . . . . . . . . . . . . . . . . . . . . 4.4.2
Extended \DeclareListFormat . . . . . . . . . . . . . . . . . . . . . . . . 4.4.2
Extended \DeclareIndexListFormat . . . . . . . . . . . . . . . . . . . . . 4.4.2
Extended \DeclareFieldFormat . . . . . . . . . . . . . . . . . . . . . . . 4.4.2
Extended \DeclareIndexFieldFormat . . . . . . . . . . . . . . . . . . . . 4.4.2
Added \DeclareNameFormat* . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.2
Added \DeclareIndexNameFormat* . . . . . . . . . . . . . . . . . . . . . . 4.4.2
Added \DeclareListFormat* . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.2
Added \DeclareIndexListFormat* . . . . . . . . . . . . . . . . . . . . . . 4.4.2
Added \DeclareFieldFormat* . . . . . . . . . . . . . . . . . . . . . . . . 4.4.2
Added \DeclareIndexFieldFormat* . . . . . . . . . . . . . . . . . . . . . 4.4.2
lntioducing conguiable soiting schemes Biber only
Added \DeclareSortingScheme . . . . . . . . . . . . . . . . . . . . . . . . 4.. Biber only
Added \DeclarePresort . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.. Biber only
Added \DeclareSortExclusion . . . . . . . . . . . . . . . . . . . . . . . . 4.. Biber only
Added \DeclareLabelname . . . . . . . . . . . . . . . . . . . . . . . . . . 4..8 Biber only
Added \DeclareLabelyear . . . . . . . . . . . . . . . . . . . . . . . . . . 4..8 Biber only
lmpioved special eld labelname . . . . . . . . . . . . . . . . . . . . . . . 4.2.4 Biber only
lmpioved special eld labelyear . . . . . . . . . . . . . . . . . . . . . . . 4.2.4 Biber only
Added \entrydata* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.1
Added \RequireBiber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4..4
Added option check to \printbibliography . . . . . . . . . . . . . . . . . 3..2
Added option check to \printshorthands . . . . . . . . . . . . . . . . . . 3..3
Added \defbibcheck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3..9
Updated suppoit foi Poituguese (Jos Cailos Santos)
Fixed conict with titletoc
Fixed some bugs
24
1.0 2010-11-19
Fiist ocially stable ielease
Renamed option bibencoding=inputenc to bibencoding=auto . . . . . . 3.1.2.1
Made bibencoding=auto the package default . . . . . . . . . . . . . . . . 3.1.2.1
Added option backend=bibtexu . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2.1
Slightly updated documentation . . . . . . . . . . . . . . . . . . . . . . . 2.4.3
Updated suppoit foi Dutch (Alexandei van Loon)
Updated suppoit foi ltalian (Andiea Maichitelli)
2

Das könnte Ihnen auch gefallen