3

Working on Classicthesis (version 4.2), I'm finding that by default the bibliography prints a comma before "and", resulting as below.

[22] Andrew McAfee, Erik Brynjolfsson, Thomas H Davenport, DJ Patil, and Dominic Barton. “Big data.” In: The management revo- lution. Harvard Bus Rev 90.10 (2012), pp. 61–67.

With classicthesis template as MWE (numeric-comp for package biblatex), how could this be fixed?

This question, which explain how to remove a comma after "et. al" in a similar situation, didn't help.

However, reading this question, I've come to the conclusion that classicthesis uses something called Natbib and that I'd need to locate a .bst file and edit accordingly. However, I cannot locate such a file in my directory... ?

  • You can relatively easily do that with biblatex – Bernard Dec 14 '15 at 22:16
  • First, and most important of all: which version of the classic thesis template are you using? They switched to biblatex in the latest one! In any case, this has nothing to do with classicthesis. It only depends on the bibliography style you're using. – PhilipPirrip Dec 15 '15 at 06:01
  • I'm using "A Classic Thesis Style v4.2" - so the latest version, and thus biblatex. What are the implications of this regarding my next step to solve this... ? – abrotherus Dec 15 '15 at 20:19

1 Answers1

5

Since you are using biblatex, there are two ways to get rid of the Oxford comma.

Use a different localisation

You can use a localisation that drops the Oxford comma. The american (and thus also the english locale – technically it is the other way round, but never mind) have \def\finalandcomma{\addcomma}, so they print a comma before "and" if there are three or more items in a list. The locales british and australian drop the Oxford comma.

So you could request british English from babel and not just english, keep in mind though that this will have other effects as well. So this is only an option if you should (or at least could) already be using a different localisation.

\documentclass[british]{article}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=authoryear, maxbibnames=999]{biblatex}
\addbibresource{biblatex-examples.bib}

\begin{document}
\cite{aksin,companion,baez/article}
\printbibliography
\end{document}

Redefine \finalandcomma and \finalandsemicolon

If you want to keep on using the same localisations and just remove the Oxford comma, go with

\DefineBibliographyExtras{english}{%
  \let\finalandcomma=\empty
  \let\finalandsemicolon=\empty
}

where \finalandcomma is the Oxford comma and \finalandsemicolon is the equivalent for semicolons instead of commas. It is necessary to put this into \DefineBibliographyExtras, because as we have seen \finalandcomma and \finalandsemicolon are language-specific commands.

\documentclass[english]{article}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber,style=authoryear,maxbibnames=999]{biblatex}
\addbibresource{biblatex-examples.bib}

\DefineBibliographyExtras{english}{%
  \let\finalandcomma=\empty
  \let\finalandsemicolon=\empty
}

\begin{document}
\cite{aksin,companion,baez/article}
\printbibliography
\end{document}
moewe
  • 175,683