我有点卡住了。当我尝试将我的文档从普通的 bibtex 更改为 biblatex 时(出于引用处理的一些原因),我卡在了此错误消息中:
Undefined control sequence.
\lbx@lfromlang ->\iffieldundef
{origlanguage} {} {\bibstring {from\thefield ...
l.131 \begin{document}
据我所知,这是 biblatex *.lbx 文件的一部分。为此,我尝试使用 babel 包处理其他一些语言,结果它成功了。
下一步。使用相同的 bibfile 创建一个最小示例,尝试重现错误:
\documentclass{scrbook}
\usepackage[english,ngerman]{babel}
\usepackage{biblatex}
\addbibresource{00a_thesis.bib}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\begin{document}
Text with cite \cite{novikova:2011}\\
\printbibliography
\end{document}
这工作得很好。
有人能帮我找出导致这种奇怪行为的原因吗?为了排除 biblatex 中的错误,我还尝试了 2.8 开发分支,但没有成功。
编辑: novikova:2011 的 Bibtex 条目
@report{novikova:2011,
author = "Novikova, Aleksandra and Amecke, Hermann and Neuhoff, Karsten and Stelmakh, Kateryna and Kiss, Bernadett and Rohde, Clemans and Dunkelberg, Elisa and Matschoss, Kaisa and Darby, Sarah",
title = "Information tools for energy demand reduction in existing residential buildings",
institution = " Climate Policy Initiative (CPI)",
year = 2011,
month = "27~" # jun,
type = "Study",
url = "http://enef-haus.de"
}
答案1
我找到了解决问题的方法:
我使用的是大学提供的模板,该模板有自己的类文件。其中有命令\RequirePackage{ngerman}
。如果没有该命令,我的文件也可以正常编译biblatex
。
据我所知,\RequirePacke{ngerman}
只有当我想在 之前使用该包的简写时, 才有用\begin{document}
。
总之:如果我在命令中不使用任何这些,那么只使用 就足够了\usepackage[ngerman]{babel}
。