BIBER(1)
π BIBER(1) π
User Contributed Perl Documentation β yes bestie, we're reading the biber(1) manual together, grab a snack π
β¨ NAME β¨
"biber" β a bibtex replacement for users of biblatex. that's it, that's the whole vibe. iconic behavior honestly π
πΈ SYNOPSIS πΈ
biber [options] file[.bcf]
biber [options] --tool <datasource>
okay so here's what's happening. it creates file.bbl using the control file file.bcf (the .bcf extension is optional, she's flexible like that β¨). normally when you use it with biblatex you don't need any options at all because they're all set inside biblatex and passed over through the .bcf file. no cap, zero flags needed, she just knows π«Ά
in tool mode (peep the --tool option below), it takes a datasource (which defaults to the bibtex datasource) and outputs a copy of the datasource with any command-line or config file options applied. like a little makeover for your data π
please run biber --help for option details, bestie. it's right there.
π¦ DESCRIPTION π¦
"biber" provides a replacement of the bibtex processor for users of biblatex. that's the whole description. short, sweet, main character energy π
π OPTIONS π
so many options. we love a girl with range. let's go one by one, no skipping, periodt π
--annotation-marker=[marker]β sets the suffix that can get tacked onto a BibTeX data source field name to signal that the field's value is a data annotation. default is"+an".--cacheβ if you're running as a PAR::Packer binary, this shows the cache location and exits. that's it, that's the whole job π--clrmacrosβ clears any BibTeX macros (@STRING) between BibLaTeX refsections. this is the girl who prevents BibTeX from whining about macro redefinitions when you're using the same datasource several times for different refsections. she's a peacekeeper ποΈ--collate-options|-c [options]β options to pass to theUnicode::Collateobject used for sorting (default is"--collate-options level=4 --collate-options variable='non-ignorable'"). seeperldoc Unicode::Collatefor the deets.--configfile|-g [file]β use file as the configuration file for"biber"instead of hunting around in the default locations, which are, in order:"biber.conf"or".biber.conf"in the current directory"$HOME/.biber.conf""$ENV{XDG_CONFIG_HOME}/biber/biber.conf""$HOME/.config/biber/biber.conf""$HOME/Library/biber/biber.conf"(Mac OSX only π)"$ENV{APPDATA}/biber.conf"(Windows only πͺ)- the output of
"kpsewhich biber.conf"(if it's available on your system)
in tool mode, (--tool) the biber-tool.conf installed with Biber is always used to set default options if a user-defined config file isn't specified. use the --tool-config option to view the location of the default tool mode config file, which is lowkey useful as a starting point for writing your own β¨
--convert-controlβ converts the.bcfcontrol file into html using an XSLT transform. handy for debugging. the file gets named by appending".html"to the.bcffile.--decodecharsset=[recode set name]β the set of characters included in the conversion routine when decoding LaTeX macros into UTF-8 (which happens when--bblencoding|-Eis set to UTF-8). set it to"full"to try harder with a much larger set, or"base"to use a smaller basic set. default is"base". you might wanna try"full"if you've got less common UTF-8 characters chillin' in your data source. the recode sets are defined in the reencoding data file, which can be customised. see the--recodedataoption and the PDF manual. the virtual set name"null"may be specified, which effectively turns off macro decoding entirely π«--debug|-Dβ turn on debugging for"biber". she's telling you everything now π--dieondatamodelβ exit immediately with an error if you're using"--validate-datamodel"and a datamodel validation error is found. the default is to warn and continue. choose your fighter π--dot-include=section,field,xdata,crossref,xref,relatedβ specifies the element to include in GraphViz DOT output format if the output format is'dot'. you can also choose to displaycrossref,xref,xdataand/orrelatedentry connections. the default if not specified is"--dot-include=section,xdata,crossref,xref".--fixinitsβ tries to fix broken multiple initials when there's no space between them in BibTeX data sources. so like,"A.B. Clarke"becomes"A. B. Clarke"before name parsing happens. that said, this can slightly mess up things like"{U.K. Government}"and other esoteric cases. so she's helpful but a little chaotic π--help|-hβ show this help message. you're welcome π«Ά--input-directory [directory]β.bcfand data files will be looked for first in directory. see the biber PDF documentation for the other possibilities and how this interacts with the"--output-directory"option.--input-encoding|-e [encoding]β specify the encoding of the data source file(s). default is"UTF-8". normally you don't need to set this since it's passed via the.bcffile from biblatex's"bibencoding"option. see"perldoc Encode::Supported"for a list of supported encodings. the legacy option--bibencodingis supported as an alias π―--input-format=bibtex|biblatexmlβ Biber input format. this option only means something in tool mode (see the tool option) since normally the input format of a data source is specified in the.bcffile, and therefore from the\addbibresoucemacro in BibLaTeX. the default value when in tool mode is'bibtex'.--isbn10β force all ISBNs to 10-digit versions on output. this converts the ISBN internally to an ISBN object, which will not have hyphens on output. if you use this option and want an ISBN with hyphens in the correct place on output, use the--isbn-normaliseoption.--isbn13β force all ISBNs to 13-digit versions on output. this converts the ISBN internally to an ISBN object, which will not have hyphens on output. if you use this option and want an ISBN with hyphens in the correct place on output, use the--isbn-normaliseoption.--isbn-normaliseβ normalise ISBNs with hyphens in the correct places on output β¨--logfile [file]β usefile.blgas the name of the logfile.--listsep=[sep]β use sep as the separator for BibTeX data source list fields. defaults to BibTeX's usual'and'.--mincrossrefs|-m [number]β set the threshold for crossrefs.--named-annotation-marker=[marker]β sets the separator between the"--annotation-marker"and the name of a named annotation. default is":".--namesep=[sep]β use sep as the separator for BibTeX data source name fields. defaults to BibTeX's usual'and'.--no-bblxml-schemaβ when writing bblxml output, don't generate an RNG XML schema from the data model. we're keeping it minimal π--no-bltxml-schemaβ when reading or writing biblatexml data sources, don't generate an RNG XML schema from the data model.--noconfβ don't look for a configfile. she's on her own now π¦--no-default-datamodelβ do not load the default datamodel coming from either the.bcfor, when in tool mode, from the default tool mode config file. using this option implies that you will provide a complete datamodel in a config file. this option is useful when you wish to make major modifications to the datamodel, because the simple add/modify operations to the default datamodel via a user config file are not enough. for example, to remove things from the default datamodel, you'd use this option and supply a complete, reduced datamodel in the user config file. big girl moves π--nodieonerrorβ don't exit on errors, just log and continue as far as possible. this can be useful if the error is something from, for example, the underlying BibTeX parsing C library, which can complain about parsing errors that can be ignored. she's resilient πͺ--glob-datasourcesβ by default, glob (expand according to pattern) any data source filenames. allows data sources to be specified like*.bibto load all.bibfiles in a directory. can be overridden on a per-dataource basis with the glob option to\addbibresourcein biblatex.--nologβ do not write any logfile. no receipts π΅--noskipduplicatesβ don't skip duplicate bibliography keys if found. the detection of duplicate keys is done across all data sources. sometimes you might need duplicates when using several data sources across several refsections, in which case you might need to use this option.--nostdmacrosβ don't automatically define any standard macros like month abbreviations. if you also define these yourself, this option can be used to suppress macro redefinition warnings.--noremove-tmp-dirβ do not remove the temporary directory used for various intermediate files and data before exit (default is false). the name of the directory can be obtained with the--show-tmp-diroption.--noxnameβ disable extended name processing in bibtex data sources. can be useful if you don't use this and it causes problems due to auto-detection of extended name format.--onlylogβ do not write any message to screen. silent but deadly π€«--others-string=[string]β use string as the final name in a name field which implies"et al". defaults to BibTeX's usual'others'.--output-alignβ align field values in neat columns in output. the effect depends on the output format. default is false. the legacy option--tool-alignis supported as an alias π―--output-all-macrodefsβ when outputting bibtex format, whether to output all found macro (@STRINGentries) definitions rather than just definitions for macros which are actually used in the output entries. default is false.--output-annotation-marker=[marker]β same as--annotation-markerbut for tool mode bibtex output. the default is"+an".--output-named-annotation-marker=[marker]β same as--named-annotation-markerbut for tool mode bibtex output. the default is":".--output-directory [directory]β output files (including log files) are output to directory instead of the current directory. input files are also looked for in directory before the current directory, unless"--input-directory"is also specified, in which case input files are only looked for in the directory specified by"--input-directory".--output-encoding|-E [encoding]β specify the encoding of the output".bbl"file. default is"UTF-8". normally you don't need to set this since it's passed via the.bcffile from biblatex's"texencoding"option. see"perldoc Encode::Supported"for a list of supported encodings. the legacy option--bblencodingis supported as an alias π―--output-fieldcase=upper|lower|titleβ case for field names output. the effect depends on the output format. defaults to'upper'. the legacy option--tool-fieldcaseis supported as an alias π―
okay that's part one bestie, stay tuned, there's more where that came from π
--output-field-order=[field1, ... fieldn]β okay so when you're spitting out bibtex format data in tool mode, this lets you customise the order of fields inside your entries π. The value is a comma-separated string of field names or classes of fields. Anything you don't mention gets output in sorted name order, tucked in after the fields you did name explicitly. The classes of fields are:- 'names' β all name list fields
- 'lists' β all non-name list fields
- 'dates' β all date fields
By default, its value is 'options,abstract,names,lists,dates'.
--output-field-replace=[field1:replacefield1, ... fieldn:replacefieldn]β when outputting bibtex format, output "replacefieldn" instead of "fieldn", bestie π¦. This is lowkey iconic for outputting legacy formats that undo the default driver source map, like
--output-field-replace=location:address,journaltitle:journal
See --output-legacy-dates if legacy (YEAR/MONTH) date fields are required in bibtex format output.
--output-file|-O [file]β output tofileinstead of thebasename.bblfile. It's relative to--output-directory, if set (and absolute paths in this case get stripped down to filename only, no cap).filecan be absolute if--output-directoryis not set. Andfilecan be'-'to output directly toSTDOUTβ¨. The legacy option--outfileis supported as an alias.--output-format=dot|bibtex|biblatexml|bbl|bblxml|bibjsonβ Biber output format. Default if you don't specify is, of course,bblπ . Usedotto output a GraphViz DOT file instead of.bbl. This is a directed graph of the bibliography data showing entries and, as requested, sections and fields. You must process this file with "dot", e.g.
dot -Tsvg test.dot -o test.svg
to render the graph. See the --dot-include option to select what's included in the DOT output. bblxml is an XML version of the bbl format which you could transform using XSLT π§. By default, when outputting bblxml, a RelaxNG XML schema is generated from the active data model and saved with a rng extension along with the output file name (unless the --no-bblxml-schema option is specified). You may validate the bblxml using the schema with the --validate-bblxml option. The legacy option --outformat is supported as an alias.
--output-indent=[num][t]β indentation for the body of entries in output. Effect depends on the output format. Defaults to2π. The "num" can be followed by't'to specify tabs instead of spaces. The legacy option--tool-indentis supported as an alias.--output-legacy-datesβ when outputting bibtex format, outputYEAR/MONTHfields instead ofDATE. This is not possible if the input is not convertible to legacy format β meaning any date to be output with legacy fields can only have aYEARpart and perhaps aMONTHpart. If aDAYorENDYEARpart are found, the date is not convertible and the legacy output format will be skipped π. Default isfalse.--output-listsep=[sep]β as--listsepbut for tool mode bibtex output. Defaults to BibTeX's usual'and'.--output-namesep=[sep]β as--namesepbut for tool mode bibtex output. Defaults to BibTeX's usual'and'.--output-no-macrodefsβ when outputting BibTeX format, don't output macro definitions (@STRINGentries). You might not want to output macro definitions if you keep them in a separate file π.--output-resolveβ convenience option to set all of the--output-resolve-*options to'true'β¨. The legacy option--tool-resolveis supported as an alias.--output-resolve-xdataβ whether to resolve XDATA inheritance in tool mode or when--output-format=bibtexin non tool mode. Defaults to'false'.--output-resolve-crossrefsβ whether to resolve CROSSREF/XREF inheritance in tool mode or when--output-format=bibtexin non tool mode. Defaults to'false'.--output-resolve-setsβ whether to resolve data sets in tool mode or when--output-format=bibtexin non tool mode. Defaults to'false'.--output-safecharsβ try to convert UTF-8 chars into LaTeX macros when writing the output π. This can prevent unknown char errors when using PDFLaTeX and inputenc, since that doesn't understand all of UTF-8. Note, it is better to switch to XeTeX or LuaTeX to avoid this situation. By default uses the--output-safecharsset"base"set of characters. The legacy option--bblsafecharsis supported as an alias.--output-safecharsset=[recode set name]β the set of characters included in the conversion routine for--output-safechars. Set to"full"to try harder with a much larger set, or"base"to use a basic set πΈ. Default is"base"which is fine for most use cases. You may need to load more macro packages to deal with the results of"full"(Dings, Greek characters, special symbols etc.). The recode sets are defined in the reencoding data file which can be customised. See the--recodedataoption and the PDF manual. The legacy option--bblsafecharssetis supported as an alias. The virtual set name"null"may be specified which effectively turns off macro encoding.--output-xdatamarker=[marker]β as--xdatamarkerbut for tool mode output. Default is'xdata'.--output-xdatasep=[sep]β as--xdatasepbut for tool mode output. Default is'-'.--output-xnameβ when output is a.bibBibTeX file in tool mode, whether to output names in the eXtended BibTeX name field format π.--output-xnamesep=[sep]β as--xnamesepbut for tool mode bibtex output. Default is'='.--quiet|-qβ log only errors. If this option is used more than once, don't even log errors π.--recodedata=[file]β the data file to use for the reencoding between UTF-8 and LaTeX macros. It defines the sets specified with the--output-safecharssetand--decodecharssetoptions. It defaults torecode_data.xmlin the same directory as Biber'sRecode.pmmodule π¦. See the PDF documentation for the format of this file. If this option is used, thenfileshould be somewhere "kpsewhich" can find it.--show-tmp-dirβ prints the location of the temporary directory used for various intermediate files and data. Only useful if--noremove-tmp-diris set to true.--sortdebugβ add comments to output with sorting keys. Useful for debugging π₯.--sortcase=true|falseβ case-sensitive sorting (default istrue).--sortlocale|-l [locale]β set the locale to be used for sorting. The locale is used to add CLDR tailoring to the sort (if available for the locale) π.--sortupper=true|falseβ whether to sort uppercase before lowercase when sorting (default istrue).--ssl-nointernalcaβ don't try to use the default Mozilla CA certificates when using HTTPS to fetch remote data. This assumes that the user will set one of the perlLWP::UserAgentmodule environment variables to find the CA certs.--ssl-noverify-hostβ turn off host verification when using HTTPS to fetch remote data sources. You may need this if the SSL certificate is self-signed, for example π.--strip-commentsβ in tool mode, strip all comments from the output file.--toolβ run in tool mode β¨. This mode is datasource centric rather than document centric.biberreads a datasource (and a config file if specified), applies the command-line and config file options to the datasource and writes a new datasource. Essentially, this allows you to change your data sources using biber's transformation options (such as source mapping, sorting etc.) π--tool-configβ show the location of the default tool mode config file and exit. Useful when you need to copy this file and customise it.--tool-noremove-missing-dependantsβ use this option in tool mode if you don't want to remove"XREF","CROSSREF"and"XDATA"fields from the output which point to a missing entry. Useful if you have split datafiles where the e.g."CROSSREF"s are in another file that you are not including in the tool mode run.--trace|-Tβ turn on tracing. Also turns on--debug|-Dand additionally provides a lot of low-level tracing information in the log π-uβ alias for--input-encoding=UTF-8-Uβ alias for--output-encoding=UTF-8--validate-bblxmlβ schema validate bblXML output against a schema auto-generated from the BibLaTeX datamodel. The schema will be auto-generated with the name of the.bblfile with a.rngextension π§. The generated schema can be kept and used with standard XML editors to validate the output during XSL development.--validate-bltxmlβ schema validate BibLaTeXML datasources against a schema auto-generated from the BibLaTeX datamodel. The schema will be auto-generated with the name of the.bcffile with a.rngextension. The generated schema can be kept and used with standard XML editors to validate the datasource during datasource development. The schema validation does not validate all semantic aspects of the datamodel (i.e. the data model constraints) β for this use the"--validate-datamodel"option π.--validate-configβ schema validate the biber config file.--validate-controlβ schema validate the.bcfbiblatex control file.--validate-datamodel|-Vβ validate the data against a data model. By default, the data model used is the one in the.bcffile (normal mode) or in the default config file whose path can be shown with the"--tool-config"option (tool mode). Use"--no-default-datamodel"to ignore the default data model completely if you are using a complete data model via your own config file (with"--configfile").--version|-vβ display version number π--winunicode|-Wβ in Windows 10 1803+, turning on the 'Use Unicode UTF8 for worldwide language support' option makes Windows use UTF-8 instead of UTF-16 for many system APIs. If that option is enabled, use this option to turn off biber's UTF-16 filename support on Windows π . This will result in much improved handling of Unicode filenames.--wraplines|-w=[column]β wrap lines in the.bblfile (or output.bibfile in tool mode) at columncolumn(default80).--xdatamarker=[marker]β usemarkeras the string before"--xdatasep"which introduces an XDATA reference in BibTeX format data sources. Not used in BibLaTeXML data sources as it has a dedicated XML attribute"xdata"for this. Default is'xdata'.--xdatasep=[sep]β usesepas the separator between XDATA sub-entry parts in the eXtended name format. See biber docs. Default is'-'π--xnamesep=[sep]β okay so when you're in the eXtended name format, this is the lil separator that sits between the namepart names and the namepart values. It also does double duty for XDATA references, where it separates--xdatamarkerfrom the XDATA reference itself. See the biber docs for the whole lore. Default is=π«--xsvsep=[sep]β this sets the separator for fields of format typexsvin the data model, and yes bestie you can throw a Perl regexp at it. Defaults to a single comma surrounded by optional whitespace, which is literally(\s*,\s*). π
π AUTHOR π
Philip Kime, "Philip at kime.org.uk" β yeah that's the whole thing, iconic of him honestly π
π«Ά BUGS & DOCUMENTATION π«Ά
okay so if you want the full documentation β and I mean the whole thing, not just this lil page β run texdoc biber, or grab the biber.pdf manual from SourceForge. Either way you're eating good π
Found a bug? Got a feature request bubbling in your brain? Please report any bugs or feature requests on our Github tracker at <https://github.com/plk/biber/issues>. They literally want to hear from you, no cap πβ¨
π COPYRIGHT & LICENSE π
Copyright 2009-2012 FranΓ§ois Charette and Philip Kime, all rights reserved. Copyright 2012-2026 Philip Kime, all rights reserved.
This module is free software. You can redistribute it and/or modify it under the terms of the Artistic License 2.0. slay π
This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. fr fr, that's the legal tea β it comes as-is, so don't come for them if it acts up π
and that's a wrap on the whole page, bestie!! π¦ this lil manual page is from biber version-wise living under perl v5.42.3, dated 2026-08-14, and yeah β it's BIBER(1) in the manual pages. go forth and cite responsibly, mwah ππΈ
π¦ where this page comes from
- fedora 43: biber 2.22-1.fc43 Β· Artistic-2.0
- fedora 44: biber 2.22-2.fc44 Β· Artistic-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms