Zotero 导出到 bibtex 时出现问题,Natbib 错误和 JabRef 错误

Zotero 导出到 bibtex 时出现问题,Natbib 错误和 JabRef 错误

我对使用 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,你真的需要这个。

相关内容