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".
- sort_key ()
- 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 Text::BibTeX for a
brief description, and the description of the C function
"bt_purify_string()" in bt_misc for
all the gory details.)
Text::BibTeX::Structure, Text::BibTeX::Bib, Text::BibTeX::BibFormat
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.