---
name: "Text::BibTeX::BibSort"
section: "3pm"
platform: "linux"
package: "perl-text-bibtex"
version: "0.91-3"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Text::BibTeX::BibSort"
---

# Text::BibTeX::BibSort(3pm)

generate sort keys for bibliographic entries

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