22

I am trying to understand how to change the order in which citations appear when I use multiple entries. Unfortunately the BibLatex documentation is not really helpful, its so complicated.

Lets say I have this citation \citep{Smith2003,Black2011,Church2012} I want them to appear (Smith, 2003; Black, 2011; Church, 2012), but I am instead getting (Black, 2011; Church, 2012; Smith, 2003).

I presume it is sorting them alphabetically by default. How do I change this? I don't want to change the order in which they appear in the Bibliography, they're alphabetical and I want them that way. Its the in-citation ordering I want to change.

Is there a way to tell it not to sort them and put them in the order I put them when doing citations with multiple references?

jbx
  • 1,504
  • 4
    See the documentation of the option sortcites. – Ulrike Fischer May 14 '15 at 16:50
  • 1
    Cheers, I was looking at citeorder and couldn't understand anything! Is there any option to make them sort by year instead of no sorting or alphabetical? – jbx May 14 '15 at 16:56
  • 1
    By default it uses either the sorting of the bibliography or no sorting. Other sortings are imho possible but rather tricky to implement. – Ulrike Fischer May 14 '15 at 17:12
  • Thanks. Well this is enough. I can put the cite ordering in the way I like anyway in this way, not that 2 or 3 citations need to be automated. – jbx May 14 '15 at 18:03
  • 1
    biblatex allows for a different sort order in citations and the bibliography, until version 2.9a that is. As soon as I have the new version up and running, I will investigate about version 3.0. – moewe May 15 '15 at 17:28
  • @moewe Can you indicate how to change the in-citation sort order (and put it in an answer)? – jbx May 17 '15 at 22:34
  • I could do that, but as I say, I can only be sure this works for versions up to 2.9a. The current version 3.0 of biblatex has changed the handling of sorting and I have yet to test it. – moewe May 18 '15 at 05:53
  • Funny, I have the opposite problem. I would like my citations be sorted alphabetically, but they just appear in the order I write them, which is a real pain if I want to add an extra citation and have to search in the list where it is appropriate to insert it. – durbachit Dec 11 '17 at 09:07

3 Answers3

8

Please see for Biblatex: how to automatically sort citation by year (sortcites=ynt) when references are sorted by name (sorting=nyt) a more thorough discussion and an alternative approach with a more modern version of biblatex.

You can specify the sorting of the bibliography separately from the sorting of the citations (enabled via sortcites).

In the pre-biblatex 3.0 days you would just have used an optional argument to \printbibliography, but now (i.e. starting from version 3.0) you have to use an optional argument to a new "refcontext" environment and wrap the bibliography in said environment.

\documentclass{article}
\usepackage[backend=biber,style=authoryear,sorting=ynt,sortcites]{biblatex}
\addbibresource{biblatex-examples.bib}

\begin{document} \cite{worman,geer,baez/article,wilde,knuth:ct:a,knuth:ct:b}

\begin{refcontext}[sorting=nyt] \printbibliography \end{refcontext} \end{document}

Wilde 1899; Knuth 1984; Geer 1985; Knuth 1986; Worman 2002; Baez and Lauda 2004

moewe
  • 175,683
  • Thanks for the answer, but this gives me an "empty bibliography" warning, and no bibliography. If I comment out the refcontext environment it works, albeit with the wrong sorting in the bibliography. In case it matters, all of the citations (but not the \addbibresource commands) are in \include files. (BibLaTeX 3.1) – Flyto May 05 '16 at 16:30
  • @SimonW Can you update to version 3.3 and try again? If that doesn't help, please ask a new question with an MWE that demonstrates the problem. – moewe May 05 '16 at 16:36
  • 1
    Biblatex 3.6/Biber 2.5 appears to break this. Presumably a bug? See http://tex.stackexchange.com/questions/332978/different-ordering-scheme-for-multiple-citations-and-for-bibliography-in-biblate – cfr Oct 07 '16 at 00:54
2

If you just want your multi-citations to appear in the order that you cite them whilst keeping your bibliography sorted, you need to specify sortcites=false when you load biblatex.

For example:

\usepackage[style=authoryear,sorting=nyt,sortcites=false]{biblatex}

I owe this to @UlrikeFischer's comment but because comments are easily missed, I thought I would add it as an answer.

-1

This is very simple, you just need to specify in the preamble:

\usepackage[comma]{natbib}

See more in: https://es.sharelatex.com/learn/Bibliography_management_with_natbib

Stefan Pinnow
  • 29,535
Victor
  • 11