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}
\addbibresource{\jobname.bib}
\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?

Answer guidelines

• 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.

• Please edit the question to include new answers in the 'link list'

• 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
I'm adding a link to this from the biber documentation from version 1.9 and removing the meagre comments about this I currently have in there. – PLK Jan 20 '14 at 18:01

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

-
Is it necessary to change paths with the advent of El Capitan here? I.e. something along the lines of /ust/texbin -> /Library/TeX/texbin? – moewe Oct 7 '15 at 12:18

Texmaker

Through Quick Build for ALL documents

Click on OptionsConfigure Texmaker:

The following window opens. In Commands tab replace bibtex % by biber %. Make sure that you only have % after the path to Biber and not %.aux. 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 '15 at 23:32

Editor name: SublimeText / Sublime LaTeX package. https://tekonomist.wordpress.com

main.tex first line should say

%!TEX program = <program>
%\ program: one of pdflatex (the default), xelatex or lualatex. This
%\ selects the TeX engine.


bibliography.bib first 2 lines should say

%!TEX program = bibtex
%!TEX root = main.tex

-
instructions are from SublimeText/LaTeXTools on GitHub section: "Build engine settings" – בנימן הגלילי Sep 10 '15 at 9:21
Are you sure the first line of bibliography.bib should be bibtex instead of biber? – giordano Sep 10 '15 at 9:39
Is there a way to have Biber as the bibliography compiler on a global scale in Sublime or is it always necessary to specify the use of Biber on a per-document basis? – moewe Sep 10 '15 at 9:49

Sublime Text 2 & 3 with LaTeXtools

Using the default build engine ("traditional") with MacTeX (OSX) or TeXlive (Windows/OSX/Linux):

On these platforms, LaTeXtools' default (or "traditional") build engine uses latexmk by default. latexmk, in turn, supports biber+biblatex out of the box as of version 4.22 (at least in principle; there have been a few bug fixes since then regarding biber). Hence it doesn't make any difference for LaTeXtools whether you use bibtex or biber because it only cares about your .bib files (whose format does not depend on your choice of bibtex/biber) and supports both \bibliography and \addbibresource. Pressing Ctrl+b to build should be all you need to do.

Put differently, if you experience any issues, try $latexmk <yourtexfile>.tex on the command line first. 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. - Emacs with AUCTeX (adapted from this answer) 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 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 • Arguments: $basename (use the 'plus' icon to add in a line for an argument)
• 'View PDF after running': untick

then OK this box and the preferences.

4. To compile the document using Biber, first run pdfLaTeX (or XeLaTeX/LuaLaTeX) as normal, then choose 'Biber' from the dropdown and run it, before going back to pdfLaTeX and running it.

Build tools such as latexmk or arara can be set up in a similar way, probably leaving 'View PDF after running' ticked.

-

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.

LaTeXify add-on

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)
-

Inlage

Adding biber as a new menu in PDFLaTeX & biber

Go to BuildCompiler Options:

This opens:

Now,

1. Choose PDFLaTeX & BibTeX
2. Press Duplicate to get a copy of PDFLaTeX & BibTeX.
3. Now press Rename and rename PDFLaTeX & BibTeX copy to PDFLaTeX & Biber as shown below:

Now you should have a profile named PDFLaTeX & Biber. Open it. Select BibTeX (arrow 2). Choose Binary Name (arrow 3) as in this figure:

Save and you will have PDFLaTeX & Biber build menu as:

Which will execute pdflatexbiberpdflatexpdflatex.

Biber as standalone

Go to BuildCompiler Options as explained above.

Now,

1. Choose PDFLaTeX
2. Press Duplicate to get a copy of PDFLaTeX.
3. Now press Rename and rename PDFLaTeX copy to Biber as explained eariler.
4. Make changes in Binary Name as shown below:

After saving, you will get a build menu named Biber:

This will run only biber.

-

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.

-

Kile (2.1.3)

This answer is adapted from the TeXStudio answer.

Kile's build process may or may not run a bibliography tool in addition to running LaTeX or PDFLaTeX. It will depend on precisely which Build option is run. In some cases, then, you may need to run the bibliography tool separately.

Using BibTeX

1. To compile a document with BibTeX:

• Choose 'Build -> Compile -> your preferred tool e.g. LaTeX or PDFLaTeX'
• Choose 'Build -> Compile -> BibTeX'
• Choose 'Build -> Compile -> your preferred tool'
• Choose 'Build -> Compile -> your preferred tool'

It is possible to set up Kile in alternative ways to achieve the same effect. The key is that you have to ensure that there is a sequence

LaTeX
BibTeX
LaTeX
LaTeX


which can be done 'by hand' (as I have) or can be automated in various ways. Note that the same general idea applies whatever editor is used: this is a feature of LaTeX and not of the editor.

Using Biber

By default, Kile will never run Biber rather than BibTeX. Enabling Biber requires you to change the settings. The steps to do this are as follows:

1. In Kile, open the preferences dialogue using 'Settings -> Configure Kile...'. Choose 'Tools -> Build' from the menu on the left.

2. Under 'Select a Tool' there is a button 'New...'. Click this to create an option for Biber. When asked for a 'short descriptive name', type Biber and click 'Next'. From the dropdown menu, set the class of the new tool as 'BibTeX' and then click 'Finish'. This means the new tool will inherit BibTeX's settings as a basis.

3. To configure the new tool, choose 'Biber' from the list under 'Select a tool'. On the right, you now have a detailed set of options. Leave the dropdown menu at the top on 'Default'. Then configure the options for the tabs underneath.

4. 'General' tab:

• 'Command': type biber (deleting anything already there)
• 'Options': make sure this says '%S' (including the quotation marks)

At this point, it should look like this:

5. 'Advanced' tab:

• 'Type': select 'Run outside of Kile'
• 'Class': select 'Compile'
• 'Source extension': type bcf
• 'Target extension': type bbl
• 'Target file': leave blank
• 'Relative directory': leave blank
• 'State': select 'Editor'

So the contents of the 'Advanced' tab should be:

6. 'Menu' tab:

• 'Add tool to Build menu': select 'Compile' (unless you have different ideas)
• 'Icon': select/set as you wish
7. Before applying your changes, check any build tools you use regularly from the list under 'Select a tool'. If any of these are set to run BibTeX, rather than Biber, change the commands appropriately.

8. Click 'OK' at the bottom right of the dialogue.

9. To compile a document with Biber rather than BibTeX:

• Choose 'Build -> Compile -> your preferred tool e.g. LaTeX or PDFLaTeX'
• Choose 'Build -> Compile -> Biber'
• Choose 'Build -> Compile -> your preferred tool'
• Choose 'Build -> Compile -> your preferred tool' (if a second run is required)

It is possible to set up Kile in alternative ways to achieve the same effect. The key is that you have to ensure that there is a sequence

LaTeX
Biber
LaTeX


which can be done 'by hand' (as I have) or can be automated in various ways. Note that the same general idea applies whatever editor is used: this is a feature of LaTeX and not of the editor.

-
Also of note: if a document includes the string \bibliography, Kile 2.1.3 is hard-coded to automatically run Bibtex after LaTeX or PDFLaTeX. To disable this, you have to click on LaTeX or PDFLaTeX or so on (whichever you are using) in the "Select a tool" list and uncheck the "Automatically run additional tools" checkbox; this will also disable automatic running of MakeIndex and Asymptote. However, future versions of Kile will detect the biblatex backend in use and run the appropriate tool, Biber or Bibtex. – David Z Jan 19 '14 at 5:53

TeXstudio

In the current release (2.6 branch), TeXstudio's build process ('Build & View') by default runs pdfLaTeX but not a bibliography tool, which you need to do separately. There is also a need to change the settings to run Biber rather than BibTeX for creating a bibliography. Thus the steps required are as follows:

1. In the TeXstudio preferences ('Preferences ...' on the Mac or 'Options -> Configure TeXstudio' on Windows), choose the Build tab and alter the 'Default Bibliography' to 'Biber'. Save and close the preferences.

2. Run 'Build & View' from the 'Tools' menu (or press the two green arrows icon), which will create a PDF but with the bibliography not completed

3. Run 'Bibliography' from the 'Tools' menu.

4. Run 'Build & View' again: the bibliography will appear in the PDF.

It is possible to set up TeXstudio in alternative ways to achieve the same effect. The key is that you have to ensure that the is a sequence

1. LaTeX
2. Biber
3. LaTeX

which can be done 'by hand' (as I have) or can be automated in various ways. Note that the same general idea applies whatever editor is used: this is a feature of LaTeX and not of the editor.

-
More or less what I put in tex.stackexchange.com/questions/153647/… – Joseph Wright Jan 18 '14 at 18:40