It isn't really clear how these rules should be combined. Based on reference lists recently published in this journal it appears that any two-author paper should precede a three-or-more-author work having the same first author, regardless of chronology. A similar precedent holds for one-author and two-author works. You can achieve all this by copying the first author and some "large" value into the sortname
field for every entry with more than two authors.
For one- or two-author entries sortname
can be left missing by adding the whole author
list to the same sorting element, as done in the new sorting scheme emi
below. Further requirements related to citation sorting and name list truncation can easily be achieved with some global option settings. The document also demonstrates a few of these.
\documentclass{article}
\usepackage{csquotes}
\usepackage[american]{babel}
\usepackage[backend=biber,style=authoryear,sortcites,sorting=noneyear,
maxcitenames=1,minbibnames=6,maxbibnames=7]{biblatex}
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map[overwrite]{
\step[fieldsource=author,match=\regexp{\s+and\s.+\s+and\s},final]
\step[fieldset=sortname,origfieldval]
\step[fieldsource=sortname,match=\regexp{\s+and\s.+},replace={\ and\ Zzz}]
}
}
}
\DeclareSortingScheme{noneyear}{
\sort{\citeorder}
\sort{\field{year}}
}
\DeclareSortingScheme{emi}{
\sort{
\field{sortname}
\field{author}
}
\sort{\field{year}}
\sort{\citeorder}
}
\begin{filecontents}{\jobname.bib}
@article{ref1,
author = {First, Joe and Second, Jane and Third, Bob},
title = {Article title},
journaltitle = {Journal},
date = {2001-01}}
@article{ref2,
author = {First, Joe and Second, Jane and Third, Bob},
title = {Article title},
journaltitle = {Journal},
date = {2000-01}}
@book{ref3,
author = {First, Joe and Third, Bob},
title = {Book title},
year = {2002}}
@book{ref4,
author = {Doe, Joe and Smith, Sam},
title = {Book title},
date = {2001}}
@book{ref5,
author = {Doe, Joe and Brown, Bob},
title = {Book title},
date = {2002}}
@book{ref6,
author = {First, Joe},
title = {Book title},
date = {2003}}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
\begin{document}
Filler \parencite{ref1,ref2,ref3,ref4,ref5,ref6}.
Filler \parencite{knuth:ct:c,knuth:ct:b,knuth:ct:a}.
\printbibliography[sorting=emi]
\end{document}
the canonical order of bibtex sort fields is the following: author(s)
(or sort keys if an alpha
sort is requested), year, title.
whether the bibtex ordering is controlled by a plain
or an alpha
.bst
file, if the year of publication is the same, the element
that will control the sort is the title. so if the title of the
earlier part begins with "z", only special handling can force that
to sort before an item with a title starting with "a". if the year
of publication is different, and the second part was published in a
year earlier than the first, the same problem holds.
let's take an extreme case. part "a" was published in 2000 and
part "b" in 1999. this will result in sort keys (if an alpha
style
is used) for which the two-digit years sort the entries "out of order".
even fiddling with how the title is sorted won't help here.
the most direct approach is to adjust the year field in a way that
won't affect the output except for the order of the entries.
the fact that multiple works by the same author(s) don't necessarily
sort in logical order was recognized by the author of bibtex ,
who provided this workaround in the manual (texdoc bibtex
) on page 4.
in the .bib
database, add this command:
@PREAMBLE{ "\newcommand{\noopsort}[1]{} " }
this will be passed along to the .bbl
file, from which it will
be applied in the latex run.
in the affected item entries in the .bib
file, modify the date
fields to do your dirty work:
year = "{\noopsort{1999b}}1999"
...
year = "{\noopsort{1999a}}2000"
of course, the artificial sort field should be chosen so that these
entries (according to the manual)
come out in a reasonable spot relative to the author's other works.
although the \noopsort
technique could be applied to the title,
always using the date should not have any untoward effect in future
processing; only if additional books by the same author are added
to the .bib
file would it even have to be checked.
Best Answer
If creating the bibliography entirely by hand is ok by you, you can get your desired citation call-out style rather easily. Simply:
load the
natbib
package with the optionround
and use\citep{<key>}
to generate the citation callouts; anduse the optional argument of each
\bibitem
directive to store just the first author's surname and the publication year (in parentheses), with no space between the surname and the (year).A full example: