Text::BibTeX::BibSort - generate sort keys for bibliographic entries |
Text::BibTeX::BibSort - generate sort keys for bibliographic entries
# Assuming $entry comes from a database of the 'Bib' structure # (i.e., that it's blessed into the BibEntry class, which inherits # the sort_key method from BibSort): $sort_key = $entry->sort_key;
Text::BibTeX::BibSort
is a base class of Text::BibTeX::BibEntry
for generating sort keys from bibliography entries. It could in
principle (and, someday, might) offer a wide range of highly
customizable sort-key generators. Currently, though, it provides only a
single method (sort_key
) for public use, and that method only pays
attention to one structure option, sortby
.
Generates a sort key for a single bibliographic entry. Assumes this
entry conforms to the Bib
database structure. The nature of this
sort key is controlled by the sortby
option, which can be either
"name"
or "year"
. (The namestyle
also has a role, in
determining how author/editor names are formatted for inclusion in the
sort key.)
For by-name sorting (which is how BibTeX's standard styles work), the sort
key consists of one of the author
, editor
, organization
, or key
fields (depending on the entry type and which fields are actually present),
followed by the year and the title. All fields are drastically simplified
to produce the sort key: non-English letters are mercilessly anglicized,
non-alphabetic characters are stripped, and everything is forced to
lowercase. (The first two steps are done by the purify_string
routine;
see Generic string-processing functions in the Text::BibTeX manpage for a brief
description, and the descripton of the C function bt_purify_string()
in
bt_misc for all the gory details.)
the Text::BibTeX::Structure manpage, the Text::BibTeX::Bib manpage, the Text::BibTeX::BibFormat manpage
Greg Ward <gward@python.net>
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.
Text::BibTeX::BibSort - generate sort keys for bibliographic entries |