Some style manuals recommend that you, with more than two authors, only use all of the names in the first citation and afterwards just use the last name
of the first author followed by “et al.”
I looked in the biblatex
manual, but clusent find this setting.
Here an example of what I am looking for (code below)
\begin{filecontents}{\jobname.bib}
@article{PhysRevB.39.7347,
title = {Eight new high-temperature superconductors with the 1:2:4 structure},
author = {Morris, Donald E. and Nickel, Janice H. and Wei, John Y. T. and Asmar, Naggi G. and Scott, Jeffrey S. and Scheven, Ulrich M. and Hultgren, Charles T. and Markelz, Andrea G. and Post, Jeffrey E. and Heaney, Peter J. and Veblen, David R. and Hazen, Robert M.},
journal = {Phys. Rev. B},
volume = {39},
issue = {10},
pages = {7347--7350},
numpages = {0},
year = {1989},
month = {Apr},
publisher = {American Physical Society},
doi = {10.1103/PhysRevB.39.7347},
url = {http://link.aps.org/doi/10.1103/PhysRevB.39.7347}}
\end{filecontents}
\documentclass[11pt, a4paper]{article}
\usepackage[english]{babel}
\usepackage[autostyle]{csquotes} % thanks http://tex.stackexchange.com/a/64383/22939
\usepackage[
backend=bibtex,
style=authoryear,
natbib=true,
maxbibnames=99,
maxcitenames=99, % maxcitenames
]{biblatex}
\usepackage{hyperref}
\hypersetup{
pdfborderstyle={/S/U/W 1}, % thanks, http://tex.stackexchange.com/a/26085/22939
}
\addbibresource{\jobname.bib}
\DefineBibliographyStrings{english}{%
bibliography = {References},
}
\defbibheading{bibintocindent}[\refname]{%
\section*{#1}%
\addcontentsline{toc}{section}{\protect\numberline{}#1}%
\markboth{\MakeUppercase{#1}}{\MakeUppercase{#1}}}
\begin{document}
\tableofcontents
\section{First section}
\citet{PhysRevB.39.7347} demonstrates $m$. However, it is also show that $q$ \citep[p. 7349]{PhysRevB.39.7347}
\printbibliography[heading=bibintocindent]
\end{document}
Best Answer
biblatex uses
\printnames{labelname}
to print out author names. Therefor it only printsmaxcitenames
, and at leastmincitenames
author names (for the bibliographymaxbibnames
/minbibnames
).So setting
maxcitenames
to1
is the default behaviour you want:Morrs et al.
, while the fullcite only is wanted if the cite is not seen yet.You can patch the existing bibmacros
\textcite
and\cite
which are used by\citet
and\citep
with thexpatch
-package. With it you can replace\printnames{labelname}
with\printnames[][-\value{listtotal}]{labelname}
which will print out ALL names, no matter whatmaxcitenames
says.If the cite was already seen, you can check with
\ifciteseen{}{}
, therefore you have to enable manually thecitetracker
-option from biblatex (see preamble). Maybe you have to adjust this option, so it fits your needs.update MWE:
Output: