在R Markdown中更改参考文献样式

7
我想要在R Markdown中更改,但是我找到的内容都无法帮助我。
我不想在参考文献中出现任何"and"(在最后一位作者之前)。 我首选的选项是如果我可以使用(bst-file在这里),但我无法让其工作。
以下是我的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文件在同一目录中。

2个回答

8
如果您想将参考文献样式设置为使用 bst 文件,需要强制 R Markdown 使用 natbib 或 biblatex 作为引用管理器。默认情况下,它会使用 pandoc 来构建引用。 本文 解释了这种行为更多。
其次,一旦您完成了这个步骤,需要更改文件的引用样式。默认情况下,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")
```

enter image description here


非常感谢!它完全按照您所说的工作,我只需要写“test”而不是“test.bib”。 - TobiSonne
完成了!抱歉,我不知道“accepted”函数的作用 ;) - TobiSonne
@MichaelHarper 如果您感兴趣,我在这里有一个类似的问题:https://stackoverflow.com/questions/61046041/how-to-change-bibliography-style-in-rmarkdown - Rollo99

2

有另一种设置natbib引用样式的方法:在YAML中使用natbiboptions: round。将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")
```

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接