我必须使用 APA 样式参考书目撰写一份报告,并使用这个最简单的例子:
\documentclass{article}
\usepackage[backend=biber,
bibstyle=apa,
]{biblatex}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{Knu86,
author = {Knuth, Donald E.},
year = {1986},
title = {The \TeX book},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\begin{document}
\cite{*}
\printbibliography
\end{document}
不会结束处理,也不会打印参考书目,而是:
Package biblatex Info: No input encoding detected.
(biblatex) Assuming 'ascii'.
Package biblatex Info: Automatic encoding selection.
(biblatex) Assuming data encoding 'ascii'.
\openout3 = `test.bcf'.
Package biblatex Info: Trying to load bibliographic data...
Package biblatex Info: ... file 'test.bbl' found.
(./test.bbl)
Package biblatex Info: Reference section=0 on input line 19.
Package biblatex Info: Reference segment=0 on input line 19.
LaTeX Warning: Citation '*' on page 1 undefined on input line 21.
! Undefined control sequence.
<argument> \mkbibdateapalongextra
{year}{month}{day}\iffieldundef {endyear}{...
l.24
在日志文件中找到。如果我使用citestyle
,则不会出现此错误。style
产生同样的问题。这个答案暗示我需要在 babel 中定义一种语言,但language=american
按照建议使用会产生相同的结果。
答案1
在拥有以后再次阅读手册,我在“使用”部分看到:
加载 BibLATEX 时以通常的方式指定样式。如果您使用 babel:
\usepackage[american]{babel} \usepackage{csquotes} \usepackage[style=apa]{biblatex} \DeclareLanguageMapping{american}{american-apa}
我没有使用与\DeclareLanguageMapping
我的 babel 偏好设置相匹配的命令。使用
\usepackage[spanish]{babel}
\usepackage{csquotes}
\usepackage{url}
\usepackage[backend=biber,
sorting=none,
citestyle=numeric,
url=true,
backref=true,
bibstyle=apa
]
{biblatex}
\DeclareLanguageMapping{spanish}{spanish-apa}
已修复此问题。必须确保 babel 和 DeclareLanguageMapping 语言匹配,并且<texmf>/tex/latex/biblatex/lbx/<language>-apa.lbx
存在该语言。