# Write complex citations with BibLatex - “&” needed instead of “and”

Using BibLatex with the apa style I try to cite some references in the following way:

... slightly adapted Biggs’ (1987, 1999; see for a similar model Marsick, Watkins, & O’Conner, 2011) model of ...

I tried to get the result as following (MWE)

\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[style=apa, backend=biber, sortcites=true]{biblatex}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@book{biggs1987,
location = {Melbourne},
title = {Student approaches to learning and studying},
publisher = {Australian Council for Educational Research},
author = {Biggs, J.},
date = {1987}
}

@book{biggs1999,
location = {Buckingham},
title = {Teaching for quality learning at university. What the student does},
publisher = {Society for Research into Higher Education},
author = {Biggs, J.},
date = {1999}
}

@incollection{marsick2011,
location = {London},
title = {Researching workplace learning in the United States},
pages = {198--209},
booktitle = {The international handbook of workplace learning},
publisher = {Sage},
author = {Marsick, Victoria and Watkins, Karen and O'Conner, Bridget N.},
editor = {Malloch, M. and Cairns, L. and Evans, K. and O'Conner, Bridget N.},
date = {2011}
}

\end{filecontents}

\begin{document}

\ldots slightly adapted Biggs' (\citeyear{biggs1987, biggs1999}; see for a similar model \citeauthor{marsick2011}, \citeyear{marsick2011}) model of  \ldots

\end{document}


However, the output is only:

... slightly adapted Biggs’ (1987, 1999; see for a similar model Marsick, Watkins, and O’Conner, 2011) model of ...

As you see BibLatex prints an "and" instead of an "&". It seems as \citeauthor is only thought to be used as in-text citation (there the "and" is correct).

I guess I could make my life a little bit easier by using the natbib option (see here). However, that changes some formations that I don't want to have changed.

My question therefore is: How do I get the ampersand (&) into the my citation without globally changing the and for in-text citations?

• Maybe I'm missing something, but why don't you just go with Biggs' (\citeyear{biggs1987, biggs1999}; see for a similar model \cite{marsick2011})? You will get an "and" as well, but that is how the APA want it. – moewe Aug 12 '15 at 16:25
• @moewe You are correct. I could use \cite{}. However, I do not think that the and is correct here. APA wants to have an ampersand within brackets. So the problem is still the same. – phx Aug 12 '15 at 16:29
• Aha, then add this monster before the \cite command: \AtNextCite{\renewcommand*{\finalnamedelim}{% \ifthenelse{\value{listcount}>\maxprtauth} {} {\ifthenelse{\value{liststop}>2} {\finalandcomma\addspace\&\space} {\addspace\&\space}}}}. (Modulo line breaks!) – moewe Aug 12 '15 at 16:29
• @moewe Are you sure the "%" belongs in there? Without it seems to work. Thank you. However, this is a really ugly hack indeed. Anyway, if nobody comes up with a more elegant solution I'd like to accept your answer. – phx Aug 12 '15 at 16:34
• Well, that is why I said modulo line breaks, normally this kind of code is formatted with line breaks and then the % makes perfect sense (and is actually necessary). I will write up an answer so you can see the whole thing in its entire glory. – moewe Aug 12 '15 at 16:37

We need to temporary influence \finalnamedelim here.

The obvious solution is to have

\AtNextCite{%
\renewcommand{\finalnamedelim}{%
\ifnum\value{liststop}>2
\finalandcomma
\fi


before the offending citation.

Since this is quite long and looks odd in the document body you might want to define a new command for that.

\newcommand{\switchtoparencite}{%
\AtNextCite{%
\renewcommand{\finalnamedelim}{%
\ifnum\value{liststop}>2
\finalandcomma
\fi


Then simply use \switchtoparencite\cite{marsick2011} and you are good to go.

You can of course also define a new citation command \nparencite that behaves as if it were a parenthetical citation, but misses the parentheses.

\DeclareCiteCommand{\nparencite}
\usebibmacro{cite:init}%
\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{}
{\usebibmacro{postnote}%
\usebibmacro{cite:post}}


You would then say \nparencite{marsick2011}

Which of the two solutions you prefer depends on the context, I guess; I for one think the second solution quite slick.

MWE (displaying both solutions)

\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[style=apa, backend=biber, sortcites=true]{biblatex}

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{biggs1987,
location = {Melbourne},
title = {Student approaches to learning and studying},
publisher = {Australian Council for Educational Research},
author = {Biggs, J.},
date = {1987}
}

@book{biggs1999,
location = {Buckingham},
title = {Teaching for quality learning at university. What the student does},
publisher = {Society for Research into Higher Education},
author = {Biggs, J.},
date = {1999}
}

@incollection{marsick2011,
location = {London},
title = {Researching workplace learning in the United States},
pages = {198--209},
booktitle = {The international handbook of workplace learning},
publisher = {Sage},
author = {Marsick, Victoria and Watkins, Karen and O'Conner, Bridget N.},
editor = {Malloch, M. and Cairns, L. and Evans, K. and O'Conner, Bridget N.},
date = {2011}
}

\end{filecontents*}

\newcommand{\switchtoparencite}{%
\AtNextCite{%
\renewcommand{\finalnamedelim}{%
\ifnum\value{liststop}>2
\finalandcomma
\fi

\DeclareCiteCommand{\nparencite}
\usebibmacro{cite:init}%
\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{}
{\usebibmacro{postnote}%
\usebibmacro{cite:post}}

\begin{document}
\ldots slightly adapted Biggs' (\citeyear{biggs1987, biggs1999}; see for a similar model \switchtoparencite\cite{marsick2011}) model of \ldots

\citereset

\ldots slightly adapted Biggs' (\citeyear{biggs1987, biggs1999}; see for a similar model \nparencite{marsick2011}) model of \ldots

\end{document}