在 R Markdown 中更改参考书目样式

Change bibliographystyle in R Markdown

我想更改 R Markdown 中的 bibliographystyle,但我发现没有任何帮助。

我不想要参考书目中的任何 "and"(在最后一位作者之前)。 我的首选是如果我可以使用 alphadin (bst-file here) 但我无法让它工作。

到目前为止,这是我的 YAML:

---
output: 
  pdf_document
bibliography: literatur.bib
biblio-style: alphadin.bst
header-includes:
  - \usepackage{graphicx} 
  - \usepackage{float}       
  - \usepackage[ngerman]{babel} 
  - \usepackage{fancyhdr}
  - \usepackage{hyperref}
  - \pagenumbering{gobble}
  - \usepackage{booktabs}
  - \usepackage{natbib}  
---

bst 文件与 R Markdown 文件位于同一目录中。

如果你想设置书目风格使用bst文件,你需要强制R Markdown使用natbibbiblatex作为引用管理器。默认情况下,它将使用 pandoc 来构建引用。 This article 对行为进行了更多解释。

其次,一旦你成功了,你需要改变文件的引用风格。默认情况下,natbib 将使用作者年份引用,但您提供的 bst 文件不适用于这些。所以我将引用样式更改为数字。

下面是一个最小的例子。它将创建一个参考书目文件 test.bib 但您需要确保 alphadin.bst 文件位于同一目录中。

---
output: 
  pdf_document:
     citation_package: natbib
bibliography: test.bib
biblio-style: alphadin
header-includes:
  - \setcitestyle{numbers}
---

[@R-rmarkdown]

```{r}
knitr::write_bib(x = "rmarkdown", file = "test.bib")
```

还有一种方法可以设置natbib的引用样式:natbiboptions: round在YAML中。 citation_package: natbibnatbiboptions: round 的组合等同于 \usepackage[round]{natbib}。请注意 natbiboptions: round 位于 output 键之外。

(在下面的示例中,我使用了 biblio-style: apalike,但该示例应该适用于任何 biblio-style。)

---
output: 
  pdf_document:
     citation_package: natbib
bibliography: test.bib
biblio-style: apalike
natbiboptions: round
---

[@R-rmarkdown]

```{r}
knitr::write_bib(x = "rmarkdown", file = "test.bib")
```