[Tex/LaTex] Different sorting schemes in different sections of bibliography

biblatexsortingsubdividing

Update 5-Sep-2012: Sorry for highjacking this question, but as the status of the accepted selected answer has changed (now multiple sorting is implemented with biber/biblatex), and I think it is a good idea to update the answer of this question rather than me posting a new but nearly identical question.

The question is how have different portions or fragments of the bibliography (separated e.g. by type) appear under different headings and each with a different sort order.

I've tried using the sorting option of \printbibliography as suggested by PLK's answer bellow, but the numbers come out in the wrong order. Minimal example follows:

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{biblatextest.bib}
@BOOK{BookA03,
  author    = {Author Aaa},
  title     = {Some Title},
  publisher = {Some Publisher},
  year      = 2003
}
@BOOK{BookB02,
  author    = {Author Bbb},
  title     = {Some Title},
  publisher = {Some Publisher},
  year      = 2002
}
@ARTICLE{PaperC04,
  author  = {Author Ccc},
  title   = {Some Title},
  journal = {Some Journal},
  year    = 2004,
}
@ARTICLE{PaperD01,
  author  = {Author Ddd},
  title   = {Some Title},
  journal = {Some Journal},
  year    = 2001,
}
\end{filecontents}
\usepackage[defernumbers=true]{biblatex}
\addbibresource{biblatextest.bib}
\begin{document}

\textcite{PaperD01}
\textcite{PaperC04}
\textcite{BookB02}
\textcite{BookA03}

\printbibliography[title={Books},type=book,sorting=nty]
\printbibliography[title={Articles},type=article,sorting=ynt]
\end{document}

The order of the bibliography entries in the output is correct, but the numbers are not. I get: "Books [3] [2]" and "Articles [1] [4]", rather than "Books [1] [2]" and "Articles [3] [4]" as I would expect.


Using biblatex how would one sort different sections in the bibliography by different criteria e.g.

  • Section A of biblio: Sort by name, title, year, and
  • Section B of biblio: Sort by year, name, title.

For instance Section A would be a list of books and Section B a list of Proceedings where the Proceedings should be sorted by year.

Comment:

Different sections of a bibliography can be separately sorted by using sorttitle={}, see the example here:

@PROCEEDINGS{Feldman2000,  
title = {Feldman v Mexico, ICSID Case No. Arb(AF)/99/1 (NAFTA)},  
year = {6 December 2000},  
shorttitle = {Feldman v Mexico},  
sorttitle = {2000}  
}  

@PROCEEDINGS{JoyMining2004,  
  title = {Joy Mining Machinery Limited v. Arab Republic of Egypt, ICSID Case
    No. Arb/03/11},  
  year = {6 August 2004},  
  shorttitle = {Joy Mining v Egypt},  
  sorttitle = {2004}  
}

Is there another way to accomplish the same thing?

Best Answer

This is not currently possible. However the functionality for this is implemented in biber already and will be made visible through biblatex in the near future. This will allow you to specify different sorting not only for each refsection but for multiple bibliography lists in the same refsection.

This is now possible with biblatex 3.x and biber 2.x:

\newrefcontext[sorting=nty]
\printbibliography[type=book]

\newrefcontext[sorting=ynt]
\printbibliography[type=proceedings]

In older versions (biblatex 2.x and biber 1.x):

\printbibliography[sorting=nty, type=book]

\printbibliography[sorting=ynt, type=proceedings]
Related Question