我对使用 Latex 中的参考文献还很陌生,所以我可能会犯一些愚蠢的错误。
到目前为止,我使用 Zotero 在 Word 中管理参考文献。最终我需要一种 APA 样式,其中正文采用“作者(年份)”格式或括号格式“(作者,年份)”。
阅读有关 Bibtex 的内容时,我将 Zotero 存档导出为 Bibtex.bib
扩展文件。当我给出
\bibliography{mybib}
\bibliographystyle{apalike}
在文本中\cite{author_first-title-word_year}
(似乎是 bibtex 文件中的 Zotero 代码),我成功地获得了典型的 [1] 格式,最后在 Latex 中输出了类似 APA 的参考文献。现在我正在努力实现我需要的作者、年份格式。
我有两个问题。我读到我需要Natbib
这种格式的包。当我使用\usepackage{natbib}
Zotero 导出的 Bibtex 文件时,我收到以下错误:
Package natbib Error: Bibliography not compatible with author-year citations
Zotero 数据库也不兼容在 JabRef 2.10 中打开。如果我在 JabRef 中打开,我会得到error in line1095: Expected = but received @
。
我想知道使用 Zotero 数据库获取作者、年份格式有哪些有用的步骤。谢谢。
答案1
我确信 Zotero、Jabref、Manderley、Citavi 等工具对于概览所使用的文献和引用部分非常有用。
他们都使用自己的方式来存储这些信息,并且必须将这些信息转换为 BiBTeX 格式,以便您可以将其与 LaTeX 一起使用。
所有这些程序都可能生成错误的 bib 文件,因此您应该在将它们用于 LaTeX 论文或其他文档之前对其进行测试。例如,我知道 Zotero 会导出 BiBTeX 文件中通常不使用的摘要和其他部分,其中包含错误的字母或遗漏的字段结束符号}
或"
。
我的一些学生不得不与那个东西作斗争。
解决方案是使用标准的 bib 文件测试代码来检查从该工具导出的文件。在下面的 MWE 中,我使用包来filecontents
模拟带有一些条目的 bib 文件。您可以省略它并仅使用 bib 文件的文件名。
\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@Book{Goossens,
author = {Goossens, Michel and Mittelbach, Frank and
Samarin, Alexander},
title = {The LaTeX Companion},
edition = {1},
publisher = {Addison-Wesley},
location = {Reading, Mass.},
year = {1994},
}
@Book{adams,
title = {The Restaurant at the End of the Universe},
author = {Douglas Adams},
series = {The Hitchhiker's Guide to the Galaxy},
publisher = {Pan Macmillan},
year = {1980},
}
article{einstein,
author = {Albert Einstein},
title = {{Zur Elektrodynamik bewegter K{\"o}rper}. ({German})
[{On} the electrodynamics of moving bodies]},
journal = {Annalen der Physik},
volume = {322},
number = {10},
pages = {891--921},
year = {1905},
DOI = {http://dx.doi.org/10.1002/andp.19053221004},
}
\end{filecontents*}
\documentclass[10pt,a4paper]{article}
\usepackage[%
newcommands % \RaggedRight=\raggedright etc.
,newparameters % use default settings of ragged2e
]{ragged2e}
%\usepackage[margin=2.5cm]{geometry}
\usepackage{showframe} % to visualise the typing area and margins
\usepackage{hyperref}
\begin{document}
This is text with \cite{Goossens} and \cite{adams}.
\nocite{*} % to test all bib entrys
\bibliographystyle{unsrt}
{\raggedright % group to end left justification after bib
\bibliography{\jobname} %<====== add here your file name without .bib
} % ends group for left justified bibliography
\end{document}
通过这个测试代码,您可以找到 bib 文件中错误的部分并纠正它们,因为您将获得识别出错误的 bib 文件的行号。
或者您可以使用我的 MWE,将 bib 文件中的一项复制到其中,编译,没有错误,下一步。有错误?纠正它们。
因为我认为将参考书目排版为左对齐会更好,所以我在 MWE 中包含了这样做的代码。
答案2
这更好的 BibTeX我编写的 Zotero 插件修复了这些问题。它不是 JabRef,但我谦虚地认为它确实是下一个最好的选择。如果你想使用 BibTeX 和 Zotero,你真的需要这个。