我目前正在处理一份为我的博士研究而整理的大型参考书目,这些书目我在几个不同的程序(主要是 emacs 中的 KBibTeX、JabRef 和 ebib)中编辑过,但令人恼火的是,KBibTeX 使其不符合 unicode(我认为)。这意味着我只能用 XeLaTeX 编译引用它的文档。我对此没意见,我甚至不确定它是否与我遇到的问题有关。
问题是,当我用这个标题编译文档时:
\documentclass[a4paper,12pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[citestyle=authoryear, bibstyle=mla, backend=bibtex]{biblatex}
\bibliography{General}
它可以工作,但是一旦我将其更改为bibstyle=historian
,它就找不到文档了。我正在运行 TexLive 的标准 Arch Linux 包,该包包括已安装的 Historian 包。有人知道问题是什么吗?
答案1
您仅提供了一些备用信息。但是,其中存在一些错误:
- 如果你使用 XeLaTeX 进行编译,则无需加载
inputenc
。请参阅:经常加载的包:pdfLaTeX 和 XeLaTeX 之间的区别 biblatex
提供另一个命令来加载参考书目数据库。而不是\bibliography
使用\addbibresource
需要文件扩展名的命令。- 风格
historian
需要包装csquotes
。
根据这些信息,您的标题应该是:
\documentclass[a4paper,12pt]{scrartcl}
%\usepackage[utf8]{inputenc}
\usepackage{fontenc}
\usepackage{csquotes}
\usepackage[citestyle=authoryear, bibstyle=mla, backend=bibtex]{biblatex}
\addbibresource{General.bib}
这里是 MWE:
% arara: xelatex
% arara: biber
% arara: xelatex
% arara: xelatex
\documentclass[a4paper,12pt]{scrartcl}
%\usepackage[utf8]{inputenc}
\usepackage{fontenc}
\usepackage{csquotes}
\usepackage[style=historian,maxbibnames=6,maxcitenames=1]{biblatex}
\addbibresource{biblatex-examples.bib}
\begin{document}
\cite{knuth:ct:a}
\printbibliography
\end{document}