---
name: "Biber::Section"
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::Section"
---

# Biber::Section(3pm)

Biber::Section objects

## NAME

Biber::Section - Biber::Section objects

### new

```
    Initialize a Biber::Section object
```

## citecount

### set\_citecount

```
    Set the citecount of a key. This comes from biblatex via the
    citecounter option and reflects the actual number of citations using
    this key, taking into account things like \citeauthor etc. which are not
    real citations.
```

### get\_keycount

```
    Get the citecount of a key. This comes from biblatex via the
    citecounter option and reflects the actual number of citations using
    this key, taking into account things like \citeauthor etc. which are not
    real citations. A zero or undef value needs to be less than 0 which does
    not fail if() checks - required for the delicate sorting dispatch logic
```

## seenkey

### get\_seenkey

```
    Get the count of a key
```

### incr\_seenkey

```
    Increment the seen count of a key
```

### set\_seenkey

```
    Set the seen count of a key
```

### reset\_caches

```
    Reset section caches which need it
```

### set\_np\_length

```
  Check and record max namepart length. Needed to construct sort keys for names
```

### get\_np\_length

```
  Return max namepart length. Needed to construct sort keys for names
```

### 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\_keytods

```
  Save information about citekey->datasource name mapping. Used for error reporting.
```

### get\_keytods

```
  Get information about citekey->datasource name mapping. Used for error reporting.
```

### has\_badcasekey

```
    Returns a value to say if we've seen a key differing only in case before
    <previouskey>  - we've seen a differently cased variant of this key so we can warn about this
    undef  - Not seen this key at all in any case variant before
```

### is\_specificcitekey

```
    Check if a key is specifically cited by \cite{key} or \nocite{key}
```

### add\_related

```
    Record that a key is used as a related entry
```

### is\_related

```
    Check if a key is used as a related entry key
```

### keytorelclone

```
    Record a key<->clone key mapping.
```

### get\_keytorelclone

```
    Fetch a related entry clone key, given a cite key
```

### get\_relclonetokey

```
    Fetch a related entry key, given a clone key
```

### has\_keytorelclone

```
    Return boolean saying if a cite key has a related entry clone in the current section
```

### has\_relclonetokey

```
    Return boolean saying if a related clone key has a citekey in the current section
```

### add\_cite

```
    Adds a key to the list of those that came via \cite
```

### is\_cite

```
    Returns a boolean to say if a key came via \cite
```

### add\_nocite

```
    Adds a key to the list of those that came via \nocite
```

### is\_nocite

```
    Returns a boolean to say if a key came via \nocite
```

### add\_everykey

```
    Adds a datasource key to the section list of all datasource keys
```

### del\_everykeys

```
  Delete everykey cache. For use in tests.
```

### has\_everykey

```
    Returns a boolean to say if we've seen a key in any datasource for this section.
    This used to be an array ref which was checked using first() and it
    was twenty times slower.
```

### set\_allkeys\_nocite

```
    Sets flag to say citekey '*' occurred through \nocite
    We allow setting it to false too because it's useful in tests
```

### set\_allkeys

```
    Sets flag to say citekey '*' occurred in citekeys
    We allow setting it to false too because it's useful in tests
```

### is\_allkeys\_nocite

```
    Checks flag which says citekey '*' occurred in via \nocite
```

### is\_allkeys

```
    Checks flag which says citekey '*' occurred in citekeys
```

### bibentry

```
    Returns a Biber::Entry object for the given citation key
    Understands citekey aliases
```

### bibentries

```
    Return Biber::Entries object for this section
```

### del\_bibentries

```
    Delete all Biber::Entry objects from the Biber::Section object
```

### set\_citekeys

```
    Sets the citekeys in a Biber::Section object
```

### set\_orig\_order\_citekeys

```
    Sets the original order of citekeys in a Biber::Section object
```

### get\_citekeys

```
    Gets the citekeys of a Biber::Section object
    Returns a normal array
```

### get\_static\_citekeys

```
    Gets the citekeys of a Biber::Section object
    excluding dynamic set entry keys
    Returns a normal array
```

### has\_cited\_citekey

```
    Returns true when $key was one of the actually cited keys in the section
```

### add\_undef\_citekey

```
    Adds a citekey to the Biber::Section object as an undefined
    key. This allows us to output this information to the .bbl and
    so biblatex can do better reporting to external utils like latexmk
```

### get\_undef\_citekeys

```
    Gets the list of undefined citekeys of a Biber::Section object
    Returns a normal array
```

### get\_orig\_order\_citekeys

```
    Gets the citekeys of a Biber::Section object in their original order
    This is just to ensure we have a method that will return this, just in
    case we mess about with the order at some point. This is needed by
    citeorder sorting.
```

### has\_citekey

```
    Returns true when $key is in the Biber::Section object
    Understands key alaises
```

### del\_citekey

```
    Deletes a citekey from a Biber::Section object
```

### del\_citekeys

```
    Deletes all citekeys from a Biber::Section object
```

### add\_citekeys

```
    Adds citekeys to the Biber::Section object
```

### set\_citekey\_alias

```
    Set citekey alias information
```

### get\_citekey\_alias

```
    Get citekey alias information
```

### del\_citekey\_alias

```
    Delete citekey alias
```

### get\_citekey\_aliases

```
    Get a list of all citekey aliases for the section
```

### set\_labelcache\_v

```
    Sets the variable label disambiguation cache for a field
```

### get\_labelcache\_v

```
    Gets the variable label disambiguation cache for a field
```

### set\_labelcache\_l

```
    Sets the list label disambiguation cache for a field
```

### get\_labelcache\_l

```
    Gets the list label disambiguation cache for a field
```

### is\_dynamic\_set

```
    Test if a key is a dynamic set
```

### set\_dynamic\_set

```
    Record a mapping of dynamic key to member keys
```

### get\_dynamic\_set

```
    Retrieve member keys for a dynamic set key
    Check that reference returning anything to stop spurious warnings
    about empty dereference in return.
```

### dynamic\_set\_keys

```
    Retrieve all dynamic set keys
```

### has\_dynamic\_sets

```
    Returns true of false depending on whether the section has any dynamic set keys
```

### add\_datasource

```
    Adds a data source to a section
```

### set\_datasources

```
    Sets the data sources for a section
```

### get\_datasources

```
    Gets an array of data sources for this section
```

### number

```
    Gets the section number of a Biber::Section object
```

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

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.
