Text::BibTeX::BibFormat - formats bibliography entries
# Assuming $entry comes from a database of the 'Bib' structure # (i.e., that it's blessed into the BibEntry class, which inherits # the format method from BibFormat): @blocks = $entry->format;
Text::BibTeX::BibFormat class is a base class of
Text::BibTeX::BibEntry for formatting bibliography entries. It thus performs the main job of any program that would hope to supplant BibTeX itself; the other important job (sorting) is handled by its companion class,
Text::BibTeX prefix will be dropped for brevity) pays attention to almost all of the structure options described in Text::BibTeX::Bib; it only ignores those that cover sorting, currently just
sortby. In particular, all of the "markup" options control what language is generated by
BibFormat; if none of those options are set, then it will generate plain, unmarked text.
The only method in
BibFormat's documented interface (so far) is
format. (The class defines many other methods, but these should not be necessary to outsiders, so they are undocumented and subject to change.)
- format ()
Formats a single entry for inclusion in the bibliography of some document. The exact processing performed is highly dependent on the entry type and the fields present; in general, you should be able to join
format's outputs together to create a single paragraph for inclusion in a document of whatever markup language you're working with.
Returns a list of "blocks," which can either be jammed together like sentences (for a traditional "tight" bibliography) or printed on separate lines (for an "open" bibliography format). Each block is a reference to a list of sentences; sentences should be joined together with an intervening period. Each sentence is either a single string or a list of clauses; clauses should be joined together with an intervening comma. Each clause is just a simple string.
See the source code for
btformatfor an example of how to use the output of
Greg Ward <email@example.com>
Copyright (c) 1997-2000 by Gregory P. Ward. All rights reserved. This file is part of the Text::BibTeX library. This library is free software; you may redistribute it and/or modify it under the same terms as Perl itself.