LaTeXML::Pre::BibTeX(3) implements a BibTeX parser for LaTeXML.


"LaTeXML::Pre::BibTeX" serves as a low-level parser of BibTeX database files. It parses and stores a "LaTeXML::Pre::BibTeX::Entry" 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 BibTeX

"my $bib = LaTeXML::Pre::BibTeX->newFromFile($bibname);"
Creates a "LaTeXML::Pre::BibTeX" object representing a bibliography from a BibTeX database file.
"my $bib = LaTeXML::Pre::BibTeX->newFromString($string);"
Creates a "LaTeXML::Pre::BibTeX" object representing a bibliography from a string containing the BibTeX data.


"$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 "\\ProcessBibTeXEntry{$key}" for each bibliographic entry. The $key can be used to lookup the data from $STATE as "LookupValue('[email protected]'.$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.


Bruce Miller <[email protected]>


Public domain software, produced as part of work done by the United States Government & not subject to copyright in the US.