The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Text::BibTeX::BibFormat - formats bibliography entries

SYNOPSIS

# 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;

DESCRIPTION

The 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::BibSort.

BibFormat (the 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.)

METHODS

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 btformat for an example of how to use the output of format.

SEE ALSO

Text::BibTeX::Structure, Text::BibTeX::Bib, Text::BibTeX::BibSort

AUTHOR

Greg Ward <gward@python.net>

COPYRIGHT

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.