如何在RMarkdown中包含Bibtex引用?

时间:2018-08-13 05:20:53

标签: r-markdown bibtex

我在RMarkdown文件中包含Bibtex引用时遇到问题。我的RMarkdown文件如下所示:

---
title: "Untitled"
author: "Three Authors" 
documentclass: article
bibliography: mybib.bib
output: 
  pdf_document:
    number_sections: true
    fig_caption: true
    citation_package: natbib
fontsize: 12pt
geometry: margin = 1in
---

# Introduction

This is the introduction [@sutton2008]. 
# References

而且,我的.bib文件包括

@article{sutton2008,
    author = {A. J. Sutton and J. P Higgins},
    title = {Recent developments in meta‐analysis},
    journal = {Statistics in medicine},
    year = {2008},
    volume = {27},
    number = {5},
    pages = {625-650}
}

我希望在我的编译文件中看到引用。但是,当我编织.Rmd文件时,它抛出了一条错误消息

! Package inputenc Error: Unicode char ‐ (U+2010)
(inputenc)                not set up for use with LaTeX.

Error: Failed to compile main.tex. See main.log for more info.
Execution halted

main.log文件中包含一条很长的消息,但最终显示为

Package natbib Warning: Citation `sutton2008' on page 1 undefined on input line
 93.

(./main.bbl

! Package inputenc Error: Unicode char ‐ (U+2010)
(inputenc)                not set up for use with LaTeX.

See the inputenc package documentation for explanation.
Type  H <return>  for immediate help.

我正在Ubuntu 16.04上使用RStudio版本1.1.383。在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

经过几次试验,我成功地插入了引文。我注意到我在问题中没有提到的一件事是,我开始用Latex编写此手稿,并在那里创建了.bib文件。然后,我将该.bib文件复制到我的R Markdown文件所在的目录中。我认为这导致了unicode问题(如错误代码中所述)。然后,我删除了该.bib文件中的所有内容,然后通过键入再次输入引文条目。我保存了新格式的.bib文件,当我编译R Markdown文件时,它将引用正确插入了.pdf文件中。因此,我认为这是一个unicode问题。通过将.bib文件转换为正确的unicode格式,也许有一个更有效的解决方案(我认为在RMarkdown中使用Bibtex是UTF-8),但我找不到解决方法。