4

I am new to BibLaTeX and ran into an issue with my bibliography, but not the citations. I would like to change the "&" before the last author name in the bibliography to an "and". I am aware that there are posts that change the "and" to an "&" in the bibliography, but I am having no luck modifying these pieces of code to do the opposite.

Right now, my code uses "and" in the citations, but "&" in the bibliography. The preamble I am currently using is:

\usepackage[english]{babel}
\usepackage{csquotes}
\usepackage[natbib=true,
backend=biber,
bibencoding=utf8,
sorting=nyt,
citestyle=authoryear,
bibstyle=apa,
maxbibnames=99,
apamaxprtauth=99,
maxcitenames=3,
uniquelist=false,
uniquename=false]{biblatex}
\addbibresource{bib3_clean.bib}% Syntax for version >= 1.2

% Removes period after year in bibliography
\renewcommand{\labelnamepunct}{\addspace} 

%put comma after title
\usepackage{xpatch}
\xpatchbibdriver{article}
{\usebibmacro{title}%
    \newunit}
{\usebibmacro{title}%
    \printunit{\addcomma\space}}
{}
{}

%remove journal number
\AtEveryBibitem{%
    \clearfield{number}}

% do not italicize volume number
\DeclareFieldFormat[article]{volume}{\apanum{#1}}

%remove comma after journal name
\renewbibmacro*{journal+issuetitle}{%
    \usebibmacro{journal}%
    \setunit*{\space}%
    \iffieldundef{series}
    {}
    {\newunit
        \printfield{series}%
        \setunit{\addspace}}%
    \usebibmacro{volume+number+eid}%
    \setunit{\addspace}%
    \usebibmacro{issue}%
    \setunit{\addcolon\space}%
    \usebibmacro{issue}%
    \newunit}

My question is, how to replace "&" with "and" only in the bibliography?

0

1 Answer 1

6

It is usually a bad idea to try and mix biblatex-apa with other styles or to modify it heavily: biblatex-apa is supposed to be used as style=apa, so that bibliography and citation style are both apa. It is quite a complex style that does a lot of work to implement the requirements of the APA manual which means that some choices in the code sacrifice customisability in favour of an accurate implementation of the complex APA rules. There are also some (implicit) dependencies between the bibliography and citation style. If you need an author-year style that is not APA style it is usually a better choice to start from one of the standard styles.

The "&" in an apa-style bibliography is controlled by two delimiters: the standard finalnamedelim and the apa-specific finalnamedelim:apa:family-given. Both need to be redefined. The original definition can be found in ll. 602-624 of apa.bbx, we just change all \&s to \bibstring{and}.

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage[english]{babel}
\usepackage{csquotes}
\usepackage[
  backend=biber,
  sorting=nyt,
  citestyle=authoryear,
  bibstyle=apa,
  maxbibnames=99,
  apamaxprtauth=99,
  maxcitenames=3,
  uniquelist=false,
  uniquename=false]{biblatex}

\renewcommand{\labelnamepunct}{\addspace}

\DeclareDelimFormat[bib]{finalnamedelim}{%
  \ifthenelse{\value{listcount}>\maxprtauth}
    {}
    {\ifthenelse{\value{liststop}>2}
       {\finalandcomma\addspace\bibstring{and}\space}
       {\addspace\bibstring{and}\space}}}

\DeclareDelimFormat[bib]{finalnamedelim:apa:family-given}{%
  \ifthenelse{\value{listcount}>\maxprtauth}
    {}
    {\ifthenelse{\ifcurrentname{groupauthor}\AND%
                 \value{liststop}=2}
     {\addspace\bibstring{and}\space}
     {\finalandcomma\addspace\bibstring{and}\space}}}

\usepackage{xpatch}
\xpatchbibdriver{article}
  {\usebibmacro{title}%
   \newunit}
  {\usebibmacro{title}%
   \printunit{\addcomma\space}}
  {}
  {}

\AtEveryBibitem{\clearfield{number}}

\DeclareFieldFormat[article]{volume}{\apanum{#1}}

\renewbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit*{\space}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}%
     \setunit{\addspace}}%
  \usebibmacro{volume+number+eid}%
  \setunit{\addspace}%
  \usebibmacro{issue}%
  \setunit{\addcolon\space}%
  \usebibmacro{issue}%
  \newunit}

\addbibresource{biblatex-examples.bib}


\begin{document}
\cite{sigfridsson}
\printbibliography
\end{document}

Sigfridsson, E., and Ryde, U. (1998) Comparison of methods for deriving atomic charges from the electrostatic potential and moments. Journal of Computational Chemistry 19, 377–395. https://doi.org/10.1002/(SICI)1096-987X(199803)19:4<377::AID-JCC1>3.0.CO;2-P


This answer assumes you are using a current version of biblatex-apa (at least v9.0 from 2019-11-23) that implements 7th-edition APA style.

If you are using an older version of biblatex-apa that still implements 6th-edition APA style or you are using a current version of biblatex-apa6 (style=apa6,), you may need

\DeclareDelimFormat[bib,biblist]{finalnamedelim}{%
  \ifthenelse{\value{listcount}>\maxprtauth}
    {}
    {\ifthenelse{\value{liststop}>2}
       {\finalandcomma\addspace\bibstring{and}\space}
       {\addspace\bibstring{and}\space}}}

\DeclareDelimFormat[bib,biblist]{finalnamedelim:apa:family-given}{%
  \ifthenelse{\value{listcount}>\maxprtauth}
    {}
    {\finalandcomma\addspace\bibstring{and}\space}}

Some citation commands also use "&", if you want to get rid of those as well, you additionally need

\DeclareDelimFormat[parencite,nptextcite,fullcite,fullcitebib]{finalnamedelim}
  {\ifnum\value{liststop}>2 \finalandcomma\fi\addspace\bibstring{and}\space}

That should work for older and newer versions of biblatex-apa and biblatex-apa6 alike.

2
  • Related if you ignore the Oxford comma/initials are an apposition business tex.stackexchange.com/q/422129/35864
    – moewe
    Mar 25, 2020 at 7:33
  • Thank you so much for the clear explanation!! The first bit of code fixed the issue. Thank you again, I really appreciate it.
    – jbrown
    Mar 25, 2020 at 14:20

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .