C Modules

C.20 LaTeXML::Bib

Implements a BibTeX parser for LaTeXML.

C.20.1 Description

LaTeXML::Bib serves as a low-level parser of BibTeX database files. It parses and stores a LaTeXML::Bib::BibEntry for each entry into the current STATE. BibTeX string macros are substituted into the field values, but no other processing of the data is done. See LaTeXML::Package::BibTeX.pool.ltxml for how further processing is carried out, and can be customized.

Creating a Bib

my $bib = LaTeXML::Bib->newFromFile($bibname);

Creates a LaTeXML::Bib object representing a bibliography from a BibTeX database file.

my $bib = LaTeXML::Bib->newFromString($string);

Creates a LaTeXML::Bib object representing a bibliography from a string containing the BibTeX data.

Methods

$string = $bib->toTeX;

Returns a string containing the TeX code to be digested by a LaTeXML object to process the bibliography. The string contains all @PREAMBLE data and invocations of \\backslash\\backslashProcessBibTeXEntry{$key} for each bibliographic entry. The $key can be used to lookup the data from $STATE as LookupValue('BIBITEM@'.$key). See BibTeX.pool for how the processing is carried out.

BibEntry objects

The representation of a BibTeX entry.

$type = $bibentry->getType;

Returns a string naming the entry type of the entry (No aliasing is done here).

$key = $bibentry->getKey;

Returns the bibliographic key for the entry.

@fields = $bibentry->getFields;

Returns a list of pairs [$name,$value] representing all fields, in the order defined, for the entry. Both the $name and $value are strings. Field names may be repeated, if they are in the bibliography.

$value = $bibentry->getField($name);

Returns the value (or undef) associated with the the given field name. If the field was repeated in the bibliography, only the last one is returned.