# Biblatex with Biber: Configuring my editor to avoid undefined citations

Running the minimal example

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@ARTICLE{example,
author  = {Other, Anthony Norman},
title   = {Some things I did},
year    = {2014},
journal = {J.~Irrep. Res.},
volume  = {1},
number  = {1},
pages   = {1-10}
}
\end{filecontents*}
\usepackage[backend=biber]{biblatex}
\begin{document}
Hello\cite{example}.
\printbibliography
\end{document}


I get the warning There were undefined references.

I have read Question mark instead of citation number and know that I need to run:

1. LaTeX
2. Biber
3. LaTeX

However, my editor is only set up to run BibTeX. How do I go about setting up my editor/IDE to be able to run Biber, and how do I run the LaTeX/Biber/LaTeX cycle?

## Answers (sorted alphabetically by editor name)

• Each answer should be for one editor. If the editor is cross-platform, if possible give a single answer with notes covering the minor platform variations.

• Each answer should be 'stand alone', i.e. don't say 'It's almost the same as editor Y but ...' for the editor part

• Instructions for 'build tools' such as arara or latexmk are welcome but should explain how to set up the editor in question as not all editors allow simple addition of arbitrary tools

-
For background to this question, see meta.tex.stackexchange.com/questions/4192/… –  Joseph Wright Jan 18 '14 at 18:31
–  texenthusiast Jan 18 '14 at 21:20
Would "my build script runs biber when necessary, out of the box" be a valid answer? –  Raphael Jan 18 '14 at 23:54
@Raphael I've tried to tighten up the guidelines to cover this. Broadly, I'd expect each answer to be about an editor, with details for using build tools fine for inclusion but hopefully focussed on the editor side. Generic 'how to use build tool X' instructions can then be linked but not included directly here. –  Joseph Wright Jan 19 '14 at 10:11

# Emacs with AUCTeX

## AUCTeX Version 11.88

Version 11.88 has (currently) probably the best support for biber and biblatex among *TeX editors: AUCTeX is able to look at biblatex load options to automatically choose the right bibliography processor on a per-document basis, you need only to enable file parsing by setting TeX-parse-self to t. You can do that by adding the following code to your .emacs

(setq TeX-parse-self t)


or customizing that variable with M-x customize-variable RET TeX-parse-self RET. Most AUCTeX users enable parsing, probably you've already done that, check it before adding the above line to your .emacs. To see the value of the variable issue C-h v TeX-parse-self RET.

As in the previous version, C-c C-c (TeX-command-master) prompts for biber/bibtex when the .bbl file is newer than the .tex file (but now it prompts for the appropriate bibliography processor, and not always biber or bibtex). In addition, if you use the toolbar, in this version the bibliography button will automatically switch between Run BibTeX and Run Biber.

In this version, the variable LaTeX-biblatex-use-Biber is local (and no more customizable) for cases in which AUCTeX fails to automatically detect the correct processor.

## AUCTeX Version 11.87

Version 11.87 is the first release of AUCTeX supporting biber by default and you don't need to add that processor to the command list. You can always run biber by hand with C-c C-c Biber RET.

### Set biber as default bibliography processor

AUCTeX uses bibtex as default bibliography processor. In order to set biber as default bibliography processor (for all documents and not on a per-document basis) you have to activate parsing of LaTeX documents by setting the variable TeX-parse-self to t (see above). Then, in source files with an explicit

\usepackage{biblatex}


line, C-c C-c prompts for biber or bibtex processor when needed (ie, if the .bbl file is newer than the .tex file), depending on the value of the customizable option LaTeX-biblatex-use-Biber, which defaults to t. But until version 11.87, AUCTeX isn't able to automatically choose the bibliography processor, which is set in a LaTeX document with the backend load option of the biblatex package. Unfortunately, the bibliography button on the toolbar is always bound to Run BibTeX, even if LaTeX-biblatex-use-Biber is set to t.

## Run latexmk

You can also run latexmk from AUCTeX. It isn't supported by default, but you can manually add it to TeX-command-list. Here are some Q&As on TeX Stack Exchange or Stack Overflow about how to setup latexmk in AUCTeX:

-
I take it instructions for 'vanilla' Emacs will be different? –  Joseph Wright Jan 18 '14 at 18:39
@JosephWright yes. –  giordano Jan 18 '14 at 18:44
I know some people use Emacs without AUCTeX, but I still can't understand what the killer feature is that vanilla Emacs provides. (At least with respect to LaTeX.) –  jon Jan 18 '14 at 20:46
@jon Well Emacs pops up in more than one answer in tex.stackexchange.com/questions/339/latex-editors-ides, so presumably some people use Emacs without AUCTeX. I guess the argument is that it's a good text editor in general, and without an add-in you get the same behaviour irrespective of the file you're editing. In any case, that doesn't affect the aim here :-) –  Joseph Wright Jan 18 '14 at 20:51
@JosephWright -- Indeed. I pratically live inside Emacs and I'm not a computer person! I meant it more as a sort of (light-hearted) provocative, tongue-in-cheek, comment. Although I have often wondered what AUCTeX did badly or what plain Emacs did particularly well, or if it was simply a matter or what one is used to, rather like the divide between vi(m) and Emacs. –  jon Jan 18 '14 at 21:14

# TeXnicCenter

Through LaTeX → PDF menu For ALL documents

Go to BuildDefine Output Profiles:

In the window that opens, choose any profile (say LaTeXPDF) and make the changes for bibtex field as in the following figure (again you can browse the biber.exe, see red arrow on the right).

Press OK and exit. Now in the main window choose LaTeXPDF from the build drop down tool button:

If you compile, biber is used now for all documents.

Making only biber as a standalone profile

Go to BuildDefine Output Profiles as explained before. Click on Add (1). In the window that opens type Biber (2), click OK to get Biber entry in the profile (3):

Now choose the profile Biber. In the window,

1. Un-check Run (La)TeX in this profile.
2. Un-check Do not use BibTeX in this profile.
3. Check Do not use MakeIndex in this profile.
4. Fill in the content for Path to BibTeX. You can also browse to biber.exe (see the red arrow to right).
5. Fill in the Command line arguments to pass to as shown.

All 5 above in the following figure:

Now your build drop down tool bar has Biber. Choose and compile:

In all steps above, don't forget to press OK in all windows before exiting.

-

# TeXShop

## Changing for all documents

If you want to make biber the default bibliography tool, you can simply change it in the TeXShop Engine preference panel.

## Changing on a per-document basis

Since most of us who are switching to biber still have documents which use bibtex it is often more useful to specify the bibliography engine directly in the document in the same way that other engines can be specified. See the following question for a full description of these possibilities.

To specify the bibliography program as biber or bibtex per document use either of the following lines at the beginning of your document. This will override what the default is set to on a per document basis. (To use bibtex on a document, replace biber with bibtex.)

% !BIB TS-program = biber
% !BIB program = biber

-

# Texmaker

Through Quick Build for ALL documents

Click on OptionsConfigure Texmaker:

The following window opens. In Commands tab replace bibtex % by biber %. You may browse to the biber.exe using the folder icon on the side (red arrow):

This will make biber as the default for all documents.

Now choose the Quick Build tab in which further choose the second option as in the following figure:

Now your quick buid button should run pdflatexbiberpdflatexview pdf. In all steps above, don't forget to press OK in all windows before exiting.

Making only biber as user command

Go to UserUser CommandsEdit User Commands as in the following figure:

In the window that opens, type in the content as shown (ignore arara thing ;-)..):

Now your build list should have biber:

Now, you can choose to run (only) biber as standalone when you wish.

-
Texmaker-biber-biblatex usage Documentation in French for xm1math.net/doculatex/biblatex.html –  texenthusiast Jan 19 '14 at 4:34
Similar procedure on Linux just replace bibtex %.aux to biber % in Bib(la)tex command box without full path to binaries. I suppose this would work with MiKTeX and TeXLive distro if miktex bin and texlive bin path are added to system path. –  texenthusiast Jan 19 '14 at 4:45
–  matth Jan 21 '14 at 8:01
if i choose to run (only) biber as standalone when you wish. What is the sequence of buttons I have to push? Is it command 2 + quick build or quick build + command 2? Thanks. @Harish Kumar –  kww Jul 7 at 23:32

## WinEdt

If you want to make Biber the default tool for compiling bibliographies, you have to go to "Options" -> "Execution Modes", "Console Application" panel, and change the value of the "Executable" field for the BibTeX accessory from bibtex.exe to biber.exe:

In this way, each time you launch the command BibTeX, WinEdt will execute Biber.

Even when you launch commands like PDFTeXify (and using MiKTeX's texify.exe as engine), WinEdt will be able to compile the bibliography with Biber.

For WinEdt versions 7 and above, there is a configuration component called "LaTeXify" available on http://www.winedt.org/Config/menus/LaTeXify.php. It is provided with an install and an uninstall macro.

After installing it, you will have the chance to run either BibTeX or Biber, through toolbar buttons, menu items or keyboard shortcuts.

Apart from Biber, the add-on LaTeXify also adds commands for automated compilations, like PDFTeXify.

Here is a list

• XeTeXify (runs BibTeX and PDFTeXify with XeLaTeX engine)
• LuaTeXify (runs BibTeX and PDFTeXify with LuaLaTeX engine)
• LaTeXify (runs Biber and TeXify with LaTeX engine)
• PDFLaTeXify (runs Biber and PDFTeXify with PDFLaTeX engine)
• XeLaTeXify (runs Biber and PDFTeXify with XeLaTeX engine)
• LuaLaTeXify (runs Biber and PDFTeXify with LuaLaTeX engine)
-

## TeXworks

The list of binaries known by TeXworks depends on where you get the program from: direct from the TeXworks site or as part of TeX Live or MiKTeX. However, at present Biber is not included in the standard set in any case. The steps needed to add Biber as an option are as follows:

1. In the TeXworks preferences ('Preferences ...' on the Mac or 'Edit -> Preferences' on Windows/Linux, choose the Typesetting tab.
2. Use the '+' icon to add a new entry to to the 'Processing tool' list
3. Fill in the resulting box as follows:

• Name: Biber
• Program: biber

### Using the default build engine ("traditional") with MikTeX (Windows):

With MikTeX, LaTeXtools' default builder will use textify. Since I don't run Windows, someone else might be more qualified to provide instructions.

### Using other build engines (e.g. "simple") or custom ones:

I've only been using LaTeXtools since today and haven't needed a custom build engine, so please excuse that I didn't do any research in this regard. However, there're related discussions (first, second) going on over at GitHub.

-