2

In my bibliography I have entries by the same author, published using different given names. Biber (naturally) does not recognize the authors to be the same, and as a result, sorts the entries alphabetically by name. Is there a way to tell Biber that these names are the same, so that it will sort by year instead?

In the following example, the 2000 entry appears before the 1990 one, because "Richard" comes before "Richie". What I want is that the entries are sorted by year instead:

\documentclass{article}
\usepackage{filecontents}
\usepackage[style=authoryear,sorting=nyt]{biblatex}
\begin{filecontents}{\jobname.bib}
@book{smith1990,
    author = "Smith, Richie",
    title = "First Entry",
    year = "1990"}
@book{smith2000,
    author = "Smith, Richard",
    title = "Second Entry",
    year = "2000"}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{smith1990,smith2000}
\printbibliography
\end{document}

I know that I can add a key:

@book{smith1990,
    key = "Smith, Richard, 1990",
@book{smith2000,
    key = "Smith, Richard, 2000",

However, I don't know how Biber normally computes the key, so I don't know if my format with lastname, givenname, year will sort correctly when there are other entries in the bibliography. Furthermore, I would ideally like a solution where I only need to specify something in the smith1990 entry.

4
  • according to your example you are using biblatex + biber and not bibtex, so both your title and your question text and tag are wrong. Nov 1, 2023 at 13:00
  • @UlrikeFischer apologies, I have made an edit. I am indeed using biblatex + biber.
    – Keelan
    Nov 1, 2023 at 16:25
  • Why not sortname = {Smith, Richard}? Then the entry would sort correctly even if you changed the sort order or style globally.
    – cfr
    Nov 1, 2023 at 16:53
  • Related: biblatex authoryear-comp and name aliases
    – Alan Munn
    Nov 1, 2023 at 16:55

1 Answer 1

4

The question Alan Munn linked is relevant, but simply getting the sorting you want can be done, I think, just with sortname. The advantage of this is that it only overrides author or editor when sorting. So if, say, you switch to a different citation or bibliography style, you won't have a hard-coded sort from the bibliography distorting the result. The value of sortname will have an effect just when the value of author or editor would.

\begin{filecontents}[overwrite]{\jobname.bib}
@book{smith1990,
    author = "Smith, Richie",
    sortname = {Smith, Richard},
    title = "First Entry",
    year = "1990"}
@book{smith2000,
    author = "Smith, Richard",
    title = "Second Entry",
    year = "2000"}
\end{filecontents}
\documentclass{article}
\usepackage[style=authoryear,sorting=nyt]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{smith1990,smith2000}
\printbibliography
\end{document}

Richie before Richard in bibliography

1
  • 1
    Thank you! I didn't know about sortname, that's very handy.
    – Keelan
    Nov 1, 2023 at 18:08

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .