4

I would like to sort my biblatex bibliography by last name. Unfortunately, names beginning with "Al-" are not sorted as expected.

MWE:

\documentclass{article}

\usepackage[
    backend=biber,
    style=ieee,
    citestyle=numeric-comp,
    sorting=nyt,
]{biblatex}

\bibliography{bib}

\begin{document}

\nocite{*}
\printbibliography

\end{document}

Bib-File:

@article{A,
title = {Title-A},
volume = {1},
journaltitle = {Journal},
date = {2000},
pages = {1-2},
author = {Abc, FirstName},
}

@article{B,
title = {Title-B},
volume = {1},
journaltitle = {Journal},
date = {2000},
pages = {1-2},
author = {Al-Xyz, FirstName},
}

@article{C,
title = {Title-C},
volume = {1},
journaltitle = {Journal},
date = {2000},
pages = {1-2},
author = {OtherAuthor, FirstName},
}

@article{D,
title = {Title-D},
volume = {1},
journaltitle = {Journal},
date = {2000},
pages = {1-2},
author = {Xyz, FirstName}
}

The expected order would be the same as in the bib file (Al-Xyz before OtherAuthor), but what I get is:

References
[1] F. Abc, “Title-a,” Journal, vol. 1, pp. 1–2, 2000.
[2] F. OtherAuthor, “Title-c,” Journal, vol. 1, pp. 1–2, 2000.
[3] F. Al-Xyz, “Title-b,” Journal, vol. 1, pp. 1–2, 2000.
[4] F. Xyz, “Title-d,” Journal, vol. 1, pp. 1–2, 2000.
5

biblatex or rather Biber strips the Arabic name prefix "al-" and other two-letter prefixes with hyphen before sorting. This is documented in §4.5.9 Fine Tuning Sorting on p. 209 of the biblatex documentation. The relevant macro is called \DeclareNosort and its default value is

\DeclareNosort{
  % strip prefixes like 'al-' when sorting names
  \nosort{setnames}{\regexp{\A\p{L}{2}\p{Pd}}}
  % strip some diacritics when sorting names
  \nosort{setnames}{\regexp{[\x{2bf}\x{2018}]}}
}

You can turn off this behaviour with

\DeclareNosort{
  % strip some diacritics when sorting names
  \nosort{setnames}{\regexp{[\x{2bf}\x{2018}]}}
}

Now only the two diacritics ʿ and are ignored.

enter image description here

It turns out the explanation in the manual for version 3.11 is slightly outdated. This has been corrected in https://github.com/plk/biblatex/commit/811878bcb2f0632b7afad43562b4c8f5415cb345 and the answer here already uses the new and correct terminology.

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.