.\" -*- 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::Input::file::bibtex 3pm" .TH Biber::Input::file::bibtex 3pm 2024-04-21 "perl v5.38.2" "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 .SS init_cache .IX Subsection "init_cache" .Vb 2 \& Invalidate the T::B object cache. Used only in tests when e.g. we change the encoding \& settings and therefore must force a re\-read of the data .Ve .SS TBSIG .IX Subsection "TBSIG" .Vb 2 \& Signal handler to catch fatal Text::BibTex SEGFAULTS. It has bugs \& and we want to say at least something if it coredumps .Ve .SS extract_entries .IX Subsection "extract_entries" .Vb 4 \& Main data extraction routine. \& Accepts a data source identifier, preprocesses the file and then \& looks for the passed keys, creating entries when it finds them and \& passes out an array of keys it didn\*(Aqt find. .Ve .SS create_entry .IX Subsection "create_entry" .Vb 4 \& Create a Biber::Entry object from a Text::BibTeX object \& Be careful in here, all T::B set methods are UTF\-8/NFC boundaries \& so be careful to encode(NFC()) on calls. Windows won\*(Aqt handle UTF\-8 \& in T::B btparse gracefully and will die. .Ve .SS cache_data .IX Subsection "cache_data" .Vb 2 \& Caches file data into T::B objects indexed by the original \& datasource key, decoded into UTF8 .Ve .SS preprocess_file .IX Subsection "preprocess_file" .Vb 1 \& Convert file to UTF\-8 and potentially decode LaTeX macros to UTF\-8 .Ve .SS parse_decode .IX Subsection "parse_decode" .Vb 4 \& Partially parse the .bib datasource and latex_decode the data contents. \& We do this because latex_decoding the entire buffer is difficult since \& such decoding is regexp based and since braces are used to protect data in \& .bib files, it makes it hard to do some parsing. .Ve .SS parsename .IX Subsection "parsename" .Vb 2 \& Given a name string, this function returns a Biber::Entry::Name object \& with all parts of the name resolved according to the BibTeX conventions. \& \& parsename(\*(AqJohn Doe\*(Aq, \*(Aqauthor\*(Aq, \*(Aqkey\*(Aq) \& returns an object which internally looks a bit like this: \& \& { given => {string => \*(AqJohn\*(Aq, initial => [\*(AqJ\*(Aq]}, \& family => {string => \*(AqDoe\*(Aq, initial => [\*(AqD\*(Aq]}, \& prefix => {string => undef, initial => undef}, \& suffix => {string => undef, initial => undef}, \& id => 32RS0Wuj0P, \& strip => {\*(Aqgiven\*(Aq => 0, \& \*(Aqfamily\*(Aq => 0, \& \*(Aqprefix\*(Aq => 0, \& \*(Aqsuffix\*(Aq => 0} \& } .Ve .SS parsename_x .IX Subsection "parsename_x" .Vb 2 \& Given a name string in extended format, this function returns a Biber::Entry::Name object \& with all parts of the name resolved according to the BibTeX conventions. \& \& parsename_x(\*(Aqgiven=John, family=Doe\*(Aq) \& returns an object which internally looks a bit like this: \& \& { given => {string => \*(AqJohn\*(Aq, initial => [\*(AqJ\*(Aq]}, \& family => {string => \*(AqDoe\*(Aq, initial => [\*(AqD\*(Aq]}, \& prefix => {string => undef, initial => undef}, \& suffix => {string => undef, initial => undef}, \& id => 32RS0Wuj0P, \& hashid => \*(Aqsomeid\*(Aq, \& sortingnamekeytemplatename => \*(Aqtemplate name\*(Aq, \& } .Ve .SH NAME Biber::Input::file::bibtex \- look in a BibTeX file for an entry and create it if found .SH DESCRIPTION .IX Header "DESCRIPTION" Provides the \fBextract_entries()\fR method to get entries from a BibTeX data source and instantiate Biber::Entry objects for what it finds .SH AUTHOR .IX Header "AUTHOR" 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 2009\-2012 François Charette and Philip Kime, all rights reserved. Copyright 2012\-2024 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.