[Tex/LaTex] BibTeX: Apalike using & instead of and

apa-stylebibtex

Intro

I am currently writing a report on my local language. The usage of "and" in my reference list is not preferable and I would like to use "&" instead of "and" such that the reference list and cite will display with "&" not "and".

I tried manually changeing all "and"s to "\&" in my .bib file. However, this did not solve the problem as the authors suddenly showed up wrong. I am not sure why this happened but I know that it was interpreted wrong.

I have following in my master file:

\usepackage{hyperref}
\usepackage{natbib}
...
\bibliographystyle{apalike}

Question:

Is it possible to change the reference list such that all "and"'s are interpreted as "&" and displayed as such while maintaining "and" in the .bib file?

Best Answer

Your question is a bit confused, because you have tagged it as Biblatex, but your reference to apalike suggests you are using BibTeX.

First off, whichever system you are using, do not try to change the format of references by changing your .bib file. That file just contains data. How it is formatted depends on other files. Each author should always and only be separate from the others by and in that file.

For BibTeX

If you are using apalike, follow the instructions given in this answer: https://tex.stackexchange.com/a/109226/5404, replacing " and " with " \& " in two places in the file. Be sure to rename the .bst file.

For BibLaTeX

The biblatex-apa style already uses ampersands (not "and") so there shouldn't be any change to make. If you do ever need to change the "&" or "and" in biblatex, follow the instructions given at Replace 'and' with ampersand in bibliography and parenthetical citations using BibLaTeX.

The essential trick is to redefine the \finalnamedelim macro. A generally suitable definition is along these lines

\renewcommand*{\finalnamedelim}{%
    \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
    \addspace\&\space}%

The second line of that deals with the insertion of a comma before the final delimiter, a feature itself controlled by \finalandcomma: if you don't want a comma, you can define that macro to produce nothing.