# Citing articles in the bibliography

I'd like to cite another paper (keyB) inside a note of keyC, marking keyC as "superseded" by keyB.

When I do so, biblatex fails to respect the maxcitenames parameter. How do I get "Superseded by One et al. (2015b)" instead of the full author list? Note that I would like to keep the current global setting of maxbibnames.

MWE:

\documentclass[a4paper,11pt]{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage{csquotes}
\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@Inproceedings{keyA,
author = {Author One and Author Two and Author Three and Author Four},
title={titleA},
booktitle={bookA},
year=2015,
}
@inproceedings{keyB,
Title = {titleB},
author = {Author One and Author Two and Author Three and Author Four},
booktitle={bookB},
year=2015,
}

@Inbook{keyC,
Title = {titleC},
author = {Author One and Author Two and Author Three and Author Four},
booktitle={bookC},
year=2016,
% The following /should/ print One et al.'', but prints all four authors.
note = {Superseded by \citet{keyB}}
}
\end{filecontents}

\usepackage[natbib,maxcitenames=2,maxbibnames=99,style=authoryear,
mincitenames=1,backend=biber]{biblatex}
\begin{document}
\citet{keyA}

\citet{keyB}

\citet{keyC}

\printbibliography

\end{document}


In the bibliography biblatex uses the value of maxbibnames. But you can restore the cite value before the cite command:

\documentclass[a4paper,11pt]{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage{csquotes}
\usepackage{filecontents}
\makeatletter
\newcommand\restoremaxcitenames{\let\blx@maxbibnames\blx@maxcitenames}
\makeatother
\begin{filecontents}{\jobname.bib}
@Inproceedings{keyA,
author = {Author One and Author Two and Author Three and Author Four},
title={titleA},
booktitle={bookA},
year=2015,
}
@inproceedings{keyB,
Title = {titleB},
author = {Author One and Author Two and Author Three and Author Four},
booktitle={bookB},
year=2015,
}

@Inbook{keyC,
Title = {titleC},
author = {Author One and Author Two and Author Three and Author Four},
booktitle={bookC},
year=2016,
% The following /should/ print One et al.'', but prints all four authors.
note = {Superseded by {\restoremaxcitenames\citet{keyB}}},
related={keyB},
relatedstring={Superseded by}
}
\end{filecontents}

\usepackage[natbib,maxcitenames=2,maxbibnames=99,style=authoryear,
mincitenames=1,backend=biber]{biblatex}
\begin{document}
\citet{keyA}

\citet{keyB}

\citet{keyC}

\printbibliography

\end{document}


• Looks good! Does that permanently change the value, or just for the current citet? – hannes Sep 30 '15 at 20:23
• Imho this should be in a group, but to be sure I added some braces. – Ulrike Fischer Sep 30 '15 at 20:36
• @hannes If you use the \cite commands regularly inside note fields you could think about adding the \restoremaxcitenames to the field format, so you don't have to call it manually every time. – moewe Oct 1 '15 at 6:38
• @moewe thanks! For reference, this is the format I use now: \DeclareFieldFormat{note}{\restoremaxcitenames #1\isdot} – hannes Oct 1 '15 at 8:43