Biber::Section(3pm)

πŸ’– NAME πŸ’–

Biber::Section β€” bestie, this is the manual page for Biber::Section objects, which is part of the User Contributed Perl Documentation. She's the section object in Biber. Come meet her methods. 🫢


🌸 new 🌸

Initialize a Biber::Section object. Brand new baby section, fresh out the box. ✨


🌈 citecount 🌈

set_citecount

Set the citecount of a key. Where does it come from? From biblatex, through the citecounter option, and it reflects the actual number of citations using this key β€” so it accounts for stuff like \citeauthor and friends, which are not real citations. πŸ’…

get_keycount

Get the citecount of a key. Same origin story: 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. Yeah. It's giving delicate. πŸŽ€

πŸ¦‹ 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. Tidy up, queen. 🧹


πŸ’œ 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}.


Record that a key is used as a related entry.

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.

Fun lore: this used to be an array ref which was checked using first() and it was twenty times slower. No cap. πŸ’€

πŸ¦‹ 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> β€” the icon, the moment, the main character. 🫢


😭 BUGS 😭

Please report any bugs or feature requests on our Github tracker at <https://github.com/plk/biber/issues>. Bestie, they want to hear from you, fr fr. πŸ’–


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, honestly. ✨

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. (Yes, that's the real deal β€” no warranty, no cap. πŸ™ˆ)


That's the whole page, babes β€” documented by the Perl community at perl v5.42.3, dated 2026-08-14, and yes this is the Biber::Section(3pm) manual. Go forth and sort your citekeys. πŸ’…πŸ‘‘πŸ’–

πŸ“¦ where this page comes from