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
.
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 |