使用 Classicthesis(版本 4.2)时,我发现参考书目默认在“and”前打印逗号,结果如下所示。
[22] Andrew McAfee、Erik Brynjolfsson、Thomas H Davenport、DJ Patil 和 Dominic Barton。“大数据。”《管理革命》。《哈佛巴士评论》90.10(2012 年),第 61-67 页。
使用 classicthesis 模板作为 MWE(numeric-comp
用于包biblatex
),如何解决这个问题?
这个问题,解释了如何在类似情况下删除“et. al”后的逗号,但没有帮助。
然而,阅读这个问题,我得出的结论是 classicthesis 使用了一种名为 Natbib 的东西,我需要找到一个 .bst 文件并进行相应的编辑。但是,我无法在我的目录中找到这样的文件……?
答案1
由于您使用的是biblatex
,因此有两种方法可以摆脱牛津逗号。
使用不同的本地化
您可以使用删除牛津逗号的本地化。american
(因此也是语言english
环境 - 从技术上讲是反过来的,但没关系)有\def\finalandcomma{\addcomma}
,所以如果列表中有三个或更多项目,它们会在“and”之前打印逗号。语言环境british
和australian
删除牛津逗号。
因此,您可以请求british
英语,babel
而不仅仅是english
,但请记住,这也会产生其他影响。因此,这只是当您应该(或至少可以)已经使用不同的本地化时的一个选择。
\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}
重新定义\finalandcomma
和\finalandsemicolon
如果你想继续使用相同的本地化,并删除牛津逗号,请使用
\DefineBibliographyExtras{english}{%
\let\finalandcomma=\empty
\let\finalandsemicolon=\empty
}
其中\finalandcomma
是牛津逗号,\finalandsemicolon
是代替逗号的分号的等价物。 有必要将其放入 中\DefineBibliographyExtras
,因为我们已经看到\finalandcomma
和\finalandsemicolon
是特定于语言的命令。
\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}