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... ?

3
  • You can relatively easily do that with biblatex
    – Bernard
    Commented Dec 14, 2015 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. Commented Dec 15, 2015 at 6: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
    Commented Dec 15, 2015 at 20:19

1 Answer 1

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}
4
  • 2
    For those interested: in bug report #127 Setting \finalandcomma in preamble doesn't work at sourceforge Philipp Lehman that \finalandcomma is handled on a per-language basis which is why we need \DefineBibliographyExtras and friends here.
    – moewe
    Commented Jan 2, 2016 at 21:30
  • 1
    I knew a retag would bring you here :-)
    – Johannes_B
    Commented Jan 2, 2016 at 21:31
  • @Johannes_B Sometimes it doesn't take a lot ;-). I should probably read non-filtered lists of questions more often.
    – moewe
    Commented Jan 2, 2016 at 21:33
  • 1
    @Mico Merci....
    – moewe
    Commented Jul 30, 2018 at 13:29

You must log in to answer this question.

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