# Bibliography with names separated by a comma, not by “and”?

My text is in German yet I'm using the style alpha and not alphadin because I don't like the capitalization and the word order in the latter. The only problem I have with alpha is that it separates the names by "and":

[AZ10] Martin Aigner and Günter M. Ziegler. Das Buch der Beweise. Springer, Berlin, Heidelberg, 2010.

And I'd like it to be separated by a comma.

My code, in case it might be relevant:

\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage{natbib}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}

@BOOK{Aigner2010,
AUTHOR = {Martin Aigner and G{\"u}nter M. Ziegler},
YEAR = {2010},
TITLE = {Das Buch der Beweise},
ISBN = {978-3-642-02259-3},
PUBLISHER = {Springer},
}

\end{filecontents}

\begin{document}

\nocite{*}
\bibliographystyle{alpha}
\bibliography{\jobname}

\end{document}

-

If you want to stick with BibTeX, it turns out not to be too difficult to create a modified form of the file alpha.bst that achieves your objective.

• Find the file alpha.bst in your TeX distribution. Make a copy of this file and call it, say, alphacomma.bst. (Don't edit a file from the TeX distribution directly.)

• Open the file alphacomma.bst in a text editor.

• Find the two instances of the string " and ". One instance is (most likely) on line 203 in the function format.names, the other on line 482 in the function format.crossref.editor.

• Replace both instances of " and " with ", ". Notice the space after the comma.

• In the function format.names, on line 198 (or so), locate the line

                { "," * }


(This line immediately follows the line that contains the code { numnames #2 >.)

Change this line to

                { "" * }


In case you're curious: In the original version of alpha.bst, if an entry has three or more authors, a comma is inserted before the final author. Since we're now using , as the generic delimiter between all authors, it's no longer necessary to insert a comma before the final author.

• Save the file alphacomma.bst either in the directory/folder where your main .tex file is located or in a directory/folder that's searched by BibTeX. If you choose the latter option, be sure to update the filename database of your TeX distribution appropriately.

• Start using the new bibliography file by using the instruction \bibliographystyle{alphacomma}. Run LaTeX, BibTeX, and LaTeX twice more to propagate all changes.

Happy BibTeXing!

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

%%\usepackage[alpha]{natbib}  % 'natbib' not really useful with alpha style

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@BOOK{Aigner2010,
AUTHOR = {Martin Aigner and G{\"u}nter M. Ziegler},
YEAR = {2010},
TITLE = {Das Buch der Beweise},
ISBN = {978-3-642-02259-3},
PUBLISHER = {Springer},
}
\end{filecontents*}

\begin{document}
\cite{Aigner2010}
\bibliographystyle{alphacomma}
\bibliography{\jobname}
\end{document}

-

Here is a solution using biblatex. (If you don't want the ISBN to be printed, load biblatex with the option isbn=false.)

\begin{filecontents*}{\jobname.bib}
@book{Aigner2010,
author = {Martin Aigner and G{\"u}nter M. Ziegler},
year = {2010},
title = {Das Buch der Beweise},
isbn = {978-3-642-02259-3},
publisher = {Springer},
}
\end{filecontents*}
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[
backend=biber,
style=alphabetic,
%natbib=true, % not needed here but FYI
]{biblatex}

FWIW, the biblatex option style=alphabetic seems to typeset the contents of the publisher and address fields in the opposite ordering of that produced by the BibTeX style alpha. – Mico Jul 26 '14 at 18:08