---
name: "LaTeXML::Pre::BibTeX"
section: "3pm"
platform: "linux"
package: "latexml"
version: "0.8.8-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/LaTeXML::Pre::BibTeX"
---

# LaTeXML::Pre::BibTeX(3pm)

implements a BibTeX parser for LaTeXML.

## NAME

"LaTeXML::Pre::BibTeX" - implements a BibTeX parser for LaTeXML.

## DESCRIPTION

`"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.

### 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 `"\\ProcessBibTeXEntry{$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.

## AUTHOR

Bruce Miller \<bruce.miller@nist.gov\>

## COPYRIGHT

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