LinuxCommandLibrary

biber

Process BibTeX bibliography files for LaTeX

SYNOPSIS

biber [options] <basefilename>

PARAMETERS

-h, --help
    Displays a help message and exits.

-V, --version
    Shows biber version information and exits.

-d, --debug
    Enables debug mode, providing verbose logging output.

-D, --debuglog <file>
    Redirects debug output to the specified log file.

-l, --logfile <file>
    Specifies a file for general log messages.

-O, --output_directory <dir>
    Sets the directory where output files (e.g., .bbl) will be written.

--input_encoding <encoding>
    Defines the character encoding of input files (e.g., UTF-8, latin1). Default is UTF-8.

--output_encoding <encoding>
    Defines the character encoding for output files. Default is UTF-8.

--config <file>
    Specifies an alternative XML configuration file for biber.

--safe_mode
    Enables safe mode, restricting certain operations like external command execution.

--terse
    Suppresses informational messages, only showing warnings and errors.

--quiet
    Suppresses all messages except critical errors.

--output_format <format>
    Specifies the output format (e.g., bbl, bibtex, xml, json).

--onlycompile
    Processes the bibliography but does not generate the .bbl output for LaTeX.

--sortcase
    Enforces case-sensitive sorting of bibliography entries.

--min_crossrefs <num>
    Sets the minimum number of cross-references an entry must have to be included.

DESCRIPTION

biber is a powerful and highly configurable bibliography processor, designed as a modern replacement for BibTeX. It serves as the primary backend for the biblatex package in LaTeX, overcoming many limitations of its predecessor. Written in Perl, biber provides robust Unicode support, advanced sorting capabilities, multi-language features, and a flexible data model for bibliography entries. It processes the .bcf (BibLaTeX Control File) generated by LaTeX engines like pdflatex or xelatex, then produces a .bbl file containing the formatted bibliography, which is subsequently included in the LaTeX document. Its design allows for extensive customization of bibliography styles and data handling, making it an indispensable tool for academic writing in LaTeX.

CAVEATS

biber is specifically designed for the biblatex package; it is not a direct replacement for BibTeX when using older bibliography styles (like plain, abbrv, alpha, unsrt) or packages like natbib. While it offers excellent Unicode support, ensuring consistent encoding across your LaTeX document, .bib file, and biber's settings is crucial to avoid issues. For very large bibliographies, its processing can sometimes be slower than BibTeX.

TYPICAL WORKFLOW

A common compilation sequence for a LaTeX document using biblatex and biber is:
1. Run your LaTeX engine (e.g., pdflatex main.tex) to generate the .bcf file.
2. Run biber (e.g., biber main) to process the .bcf and generate the .bbl file.
3. Run your LaTeX engine again (e.g., pdflatex main.tex) to incorporate the .bbl into the document.
4. Run your LaTeX engine one final time (e.g., pdflatex main.tex) to resolve all cross-references and citations.

CONFIGURATION

biber is extensively configurable through its command-line options and XML-based configuration files (typically biber.conf). This allows users to define custom data models, sorting schemes, and other advanced behaviors, making it highly adaptable to various academic and publishing requirements.

HISTORY

biber was created by Philip Kime and first released around 2006-2007, developed specifically to address the numerous limitations of the aging BibTeX program. Key motivations included the lack of native Unicode support in BibTeX, its inflexible data model, and limited sorting and customization options. Its development in Perl allowed for greater flexibility and extensibility. biber quickly became the de-facto standard backend for the popular biblatex package, establishing a modern, robust, and highly configurable bibliography workflow for LaTeX users.

SEE ALSO

pdflatex(1), xelatex(1), lualatex(1), bibtex(1)

Copied to clipboard