![使用 biblatex-apa](https://linux22.com/image/257970/%E4%BD%BF%E7%94%A8%20biblatex-apa.png)
我让 biblatex 在 Texlipse 中与 authoryear 风格协同工作:
\documentclass{article}
\usepackage[canadian]{babel}
\usepackage{csquotes}
\usepackage[style=authoryear,backend=biber]{biblatex}
\addbibresource{references.bib}
\begin{document}
This statement is true \parencite[5-8]{Ref}.
\printbibliography
\end{document}
参考文献.bib:
@BOOK
{Ref,
AUTHOR = "Doe, Jane and Smith, John",
TITLE = "A Book",
PUBLISHER = "Books, Inc.",
YEAR = 1999
}
但是,当我尝试将样式更改为 apa ( \usepackage[style=apa,backend=biber]{biblatex}
) 时,会生成一个空的参考书目。我有 texlive 2012,其中有 biblatex-apa。为什么它不起作用?
答案1
在 Miktex 上,使用 apa 的示例由于两个原因不起作用:
- 缺少语言映射命令,
xxx-apa.lbx
它会加载包含一些 APA 特定设置的命令。 - 您正在使用
canadian
语言,但canadian-apa.lbx
这里没有必要。
为了解决 1. 我使用了以下示例(test.bib
这是我用于测试的 bib 文件的名称):
\documentclass{article}
\usepackage[canadian]{babel}
\usepackage{csquotes}
\usepackage[style=apa,backend=biber]{biblatex}
\DeclareLanguageMapping{canadian}{canadian-apa}
\addbibresource{test.bib}
\begin{document}
This statement is true \parencite[5-8]{Ref}.
\printbibliography
\end{document}
为了解决 2. 我使用了一个现有的xxx-apa.lbx
(例如british-apa.lbx
或american-apa.lbx
我不知道哪个更适合作为起点)并制作了一个名为的副本canadian-apa.lbx
。然后我在文件中的两个地方将语言更改为“加拿大”:
- 第一行:
\ProvidesFile{canadian-apa.lbx}
- 在
\DefineBibliographyExtras{canadian}...
并将文件存储在 Latex 可以找到的地方。
american
另一种方法是使用参考书目的语言:
\documentclass{article}
\usepackage[canadian]{babel}
\usepackage{csquotes}
\usepackage[style=apa,backend=biber,language=american]{biblatex}
\DeclareLanguageMapping{american}{american-apa}
\addbibresource{test.bib}
\begin{document}
This statement is true \parencite[5-8]{Ref}.
\printbibliography
\end{document}