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
Bib
database structure. The nature of this sort key is controlled by thesortby
option, which can be either"name"
or"year"
. (Thenamestyle
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
, orkey
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 thepurify_string
routine; see "Generic string-processing functions" in Text::BibTeX for a brief description, and the descripton 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.