Text::BibTeX::BibSort - generate sort keys for bibliographic entries

- NAME
- SYNOPSIS
- DESCRIPTION
- METHODS
- SEE ALSO
- AUTHOR
- COPYRIGHT

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

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

Text::BibTeX::BibSort - generate sort keys for bibliographic entries