Using ampersand symbols (&) instead of the word “and” for bibliography style apa

My supervisor just came with an idea to use the ampersand in citations and bibliography, so e.g.

Smith and Watson (1992)


should become

Smith & Watson (1992)


How can I make it work with bibtex and bibliography style apa?

-
Tell your advisor that book authors are not a firm. :) –  egreg Sep 15 '11 at 10:59
Do you want the ampersand to appear only in the text citations or in the bibliography as well? –  Gonzalo Medina Sep 15 '11 at 12:09
@Gonzalo, I would like it to appear everywhere consistently. However, if it is considerably easier to get it in citations only than I can start with that. –  Grzenio Sep 15 '11 at 12:34
i know this post is a year old, but FYI this is not apa style. In-text references to authors should spell out the word "and". Ampersands are used only for the bibliography and parenthetical citations. –  Jeff Nov 28 '12 at 1:31

Make a copy of apa.bst. (In a current TeX Live distribution it is located in /usr/local/texlive/2011/texmf-dist/bibtex/bst/beebe/apa.bst ). Call it myapa.bst or something appropriate, and save it in your local texmf folder: <path to local texmf>/bibtex/bst.

Edit the function {format.names}

Change line 250

 { " and " * t * }


to

 { " \& " * t * }


Edit the function {format.lab.names}

Change line 876

{ " and " * s #2 "{vv~}{ll}" format.name$* }  to { " \& " * s #2 "{vv~}{ll}" format.name$ * }


Now use \bibliographystyle{myapa} in your document.

The current version of the APA style uses "&" in the bibliography, but not in the citations, I think. So if you really need to conform, you should change only the format.names function, not the format.lab.names.

Alternatively, switch to using biblatex-apa, and redefine the \finalnamedelim macro:

\documentclass{article}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[style=apa]{biblatex}
\DeclareLanguageMapping{american}{american-apa}
\newcommand*{\finalnamedelim}{%
\ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
\begin{document}

...

\printbibliography

\end{document}


The redefinition of \finalnamedelim is not required if you don't change in-text citation "and"; the bibliography entries will automatically use "&".

-
It would be better to say: renewcommand*{\finalnamedelim}{\addthinspace\&\addthinspace}. This works only for the last name. To influence the other names you nee \multinamedelim. –  Marco Daniel Sep 15 '11 at 12:50
@Marco Thanks, I'll fix that. There shouldn't be any need to change \multinamedelim, which is usually a punctuation mark rather than 'and'. –  Alan Munn Sep 15 '11 at 12:59
You are right. \multinamedelim is normally a comma. –  Marco Daniel Sep 15 '11 at 13:08
I get the error Package biblatex Error: Style 'apa' not found. if I try the second method. Can I put the modified sty file somewhere locally in the first method? –  Grzenio Sep 15 '11 at 13:50
You need to install the biblatex-apa package, if it's not installed. For the first method, you can put the modified .bst file in the same directory as your .tex file and it should be found. (I assume that's what you mean by locally, since that's the only thing more local than your local texmf directory.) –  Alan Munn Sep 15 '11 at 14:49