At some point in my Thesis I write something like what the following MWE generates.

\documentclass[a4paper]{scrartcl}
\usepackage[isbn=false,style=authoryear-comp,backend=biber,natbib,maxbibnames=99,maxcitenames=2,hyperref=true]{biblatex} % To get fancy bibliography as desired.
\usepackage{csquotes} % To make sure that my Bibliography loads correctly.

% REFERENCES SETTINGS

\usepackage[colorlinks=true,urlcolor=blue,linkcolor=black]{hyperref}

% BIBLIOGRAPHY SETTINGS

\addbibresource{Bib.bib}
\setlength\bibitemsep{2\itemsep}
\AtBeginBibliography{ 
\renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}}
\renewcommand*{\mkbibnamegiven}[1]{\textsc{#1}}
\renewcommand*{\mkbibnameprefix}[1]{\textsc{#1}}
\renewcommand*{\mkbibnamesuffix}[1]{\textsc{#1}}
}
\DeclareNameAlias{author}{last-first}
\DeclareDelimFormat[cbx@textcite]{nameyeardelim}{\addspace}
\renewcommand*{\bibfont}{\small}

\begin{document}
Following \citet{hartmascolell,evans}, utilities... 
\printbibliography
\end{document}

Call the associated .bib file Bib.bib and save it in the same folder as the MWE for the MWE to run. The .bib file should exactly be:

@article{hartmascolell,
author = "S. Hart and A. Mas-Colell",
title = "Bargaining and Value",
journal = "Econometrica",
volume = "64",
pages = "357--380",
year = "1996",
url = "https://doi.org/10.2307/2171787"
}

@article{evans,
author = "R. Evans",
title = "Coalitional Bargaining with Competition to Make Offers",
journal = "Games and Economic Behavior",
volume = "19",
pages = "211--220",
year = "1997",
url = "https://doi.org/10.1006/game.1997.0553"
}

Then, we obtain the following output:

enter image description here

I suspect that Evans appears before Hart & Mas-Colell because the order is lexicographic. However, to me, it would make more sense to get first Hart & Mas-Colell and then Evans because of the time-order of the papers (one is from 1996 and the other one is from 1997).

Therefore, my question is: how can I change the order in which authors appear from lexicographic to temporal? And also: is there any reason for which the lexicographic order is better (aka, default)?

Note: unless there is a reason not do so, I want to keep the order of the entries in the bibliography UNALTERED.

Note 2: there are related questions out there, but none of them addresses this with \citet{...}.

  • 1
    You are using authoryear-comp. That style compresses citations such as "Knuth 1984; Knuth 1986" to "Knuth 1984, 1986" to do that, biblatex needs to sort the citations (by author and then year) first. If you don't want that, you can disable sorting with sortcites=false, which will probably make your style more like authoryear in most cases. – moewe Mar 19 at 13:52
  • 1
    Another simple solution is to use the multicite version \textcites{hartmascolell}{evans}, these command are not sorted by default regardless of the sortcites setting. – moewe Mar 19 at 14:01
  • Thank you very much for your helpful comments. Would you be so kind to post your comments in an answer for me to accept it and close the question? – Héctor Mar 19 at 14:18
  • 1
    With an up-to-date version of biblatex \DeclareDelimFormat[cbx@textcite]{nameyeardelim}{\addspace} will not be needed any more. You should also add % to the line ends in \AtBeginBibliography (tex.stackexchange.com/q/7453/35864). \DeclareNameAlias{author}{last-first} is \DeclareNameAlias{author}{family-given} now, but you probably want \DeclareNameAlias{sortname}{family-given}. hyperref=true is normally useless, the only difference to the default hyperref=auto is that the former will issue a warning is the hyperref package is not loaded. – moewe Mar 19 at 14:31
up vote 2 down vote accepted

You are seeing this behaviour because authoryear-comp internally sets sortcites=true. That option causes citations to be sorted as the works would be cited in the bibliography. This is crucial for the compact/compressed style you use, since all permutations of \cite{knuth:ct:b,sigfridsson,knuth:ct:a} should come out as "Knuth 1984, 1986; Sigfridsson and Ryde 1998".

If you don't want any sorting in the citations at all and prefer to determine the sorting manually, you can disable the sorting with sortcites=false. This will seriously damage the -comp bit of authoryear-comp, though. Unless you sort the entries manually, you will more often than not end up with authoryear rather than authoryear-comp.

Since the multi-cite commands are not sorted by default (see Sorting citations using \cites command in biblatex), you could use \textcites to suppress the sorting

\textcites{hartmascolell}{evans}

It is theoretically possible to sort the citations with a different sorting template than the bibliography. But that is not advised because it can lead to unwanted effects with disambiguation letters. See Biblatex: how to automatically sort citation by year (sortcites=ynt) when references are sorted by name (sorting=nyt).

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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