NAME
Text::BibTeX::BibSort - generate sort keys for bibliographic 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 sort_key method from BibSort):
$sort_key = $entry->sort_key;
DESCRIPTION
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.
METHODS
- sort_key ()
-
Generates a sort key for a single bibliographic entry. Assumes this entry conforms to the
Bibdatabase structure. The nature of this sort key is controlled by thesortbyoption, which can be either"name"or"year". (Thenamestylealso 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, orkeyfields (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 thepurify_stringroutine; see "Generic string-processing functions" in Text::BibTeX for a brief description, and the description of the C functionbt_purify_string()in bt_misc for all the gory details.)
SEE ALSO
Text::BibTeX::Structure, Text::BibTeX::Bib, Text::BibTeX::BibFormat
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.