I am working on a document containing two separate bibliographies, using the package bibtopic. The entries in both bibliographies are sorted alphabetically and I would like to change that.

I know that it's not possible with bibtopic to sort entries in the order of appearance. However, the documentation of bibtopic.sty states that it's possible to sort the entries according to the order in which they appear in the .bib file (see Section 5: Bugs and Restrictions, footnote #9):

So since there are no specific \citation commands in the (additional) .aux files, BIBTEX can only apply author-year sorting or print the items in the order they appear in the .bib file.

Unfortunately, the documentation does not explain how to achieve the latter option. At least there is no documented option to bibtopic to control the sorting behavior. Also, choosing different .bst style files (plain, unsrt, etc.) does not affect the sorting at all.

  • I don't think that your quote says that it is possible. It is only trying to explain why some orders are not possible. You could perhaps force a sorting by using the sortkey but why don't you use biblatex? – Ulrike Fischer Apr 25 '14 at 14:02
  • Indeed it seems that this is not possible after all. Looking at the bibtopic code, I found that there is no sorting at all in \btPrintAll or \btPrintCited macros. Hence the items show up in the order they are stored to the additional .aux file created by bibtopic. To my understanding, there is no option to change that order. With \btPrintAll you get the order of the .bib file; with \btPrintCited entries are sorted alphabetically. – Ferdinand Rau May 8 '14 at 14:00
  • To answer your question, @Ulrike: I am using LyX to prepare my documents and bibtopic is what LyX uses internally for sectioned (or multiple) bibliographies. biblatex is not directly supported by LyX (yet), but it is definitely worth the effort to enable it by hand: LyX HOWTO. – Ferdinand Rau May 8 '14 at 14:20

It's not possible to choose a sorting style using bibtopic.

Items are always printed in alphabetical order when using \btPrintCited and sorted according to the order in the .bib file otherwise. That said, it's possible to emulate unsrt (or any sorting), by removing all items that are not cited from the .bib file, manually reordering the others according to the desired sorting (e.g. by year) and using \btPrintAll to print them.

However, this is really cumbersome and totally against the spirit of LaTeX ;-) If any kind of non-alphabetical sorting is a requirement, it is definetely better to use biblatex.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.