-
Notifications
You must be signed in to change notification settings - Fork 366
Biber Support
biber
is a program designed to replace bibtex
when working with biblatex
. If you do not specify a backend
option when using biblatex
, it will default to using biber
. biber
is invoked by the LaTeXTools builder to process your bib
file into data LaTeX can use directly.
For the most part, biber
is supported and should work out of the box. This is because latexmk
does a good job of detecting when biber
(as opposed to bibtex
) needs to be run and running it. Unfortunately, there is one major scenario where biber
support is a little more rocky: when using MiKTeX. By default, when using MiKTeX, LaTeXTools will run MiKTeX's compiler driver, texify
. texify
, though offering intelligent handling of a number of different scenarios, doesn't know about biber
or make any attempt to run biber
unless explicitly told to via the %BIBTEX%
environment variable. Fortunately, there are a range of ways available to work around this.
Here's a run-down of the various ways that biber
can be used with LaTeXTools on Windows.
In v3.8.0, a basic
builder was added that is similar to the simple
builder, but natively supports biber
. You can use this builder by changing your builder
setting to basic
. This is probably the simplest way to add support for biber
on MiKTeX, but note that it is not as feature-rich as latexmk
and lacks texify
's support for makeindex
.
As stated above, unlike texify
, latexmk
knows about biber
and will execute biber
when it finds the appropriate output in the log file. Although latexmk
is not installed as part of the default MiKTeX suite, it is available as a package and can be installed in the usual ways either using mpm --install
from the command prompt or using the package manager.
After installing latexmk
, you will need to "fool" LaTeXTools into using it by changing the command
setting in the builder_settings
block of your LaTeXTools.sublime-settings file. To do this, find the "builder_settings"
section and then add the following line within it:
"command": "latexmk -cd -f -%E -interaction=nonstopmode -synctex=1"
Now, the traditional builder will run using latexmk
instead of texify
and biber
should be run automatically.
The script builder included from v3.6.2 can be used to run biber
(and virtually any other commands that might be relevant to your build; see the documentation in the README for a run-down of how to use it).
Normally, when using the script builder, you'll define the script in the project file settings, but if you don't use Sublime Text's project feature you can also change the relevant settings in your LaTeXTools.sublime-settings file. We simply don't recommend this configuration. In the "settings"
section of your project file add the following lines:
"builder": "script"
"builder_settings": {
"windows": {
"script_commands": [
"pdflatex -synctex=1 -interaction=nonstopmode",
"biber",
"pdflatex -synctex=1 -interaction=nonstopmode",
"pdflatex -synctex=1 -interaction=nonstopmode"
]
}
}
This will setup the script builder to run the standard pdflatex
-> biber
-> pdflatex
-> pdflatex
sequence. Note, however, the script builder (unlike texify
and latexmk
) is quite naive. It will just try to execute the series of commands you give it, regardless of the outcome of the previous step.
This is a relatively advanced topic, but it is possible to make a custom builder that runs the pdflatex
-> biber
-> pdflatex
-> pdflatex
sequence (or whatever else you might want to do). There is some documentation on the custom builder system on another wiki page, which includes one sample builder, intended to demonstrate using user settings, but which supports switching between using BibTeX and Biber.