<< | Page list | >>
How to use BibLaTeX with LyX 2.2
BibLaTeX is a completely new approach to bibliography management. It avoids the crude language of BibTeX's bst files and controls the design of the bibliographies and citations by LaTeX macros. BibLaTeX introduces a new, LaTeX-based style file format or, more precisely, a system of task-differentiated style files: "biblatex bibliography styles" (bbx files) controlling the layout of the bibliography, "biblatex citation styles" (cbx file), controlling the layout of the citations, and "language definition files" (lbx files) controlling the localization. The biblatex package itself ships with a number of these files that cover the most common purposes. There are also user contributed additional biblatex styles for specific purposes or specific journals. BibLaTeX overcomes several limitations of BibTeX, and is much easier to use, for anyone familiar with LaTeX. Customizing a bibliography style can be as easy as adding a LaTeX line in your preamble. Furthermore, it is much more powerful than any other existing approach, providing things like citation filtering, sectioned bibliographies, chapter bibliographies, full cites, ibidem, gender differentiation, full localization, on the fly modification etc. Really, there's hardly a requirement BibLaTeX cannot fulfill. In terms of LaTeX bibliography management, it is a huge step forward.
BibLaTeX originally used bibtex for preprocessing but now biber, a bibliography processor written in Perl and specifically designed for BibLaTeX, is the preferred backend. Even though bibtex or bibtex8 can still be used, you'll need to use biber to get BibLaTeX running at full steam. Biber has no capacity limitations, it is fully unicode aware (but also supports many other encodings), it can modify bibliography data on the fly (thus allowing biblatex to perform many fancy tricks) and much more. Biber is closely tied to biblatex, which means that you can only use it with BibLaTeX (not with any of the other approaches), and you have to use specific versions of biber with specific versions of biblatex (a thing you usually do not need to care about, since both packages are included in and automatically updated by all modern LaTeX distributions).
(Here's the guide to using Biblatex with older versions of LyX)
Due to completely different interface and overall complexity, LyX doesn't provide native support for BibLaTeX yet. However, it is possible to use it with some effort, as described here. The biblatex manual strongly advises to use biber or at least bibtex8 instead of the traditional bibtex as the backend for processing the data, because the capacities of traditional bibtex are too limited for biblatex. To check which backend works for you, try compiling these two simple examples. Then continue reading to find out how it was all made to work for LyX v2.2.0 and biber:
Note on the natbib compatibility mode: The natbib=true option in the call of biblatex loads its natbib compatibility module. The module defines aliases for the citation commands provided by the natbib package. This includes aliases for the core citation commands \citet and \citep as well as the variants \citealt and \citealp.
These citation commands (or styles) can be invoked from the drop-down menu in Insert→Citation... if the Citation Style is set to natbib in Document→Settings→Bibliography. LyX, however, has to be tricked into not exporting the actual call to the natbib package by the following line in the document's local layout Document→Settings→Local Layout
Make sure you press the Validate button before applying the change.
Note on using bibtex (or bibtex8) instead of biber:
BibLaTeX originally used bibtex for pre-processing but now biber is its preferred pre-processor. If you want to use biblatex with classic bibtex or 8bit-character-aware bibtex8 nonetheless, you must pass the option
Then go to Document→Settings→Bibliography and change the
Note on XeTeX and polyglossia: If you use XeTeX with the polyglossia language package, you will need to manually load the polyglossia package in the preamble just before the above call to biblatex, and set the default language, as follows: