apa6.cls
今天我开始在我的文档中第一次尝试 biblatex :
\documentclass[ngerman,man,12pt,a4paper,noextraspace,donotrepeattitle]{apa6}
\usepackage[latin1]{inputenc}
\usepackage[english,ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{etoolbox}
\usepackage{csquotes}
\usepackage[style=apa,sortcites=true,sorting=nyt,backend=biber]{biblatex}
\DeclareLanguageMapping{ngerman}{ngerman-apa}
\addbibresource{Literatur.bib}
\begin{document}
\cite{vonDavier2011}
\printbibliography
\end{document}
bibliography.bib
我只是从示例文件中复制了 .bib 文件的内容apa6.cls
进行了一些测试,所以 .bib 内容是没问题的。
只要我biblatex
仅使用 加载,此方法即可正常工作\usepackage[backend=biber]{biblatex}
。但是当我另外指定 apa 引用样式(如上例所示)时,我收到错误
紧接着那条\printbibliography
线。
我必须指出,我并不是资深 latex 用户,甚至不是 biblatex 用户。例如,我刚刚将输出配置文件从 bibtex 更改为 biber,不知道我在其他主题中读到的“biber %”是什么意思。我应该在任何地方包含它吗?
谢谢您的回答!
答案1
错误在于ngerman
该行中声明了选项\documentclass
。
事情是这样的。当babel
被加载时,它会被传递所有的全局选项,因此ngerman
; 然后它会检查本地选项,english
并且ngerman
; 因为后者已经被加载,所以它没有任何效果并且主要语言变成英语。
\languagename
您可以通过在后面添加来检查这一点\begin{document}
,它将打印“english”。
解决方案:不要使用ngerman
in\documentclass
或同时使用两者。如果你使用的是babel
3.9 版本,也可以通过发出以下命令来解决问题
\usepackage[english, main=ngerman]{babel}
并且,在这种情况下,ngerman
选项\documentclass
不会造成损害。