---
name: "Biber::Config"
section: "3pm"
platform: "linux"
package: "biber"
version: "1:2.22-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Biber::Config"
---

# Biber::Config(3pm)

Configuration items which need to be saved across the lifetime of a Biber object

## NAME

Biber::Config - Configuration items which need to be saved across the\
                 lifetime of a Biber object

```
  This class contains a static object and static methods to access
  configuration and state data. There are several classes of data in here
  which have separate accessors:
  * Biber options
  * Biblatex options
  * State information used by Biber as it processes entries
  * displaymode date
```

### \_init

```
    Reset internal hashes to defaults.
```

### \_initopts

```
    Initialise default options, optionally with config file as argument
```

### config\_file

Returns the full path of the **Biber** configuration file. It returns the first file found among:

- •

  `"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 available on the system).

If no file is found, it returns `"undef"`.

### add\_uniq\_ignore

```
    Track uniqueness ignore settings found in inheritance data
```

### get\_uniq\_ignore

```
    Retrieve uniqueness ignore settings found in inheritance data
```

### postprocess\_biber\_opts

```
    Place to postprocess biber options when they have been
    gathered from all the possible places that set them
```

### set\_dm

```
    Sets the data model information object
```

### get\_dm

```
    Gets the data model information object
```

### get\_dm\_helpers

```
    Sets the datamodel helper lists
```

### set\_ctrlfile\_path

```
    Stores the path to the control file
```

### get\_ctrlfile\_path

```
    Retrieved the path to the control file
```

### setoption

```
    Store a Biber config option
```

### getoption

```
    Get a Biber option
```

### setcmdlineoption

```
    Store a Biber command-line option
```

### setconfigfileoption

```
    Store a Biber config-file option
```

### iscmdlineoption

```
    Check if an option is explicitly set by user on the command
    line
```

### isconfigfileoption

```
    Check if an option is explicitly set by user in their
    config file
```

### isexplicitoption

```
    Check if an option is explicitly set by user on the command
    line or in the config file
```

### addtoblxoption

```
    Add to an array global biblatex option
```

### setblxoption

```
    Set a biblatex option on the appropriate scope
```

### getblxoption

```
    Get a biblatex option from the global, per-type or per entry scope
    getblxoption('secnum', 'option', ['entrytype'], ['citekey'])
    Returns the value of option. In order of decreasing preference, returns:
    1. Biblatex option defined for entry
    2. Biblatex option defined for entry type
    3. Biblatex option defined globally
    section number needs to be present only for per-entry options as these might
    differ between sections
```

### getblxentryoptions

```
    Get all per-entry options for an entry
```

### set\_graph

```
   Record node and arc connection types for .dot output
```

### get\_graph

```
    Return an inheritance graph data structure for an inheritance type
```

### set\_inheritance

```
    Record that $target inherited information from $source
    Can be used for crossrefs and xdata. This just records that an entry
    inherited from another entry, for loop detection.
```

### get\_inheritance

```
    Check if $target directly inherited information from $source
    Can be used for crossrefs and xdata
```

### is\_inheritance\_path

```
  Checks for an inheritance path from entry $e1 to $e2
  Can be used for crossrefs and xdata
```

\[\
              {s =\> 'A',\
               t =\> 'B'},\
              {s =\> 'A',\
               t =\> 'E'},\
              {s =\> 'B',\
               t =\> 'C'},\
              {s =\> 'C',\
               t =\> 'D'} \];

## keyorder

### set\_keyorder

```
  Set key order information
```

### set\_internal\_keyorder

```
  Set key order information for keys with the same order
```

### get\_keyorder

```
  Get key order information
```

### get\_internal\_keyorder

```
  Get key order information for keys with the same order
```

### get\_keyorder\_max

```
  Get maximum key order number for a section
```

### reset\_keyorder

```
  Reset keyorder - for use in tests where we switch to allkeys
```

## crossrefkeys

### get\_crossrefkeys

```
    Return ref to array of keys which are crossref targets
```

## xrefkeys

### get\_xrefkeys

```
    Return ref to array of keys which are xref targets
```

### get\_crossrefkey

```
    Return an integer representing the number of times a
    crossref target key has been ref'ed
```

### get\_xrefkey

```
    Return an integer representing the number of times a
    xref target key has been ref'ed
```

### del\_crossrefkey

```
    Remove a crossref target key from the crossrefkeys state
```

### del\_xrefkey

```
    Remove a xref target key from the xrefkeys state
```

### incr\_crossrefkey

```
    Increment the crossreferences count for a target crossref key
```

### incr\_xrefkey

```
    Increment the xreferences count for a target xref key
```

### dump

```
    Dump config information (for debugging)
```

## AUTHORS

Philip Kime `"<philip at kime.org.uk>"`

## BUGS

Please report any bugs or feature requests on our Github tracker at \<https://github.com/plk/biber/issues\>.

## COPYRIGHT & LICENSE

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.

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.
