Biber::Config(3)

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. If returns the first file found among:

•   "biber.conf" in the current directory

•   "$HOME/.biber.conf"

•   "$ENV{XDG_CONFIG_HOME}/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".

  get_unul_done
    Return a boolean saying whether uniquenename+uniquelist processing is finished

  set_unul_changed
    Set a boolean saying whether uniquename+uniquelist has changed

  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

  setblxoption
    Set a biblatex option on the appropriate scope

  getblxoption
    Get a biblatex option from the global, per-type or per entry scope

    getblxoption('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

  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_set_pc
  Record a parent->child set relationship

  set_set_cp
  Record a child->parent set relationship

  get_set_pc
  Return a boolean saying if there is a parent->child set relationship

  get_set_cp
  Return a boolean saying if there is a child->parent set relationship

  get_set_children
  Return a list of children for a parent set

  get_set_parents
  Return a list of parents for a child of a set

  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'} ];

labelalpha disambiguation

  incr_la_disambiguation
    Increment a counter to say we have seen this labelalpha

  get_la_disambiguation
    Get the disambiguation counter for this labelalpha.
    Return a 0 for undefs to avoid spurious errors.

keyorder

  set_keyorder
  Set some key order information

  get_keyorder
  Get some key order information

  get_keyorder_max
  Get maximum key order number for a section

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

seenkey

  get_seenkey
    Get the count of a key

  incr_seenkey
    Increment the seen count of a key

  get_seenname
    Get the count of occurrences of a labelname or labeltitle

  incr_seenname
    Increment the count of occurrences of a labelname or labeltitle

  get_seentitle
    Get the count of occurrences of a labeltitle

  incr_seentitle
    Increment the count of occurrences of a labeltitle

  get_seenbaretitle
    Get the count of occurrences of a labeltitle when there is
    no labelname

  incr_seenbaretitle
    Increment the count of occurrences of a labeltitle
    when there is no labelname

  get_seenwork
    Get the count of occurrences of a labelname and labeltitle

  incr_seenwork
    Increment the count of occurrences of a labelname and labeltitle

  incr_seenpa
    Increment the count of occurrences of a primary author family name

  get_seenpa
    Get the count of occurrences of a primary author family name

  reset_seen_extra
    Reset the counters for extra*

  incr_seen_extrayear
    Increment and return the counter for extrayear

  incr_seen_extratitle
    Increment and return the counter for extratitle

  incr_seen_extratitleyear
    Increment and return the counter for extratitleyear

  incr_seen_extraalpha
    Increment and return the counter for extraalpha

  get_seen_nameyear
    Get the count of an labelname/labelyear combination for tracking
    extrayear. It uses labelyear plus name as we need to disambiguate
    entries with different labelyear (like differentiating 1984--1986 from
    just 1984)

  incr_seen_nameyear
    Increment the count of an labelname/labelyear combination for extrayear

    We pass in the name and year strings separately as we have to
    be careful and only increment this counter beyond 1 if there is
    a name component. Otherwise, extrayear gets defined for all
    entries with no name but the same year etc.

  get_seen_nametitle
    Get the count of an labelname/labeltitle combination for tracking
    extratitle.

  incr_seen_nametitle
    Increment the count of an labelname/labeltitle combination for extratitle

    We pass in the name and year strings separately as we have to
    be careful and only increment this counter beyond 1 if there is
    a title component. Otherwise, extratitle gets defined for all
    entries with no title.

  get_seen_titleyear
    Get the count of an labeltitle/labelyear combination for tracking
    extratitleyear

  incr_seen_titleyear
    Increment the count of an labeltitle/labelyear combination for extratitleyear

    We pass in the title and year strings separately as we have to
    be careful and only increment this counter beyond 1 if there is
    a title component. Otherwise, extratitleyear gets defined for all
    entries with no title.

uniquelistcount

  get_uniquelistcount
    Get the number of uniquelist entries for a (possibly partial) list

  add_uniquelistcount
    Incremenent the count for a list part to the data for a name

  add_uniquelistcount_final
    Incremenent the count for a complete list to the data for a name

  add_uniquelistcount_minyear
    Incremenent the count for a list and year to the data for a name
    Used to track uniquelist = minyear

  get_uniquelistcount_minyear
    Get the count for a list and year to the data for a name
    Used to track uniquelist = minyear

  get_uniquelistcount_final
    Get the number of uniquelist entries for a full list

  reset_uniquelistcount
    Reset the count for list parts and complete lists

  list_differs_nth
    Returns true if some other list differs at passed nth place
    and is at least as long

    list_differs_nth([a, b, c, d, e], 3) = 1

    if there is another list like any of these:

    [a, b, d, e, f]
    [a, b, e, z, z, y]

  list_differs_index
    Returns the greatest index at where the list begins to differ from any other list

    Assuming these lists

    [a, b]
    [a, b, d, e, f, g, h, i, j]
    [a, b, d, e, f]
    [a, b, e, z, z, y]

    list_differs_index([a, b, c, d, e]) -> 2
    list_differs_index([a]) -> 1

uniquenamecount

  get_numofuniquenames
    Get the number of uniquenames entries for a visible name

  get_numofuniquenames_all
    Get the number of uniquenames entries for a name

  add_uniquenamecount
    Add a name to the list of name contexts which have the name in it
    (only called for visible names)

  add_uniquenamecount_all
    Add a name to the list of name contexts which have the name in it
    (called for all names)

  reset_uniquenamecount
    Reset the list of names which have the name part in it

  _get_uniquename
    Get the list of name contexts which contain a name
    Mainly for use in tests

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
Francois Charette, "<firmicus at ankabut.net>" 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 2009-2016 Francois Charette and 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.