One thing about the biblatex-apa
style I could not get used to, is the 3-5 authors citation: if the authors number is between 3-5, all of them will be printed in citation.
e.g. Biblatex-apa style:
- [Citation] Goossens, Mittelbach, Samarin and Peter (2020)
- [Bibliography] Goossens, M., Mittelbach, F., Samarin, A. & Peter, T. (2020). How to DIY a nuclear bomb at home (1st ed.). Reading, Mass.: Addison-Wesley.
Sometimes the authors list is really long in text, and I thought it is indeed not necessary. So how to make the maxcitenames
number to 2
, just like the built in biblatex styles do.
MWE is provided:
\documentclass{article}
\usepackage[colorlinks]{hyperref}
\usepackage{libertine}
\usepackage[UKenglish]{babel}
\usepackage{csquotes}
\usepackage[
style=apa,
backend=biber,
maxcitenames=2, % no effect!
natbib=true] {biblatex}
\DeclareLanguageMapping{british}{british-apa}
\LetLtxMacro{\cite}{\citet} %
\addbibresource{biblatex-examples.bib}
\begin{document}
\section*{Apa citation}
Article - 2 authors: \cite{sarfraz}\\
Article - 3 authors: \cite{companion}\\
In proceeding: \cite{salam}\\
Ph.D thesis: \cite[see e.g.][]{geer} \\
Master thesis: \cite{loh}\\
Report: \cite{padhye}\\
Repeat citation: \cite{companion}, \citet{companion}, \citep{companion} \\
Multi-citation: \cite{bertram,knuth:ct:a,knuth:ct:b,knuth:ct:c} \\
\printbibliography
\end{document}
Best Answer
Yes the
maxcitenames
apparently has no effect inbiblatex-apa
. I faced this issue where thebiblatex-apa
was very close to the style I required but I did not want all the author names for 3-5 authors and I also didn't want the implementation of first cite as described in the APA style.The solution is to alter the code that causes this, you can find it in the file
apa.cbx
and it is usually in...../tex/latex/biblatex-apa
.The corresponding piece of code is the following:
One of the things this code does is check if the number of authors is > 5 or if the entry has already been cited, if so; then it assigns
et al
after the first author. By altering the code, changing the5
to2
and getting rid ofor test {\ifciteseen}
(watch out for the closing bracket), then any citation with more than 2 authors will haveet al
regardless if it has been used or not. Here's the edited part in addition to\makeatletter
and\makeatother
which are required when putting this into the document preambleThe
xpatch
package provides an easy way to apply the same change to thelabelname
formatting directive.