使用 knititations 包从引用文献中删除 #

标签 r knitr r-markdown bibtex bibliography

我需要从我的 Rmarkdown 文档中删除 # 符号, 具体参见引用文献部分。我使用名为 biblio.bib 的外部 .bib 存档。

我的 YAML header 是:

---
output: 
    pdf_document:
      number_sections: true
header-includes:
  - \usepackage[spanish]{babel}     
  - \usepackage{cite}
bibliography: biblio.bib
---

在引用部分我使用knititations包:

# Referencias {-}




```{r generateBibliography, echo=FALSE, eval=TRUE, message=FALSE, warning=FALSE}
require("knitcitations")
cleanbib()
read.bibtex(file = "biblio.bib")
```

我的pdf_document输出:

enter image description here

最佳答案

如果您不依赖knititations,我可以提供替代解决方案:

在编辑器中打开您的biblio.bib,您应该会找到类似于@article{einstein_relativity_1925, ...的内容。 (也许使用像 JabRef 这样的程序更可行。)现在,在您的文本中,您可以简单地引用如下:

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo 
ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis
parturient montes, nascetur ridiculus mus [@einstein_relativity_1925]. 

产生:

..., nascetur ridiculus mus (Einstein, 1925).

或者如果只需要年份,则设置前导减号:

However, Einstein [-@einstein_relativity_1925] concluded ... 

产生:

Einstein (1925) concluded ...

现在请注意,您的 biblio.bib 与您的 *.Rmd 位于同一目录中 - 文件并在论文末尾添加以下内容:

# Referencias
```{r refmgr references, results="asis", echo=FALSE}
```

当编织为 PDF 时,您使用的所有引用现在应该按字母顺序自动列出:

Referencias

Einstein, A. (1925). Relativity theory. Physics, 2nd edition. Teubner, Leipzig.

Einstein, A. (1927). ...

...

PS:您现在可以从 YAML header 中删除 -\usepackage{cite} 行。

关于使用 knititations 包从引用文献中删除 #,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45269999/

相关文章:

r - knitr markdown 不显示 r 中的基本图

r - Knitr 忽略 width 和 out.width 选项

r - 编程时如何将 dplyr::group_by 与多个组一起使用

r - 反转r数据帧中偶数行的符号

r - 对齐适用于 docx 和 pdf 输出的 R Markdown 环境?

r - 针织 RMarkdown html_document 中的 Kable (kableExtra) 垂直滚动条?

r - 自动将 R Markdown 应用程序重定向到不同的链接

r - 按列索引号 data.table R 过滤

r - 获取 Data.table 中的日期差异

r - 使用包 texreg 和 RStudio/rmarkdown/knitr 创建模型汇总表的问题