.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Biber::DataList 3pm" .TH Biber::DataList 3pm 2023-07-25 "perl v5.38.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME Biber::DataList \- Biber::DataLists objects .SS new .IX Subsection "new" .Vb 1 \& Initialize a Biber::DataList object .Ve .SS set_section .IX Subsection "set_section" .Vb 1 \& Sets the section of a data list .Ve .SS get_section .IX Subsection "get_section" .Vb 1 \& Gets the section of a data list .Ve .SS reset_state .IX Subsection "reset_state" .Vb 2 \& Resets all state data. Used mainly in tests which call Biber::prepare() \& multiple times without re\-creating datalists .Ve .SS incr_seenpa .IX Subsection "incr_seenpa" .Vb 3 \& Increment the count of occurrences of a primary author base name \& if it has a different non\-base part. How many variants of the basename \& are there in the dlist? .Ve .SS get_seenpa .IX Subsection "get_seenpa" .Vb 2 \& Get the count of unique (i.e. with different hash) occurrences of a primary \& author base name .Ve .SS reset_entryfields .IX Subsection "reset_entryfields" .Vb 1 \& Resets all entryfield data in a list .Ve .SS get_entryfield .IX Subsection "get_entryfield" .Vb 1 \& Retrieves per\-list datafield information for an entry .Ve .SS set_entryfield .IX Subsection "set_entryfield" .Vb 1 \& Records per\-list datafield information for an entry .Ve .SS add_uniquenamecount .IX Subsection "add_uniquenamecount" .Vb 2 \& Add a name to the list of name contexts which have the name in it \& (only called for visible names) .Ve .SS add_uniquenamecount_all .IX Subsection "add_uniquenamecount_all" .Vb 2 \& Add a name to the list of name contexts which have the name in it \& (called for all names) .Ve .SS get_uniquelistcount .IX Subsection "get_uniquelistcount" .Vb 1 \& Get the number of uniquelist entries for a (possibly partial) list .Ve .SS add_uniquelistcount .IX Subsection "add_uniquelistcount" .Vb 1 \& Increment the count for a list part to the data for a name .Ve .SS add_uniquelistcount_final .IX Subsection "add_uniquelistcount_final" .Vb 1 \& Increment the count for a complete list to the data for a name .Ve .SS add_uniquelistcount_minyear .IX Subsection "add_uniquelistcount_minyear" .Vb 2 \& Increment the count for a list and year for a name \& Used to track uniquelist = minyear .Ve .SS get_uniquelistcount_minyear .IX Subsection "get_uniquelistcount_minyear" .Vb 2 \& Get the count for a list and year for a name \& Used to track uniquelist = minyear .Ve .SS get_uniquelistcount_final .IX Subsection "get_uniquelistcount_final" .Vb 1 \& Get the number of uniquelist entries for a full list .Ve .SS reset_uniquelistcount .IX Subsection "reset_uniquelistcount" .Vb 1 \& Reset the count for list parts and complete lists .Ve .SS reset_uniquenamecount .IX Subsection "reset_uniquenamecount" .Vb 1 \& Reset the list of names which have the name part in it .Ve .SS get_basenamestring .IX Subsection "get_basenamestring" .Vb 1 \& Get a basenamestring for a particular name .Ve .SS get_namestring .IX Subsection "get_namestring" .Vb 1 \& Get a namestring for a particular name .Ve .SS get_namestrings .IX Subsection "get_namestrings" .Vb 1 \& Get namestrings for a particular name .Ve .SS set_namedis .IX Subsection "set_namedis" .Vb 1 \& Set name disambiguation metadata .Ve .SS is_unbasepart .IX Subsection "is_unbasepart" .Vb 2 \& Return boolean to say if a namepart is a base part according to \& template which created the information .Ve .SS get_namehash .IX Subsection "get_namehash" .Vb 1 \& Get hash for a name .Ve .SS set_namehash .IX Subsection "set_namehash" .Vb 1 \& Set hash for a name .Ve .SS get_unmininfo .IX Subsection "get_unmininfo" .Vb 1 \& Get uniquename minimalness info for a name .Ve .SS set_unmininfo .IX Subsection "set_unmininfo" .Vb 1 \& Set uniquename minimalness info for a name .Ve .SS get_namedisschema .IX Subsection "get_namedisschema" .Vb 1 \& Get a name disambiguation schema for a name .Ve .SS get_unsummary .IX Subsection "get_unsummary" .Vb 1 \& Get legacy uniquename summary for a name .Ve .SS get_unpart .IX Subsection "get_unpart" .Vb 1 \& Get uniquename summary part for a name .Ve .SS get_unparts .IX Subsection "get_unparts" .Vb 1 \& Get uniquename parts for a name .Ve .SS set_unparts .IX Subsection "set_unparts" .Vb 1 \& Set uniquename parts for a name .Ve .SS _get_uniquename .IX Subsection "_get_uniquename" .Vb 2 \& Get the list of name contexts which contain a name \& Mainly for use in tests .Ve .SS get_uniquename .IX Subsection "get_uniquename" .Vb 1 \& Get uniquename for a name .Ve .SS set_uniquename .IX Subsection "set_uniquename" .Vb 1 \& Set uniquename for a name .Ve .SS reset_uniquename .IX Subsection "reset_uniquename" .Vb 1 \& Reset uniquename for a name .Ve .SS get_uniquename_all .IX Subsection "get_uniquename_all" .Vb 1 \& Get uniquename for a name, regardless of visibility .Ve .SS set_uniquename_all .IX Subsection "set_uniquename_all" .Vb 1 \& Set uniquename for a name, regardless of visibility .Ve .SS count_uniquelist .IX Subsection "count_uniquelist" .Vb 1 \& Count the names in a string used to determine uniquelist. .Ve .SS get_uniquelist .IX Subsection "get_uniquelist" .Vb 1 \& Gets a uniquelist setting for a namelist .Ve .SS set_uniquelist .IX Subsection "set_uniquelist" .Vb 1 \& Sets a uniquelist setting for a namelist .Ve .SS get_visible_cite .IX Subsection "get_visible_cite" .Vb 1 \& Gets citation name list visibility .Ve .SS set_visible_cite .IX Subsection "set_visible_cite" .Vb 1 \& Gets citation name list visibility .Ve .SS get_visible_bib .IX Subsection "get_visible_bib" .Vb 1 \& Gets bib name list visibility .Ve .SS set_visible_bib .IX Subsection "set_visible_bib" .Vb 1 \& Gets bib name list visibility .Ve .SS get_visible_sort .IX Subsection "get_visible_sort" .Vb 1 \& Gets sort name list visibility .Ve .SS set_visible_sort .IX Subsection "set_visible_sort" .Vb 1 \& Gets sort name list visibility .Ve .SS get_visible_alpha .IX Subsection "get_visible_alpha" .Vb 1 \& Gets alpha name list visibility .Ve .SS set_visible_alpha .IX Subsection "set_visible_alpha" .Vb 1 \& Gets alpha name list visibility .Ve .SS get_numofuniquenames .IX Subsection "get_numofuniquenames" .Vb 1 \& Get the number of uniquenames entries for a visible name .Ve .SS get_numofuniquenames_all .IX Subsection "get_numofuniquenames_all" .Vb 1 \& Get the number of uniquenames entries for a name .Ve .SS get_unul_done .IX Subsection "get_unul_done" .Vb 1 \& Return a boolean saying whether uniquenename+uniquelist processing is finished .Ve .SS set_unul_changed .IX Subsection "set_unul_changed" .Vb 1 \& Set a boolean saying whether uniquename+uniquelist has changed .Ve .SS reset_seen_extra .IX Subsection "reset_seen_extra" .Vb 1 \& Reset the counters for extra* .Ve .SS incr_seen_extradate .IX Subsection "incr_seen_extradate" .Vb 1 \& Increment and return the counter for extradate .Ve .SS incr_seen_extraname .IX Subsection "incr_seen_extraname" .Vb 1 \& Increment and return the counter for extraname .Ve .SS incr_seen_labelname .IX Subsection "incr_seen_labelname" .Vb 1 \& Increment and return a counter used to track extraname .Ve .SS incr_seen_extratitle .IX Subsection "incr_seen_extratitle" .Vb 1 \& Increment and return the counter for extratitle .Ve .SS incr_seen_extratitleyear .IX Subsection "incr_seen_extratitleyear" .Vb 1 \& Increment and return the counter for extratitleyear .Ve .SS incr_seen_extraalpha .IX Subsection "incr_seen_extraalpha" .Vb 1 \& Increment and return the counter for extraalpha .Ve .SS get_seen_nametitledateparts .IX Subsection "get_seen_nametitledateparts" .Vb 4 \& Get the count of an labelname/dateparts combination for tracking \& extradate. It uses labelyear plus name as we need to disambiguate \& entries with different labelyear (like differentiating 1984\-\-1986 from \& just 1984) .Ve .SS incr_seen_nametitledateparts .IX Subsection "incr_seen_nametitledateparts" .Vb 1 \& Increment the count of an labelname/labeltitle+dateparts combination for extradate \& \& We pass in the name/title and date strings separately as we have to \& be careful and only increment this counter beyond 1 if there is \& a name/title component. Otherwise, extradate gets defined for all \& entries with no name/title but the same year etc. .Ve .SS get_seen_labelname .IX Subsection "get_seen_labelname" .Vb 1 \& Get the count of a labelname hash for tracking extraname .Ve .SS get_seen_nametitle .IX Subsection "get_seen_nametitle" .Vb 2 \& Get the count of an labelname/labeltitle combination for tracking \& extratitle. .Ve .SS incr_seen_nametitle .IX Subsection "incr_seen_nametitle" .Vb 1 \& 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. .Ve .SS get_seen_titleyear .IX Subsection "get_seen_titleyear" .Vb 2 \& Get the count of an labeltitle/labelyear combination for tracking \& extratitleyear .Ve .SS incr_seen_titleyear .IX Subsection "incr_seen_titleyear" .Vb 1 \& 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. .Ve .SS reset_workuniqueness .IX Subsection "reset_workuniqueness" .Vb 1 \& Reset various work uniqueness counters .Ve .SS get_seenname .IX Subsection "get_seenname" .Vb 1 \& Get the count of occurrences of a labelname or labeltitle .Ve .SS incr_seenname .IX Subsection "incr_seenname" .Vb 1 \& Increment the count of occurrences of a labelname or labeltitle .Ve .SS get_seentitle .IX Subsection "get_seentitle" .Vb 1 \& Get the count of occurrences of a labeltitle .Ve .SS incr_seentitle .IX Subsection "incr_seentitle" .Vb 1 \& Increment the count of occurrences of a labeltitle .Ve .SS get_seenbaretitle .IX Subsection "get_seenbaretitle" .Vb 2 \& Get the count of occurrences of a labeltitle when there is \& no labelname .Ve .SS incr_seenbaretitle .IX Subsection "incr_seenbaretitle" .Vb 2 \& Increment the count of occurrences of a labeltitle \& when there is no labelname .Ve .SS get_seenwork .IX Subsection "get_seenwork" .Vb 1 \& Get the count of occurrences of a labelname and labeltitle .Ve .SS incr_seenwork .IX Subsection "incr_seenwork" .Vb 1 \& Increment the count of occurrences of a labelname and labeltitle .Ve .SS incr_la_disambiguation .IX Subsection "incr_la_disambiguation" .Vb 1 \& Increment a counter to say we have seen this labelalpha .Ve .SS get_la_disambiguation .IX Subsection "get_la_disambiguation" .Vb 2 \& Get the disambiguation counter for this labelalpha. \& Return a 0 for undefs to avoid spurious errors. .Ve .SS set_sortingtemplatename .IX Subsection "set_sortingtemplatename" .Vb 1 \& Sets the sortingtemplate name of a data list .Ve .SS get_attrs .IX Subsection "get_attrs" .Vb 1 \& Gets the attributes of a data list .Ve .SS get_sortingtemplatename .IX Subsection "get_sortingtemplatename" .Vb 1 \& Gets the sortingtemplatename of a data list .Ve .SS set_sortingnamekeytemplatename .IX Subsection "set_sortingnamekeytemplatename" .Vb 1 \& Sets the sortingnamekeytemplate name of a data list .Ve .SS get_sortingnamekeytemplatename .IX Subsection "get_sortingnamekeytemplatename" .Vb 1 \& Gets the sortingnamekeytemplatename of a data list .Ve .SS set_uniquenametemplatename .IX Subsection "set_uniquenametemplatename" .Vb 1 \& Sets the uniquenametemplate name of a data list .Ve .SS get_uniquenametemplatename .IX Subsection "get_uniquenametemplatename" .Vb 1 \& Gets the uniquenametemplate name of a data list .Ve .SS set_labelalphanametemplatename .IX Subsection "set_labelalphanametemplatename" .Vb 1 \& Sets the labelalphanametemplate name of a data list .Ve .SS get_labelalphanametemplatename .IX Subsection "get_labelalphanametemplatename" .Vb 1 \& Gets the labelalphanametemplate name of a data list .Ve .SS set_sortinit_collator .IX Subsection "set_sortinit_collator" .Vb 1 \& Sets the sortinit collator for this list .Ve .SS get_sortinit_collator .IX Subsection "get_sortinit_collator" .Vb 1 \& Gets the sortinit collator for this list .Ve .SS get_labelprefix .IX Subsection "get_labelprefix" .Vb 1 \& Gets the labelprefix setting of a data list .Ve .SS set_labelprefix .IX Subsection "set_labelprefix" .Vb 1 \& Sets the labelprefix setting of a data list .Ve .SS set_name .IX Subsection "set_name" .Vb 1 \& Sets the name of a data list .Ve .SS get_name .IX Subsection "get_name" .Vb 1 \& Gets the name of a data list .Ve .SS set_type .IX Subsection "set_type" .Vb 1 \& Sets the type of a data list .Ve .SS get_type .IX Subsection "get_type" .Vb 1 \& Gets the type of a section list .Ve .SS set_keys .IX Subsection "set_keys" .Vb 1 \& Sets the keys for the list .Ve .SS get_keys .IX Subsection "get_keys" .Vb 1 \& Gets the keys for the list .Ve .SS count_keys .IX Subsection "count_keys" .Vb 1 \& Count the keys for the list .Ve .SS get_namelistdata .IX Subsection "get_namelistdata" .Vb 1 \& Gets name list data .Ve .SS set_namelistdata .IX Subsection "set_namelistdata" .Vb 1 \& Saves name list data .Ve .SS get_labelalphadata .IX Subsection "get_labelalphadata" .Vb 1 \& Gets labelalpha field data .Ve .SS set_labelalphadata .IX Subsection "set_labelalphadata" .Vb 1 \& Saves labelalpha data .Ve .SS get_labelalphadata_for_key .IX Subsection "get_labelalphadata_for_key" .Vb 1 \& Gets labelalpha field data for a key .Ve .SS set_labelalphadata_for_key .IX Subsection "set_labelalphadata_for_key" .Vb 1 \& Saves labelalpha field data for a key .Ve .SS set_extradatedata_for_key .IX Subsection "set_extradatedata_for_key" .Vb 1 \& Saves extradate field data for a key .Ve .SS set_extranamedata_for_key .IX Subsection "set_extranamedata_for_key" .Vb 1 \& Saves extraname field data for a key .Ve .SS get_extranamedata_for_key .IX Subsection "get_extranamedata_for_key" .Vb 1 \& Gets the extraname field data for a key .Ve .SS set_extradatedata .IX Subsection "set_extradatedata" .Vb 1 \& Saves extradate field data for all keys .Ve .SS get_extradatedata_for_key .IX Subsection "get_extradatedata_for_key" .Vb 1 \& Gets the extradate field data for a key .Ve .SS set_extratitledata_for_key .IX Subsection "set_extratitledata_for_key" .Vb 1 \& Saves extratitle field data for a key .Ve .SS set_extratitledata .IX Subsection "set_extratitledata" .Vb 1 \& Saves extratitle field data for all keys .Ve .SS get_extratitledata .IX Subsection "get_extratitledata" .Vb 1 \& Gets the extratitle field data for a key .Ve .SS set_extratitleyeardata_for_key .IX Subsection "set_extratitleyeardata_for_key" .Vb 1 \& Saves extratitleyear field data for a key .Ve .SS set_extratitleyeardata .IX Subsection "set_extratitleyeardata" .Vb 1 \& Saves extratitleyear field data for all keys .Ve .SS get_extratitleyeardata .IX Subsection "get_extratitleyeardata" .Vb 1 \& Gets the extratitleyear field data for a key .Ve .SS set_extraalphadata_for_key .IX Subsection "set_extraalphadata_for_key" .Vb 1 \& Saves extraalpha field data for a key .Ve .SS set_extraalphadata .IX Subsection "set_extraalphadata" .Vb 1 \& Saves extraalpha field data for all keys .Ve .SS get_extraalphadata .IX Subsection "get_extraalphadata" .Vb 1 \& Gets the extraalpha field data for a key .Ve .SS get_sortdataschema .IX Subsection "get_sortdataschema" .Vb 1 \& Gets the sortdata schema for a sortlist .Ve .SS set_sortdataschema .IX Subsection "set_sortdataschema" .Vb 1 \& Saves the sortdata schema for a sortlist .Ve .SS set_sortdata .IX Subsection "set_sortdata" .Vb 1 \& Saves sorting data in a list for a key .Ve .SS get_sortdata_for_key .IX Subsection "get_sortdata_for_key" .Vb 1 \& Gets the sorting data in a list for a key .Ve .SS set_sortinitdata_for_key .IX Subsection "set_sortinitdata_for_key" .Vb 1 \& Saves sortinit data for a specific key .Ve .SS set_sortinitdata .IX Subsection "set_sortinitdata" .Vb 1 \& Saves sortinit data for all keys .Ve .SS get_sortinit_for_key .IX Subsection "get_sortinit_for_key" .Vb 1 \& Gets the sortinit in a list for a key .Ve .SS set_sortingtemplate .IX Subsection "set_sortingtemplate" .Vb 1 \& Sets the sortingtemplate of a list .Ve .SS get_sortingtemplate .IX Subsection "get_sortingtemplate" .Vb 1 \& Gets the sortingtemplate of a list .Ve .SS add_filter .IX Subsection "add_filter" .Vb 1 \& Adds a filter to a list object .Ve .SS get_filters .IX Subsection "get_filters" .Vb 1 \& Gets all filters for a list object .Ve .SS instantiate_entry .IX Subsection "instantiate_entry" .Vb 6 \& Do any dynamic information replacement for information \& which varies in an entry between lists. This is information which \& needs to be output to the .bbl for an entry but which is a property \& of the reference context and not the entry per se so it cannot be stored \& statically in the entry and must be retrieved from the specific datalist \& when outputting the entry. .Ve .SS namelist_differs_index .IX Subsection "namelist_differs_index" .Vb 1 \& Returns the index where the name 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] \& \& namelist_differs_index([a, b, c, d, e]) \-> 2 \& namelist_differs_index([a]) \-> 1 .Ve .SS namelist_differs_nth .IX Subsection "namelist_differs_nth" .Vb 2 \& Returns true if some other name list differs at passed nth place \& and is at least as long \& \& namelist_differs_nth([a, b, c, d, e], 3) = 1 \& \& if there is another name list like any of these: \& \& [a, b, d, e, f] \& [a, b, e, z, z, y] .Ve .SH AUTHORS .IX Header "AUTHORS" Philip Kime \f(CW\*(C`\*(C'\fR .SH BUGS .IX Header "BUGS" Please report any bugs or feature requests on our Github tracker at . .SH "COPYRIGHT & LICENSE" .IX Header "COPYRIGHT & LICENSE" Copyright 2012\-2023 Philip Kime, all rights reserved. .PP This module is free software. You can redistribute it and/or modify it under the terms of the Artistic License 2.0. .PP 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.