0

Goodmorning everyone.

In my thesis I need to cite authors with the following rules,but with the citation style authoryear it doesn't work (I'm using biblatex):

  • Author et al. year - if there is more than two authors
  • Author and coauthor year - if there are two authors
  • Author et al. year a - if there is more than a pubblication with the same author

An example:

This is my database:

@article{sism,
    author = {Mantovani, E.  and Tamburelli, C. and Babbucci, D. and Viti, M. and Cenni, N.},
    date = {2020},
}
@article{geodin,
    author = {Mantovani, E. and Viti, M. and Babbucci, D. and Tamburelli, C. and Cenni, N.},
    date = {2020},
}
@article{mant14,
    author = {Mantovani, E.  and Viti, M. and Babbucci, D. and Tamburelli, C. and Cenni, N. and Baglione, M. and D'Intinosante, V.},
    date = {2014},
}

@article{savage70, author = {Savage, J. C. and Burford, R. O.}, date = {1970}, }

If I cite \cite{sism} it shows Mantovani, Tamburelli et al. 2020 instead of Mantovani et al. 2020a

If I cite \cite{geodin} it shows Mantovani, Viti, Babbucci, Tamburelli and Cenni 2020 instead of Mantovani et al. 2020b

If I cite \cite{mant14} it shows Mantovani, Viti, Babbucci, Tamburelli, Cenni, Baglione and D'Intinosante 2014 instead of Mantovani et al. 2014

If I cite \cite{savage70} it shows Savage and Burford 1970 and it's ok.

I tried to set maxcitenames=1 but doing so if I \cite{savage70} it shows Savage et. al 1970 instead of Savage and Burford 1970.

Thanks for the help!

EDIT: with maxcitename the three first long citations don't change, don't know why.

  • maxcitenames=2? – Fran Jun 02 '21 at 07:45
  • Doing so, the outputs would be:

    Mantovani, Tamburelli et al. 2020

    Mantovani, Viti, Babbucci, Tamburelli and Cenni 2020

    Mantovani, Viti, Babbucci, Tamburelli, Cenni, Baglione and D'Intinosante 2014

    Savage and Burford 1970

    – Valeria Jun 02 '21 at 07:57

1 Answers1

0

You need to use both maxnames and minnames:

I quote from the manual:

maxnames=〈integer〉default:3 A threshold affecting all lists of names (author,editor, etc.). If a list exceeds thisthreshold, i. e., if it holds more than〈integer〉names, it is automatically truncated according to the setting of theminnamesoption.maxnamesis the master optionwhich setsmaxbibnames,maxcitenamesandmaxsortnames. Note that the uniquelist feature can locally override maxnames, see the documentation of the uniquelist option in §3.1.2.3and §4.11.4.

minnames=〈integer〉default:1 A limit affecting all lists of names (author,editor, etc.). If a list holds morethan〈maxnames〉names, it is automatically truncated to〈minnames〉names. The〈minnames〉value must be smaller than or equal to〈maxnames. minnamesisthe master option which sets both minbibnames and mincitenames. Like maxnames the value of minnames can be overridden by uniquelist.

The letter in the citation can be produced using the sortyear variable (cf. also this question: Biblatex mincitenames not respected with authoryear )

The following code should produce the output you are looking for:

\documentclass[11pt]{scrartcl}

\begin{filecontents*}{bibliography.bib} @article{sism, author = {Mantovani, E. and Tamburelli, C. and Babbucci, D. and Viti, M. and Cenni, N.}, year = {2020}, sortyear={2020-1}, } @article{geodin, author = {Mantovani, E. and Viti, M. and Babbucci, D. and Tamburelli, C. and Cenni, N.}, year = {2020}, sortyear={2020-2}, } @article{mant14, author = {Mantovani, E. and Viti, M. and Babbucci, D. and Tamburelli, C. and Cenni, N. and Baglione, M. and D'Intinosante, V.}, year = {2014}, }

@article{savage70,
    author = {Savage, J. C. and Burford, R. O.},
    year = {1970},
}

\end{filecontents*}

\usepackage[citestyle=authoryear-comp,maxnames=2,minnames=1,uniquelist=true,uniquename=true,]{biblatex} \bibliography{bibliography}

\begin{document} \cite{sism} \cite{geodin} \cite{mant14} \cite{savage70} \printbibliography \end{document}

It looks like this:

enter image description here

Note that using authoryear-comp or authoryear with this setting results in ambiguous references, as only the first author is given and the letter differentiating the two entries is not part of the reference list. I recomment setting minnames to an appropriate number to reflect that. (In your case, that would be 2)

Markus G.
  • 2,735
  • The letters are also added to the year even without sortyear. sortyear can only influence which work gets which letter. It may make the answer even more helpful to mention more explicitly that maxnames and minnames on their own are often not enough to get the desired effect, you also need uniquelist (and possibly also uniquename). The options are used in the code, but making that more explicit may help users to understand better what is going on. – moewe Jun 02 '21 at 09:36