更改 R Markdown 中的参考书目样式
Posted
技术标签:
【中文标题】更改 R Markdown 中的参考书目样式【英文标题】:Change bibliographystyle in R Markdown 【发布时间】:2018-10-07 11:50:53 【问题描述】:我想在 R Markdown 中更改 bibliographystyle
,但我发现没有任何帮助。
我不希望参考书目中有任何“和”(在最后一位作者之前)。
我的首选是如果我可以使用 alphadin
(bst-file here)但我无法让它工作。
到目前为止,这是我的 YAML:
---
output:
pdf_document
bibliography: literatur.bib
biblio-style: alphadin.bst
header-includes:
- \usepackagegraphicx
- \usepackagefloat
- \usepackage[ngerman]babel
- \usepackagefancyhdr
- \usepackagehyperref
- \pagenumberinggobble
- \usepackagebooktabs
- \usepackagenatbib
---
bst 文件与 R Markdown 文件位于同一目录中。
【问题讨论】:
【参考方案1】:如果你想设置参考书目样式使用 bst 文件,你需要强制 R Markdown 使用 natbib
或 biblatex
作为引文管理器。默认情况下,它将使用 pandoc 来构建引用。 This article 更多地解释了这种行为。
其次,一旦你有这个工作,你需要改变文件的引用风格。默认情况下,natbib 将使用作者年份引用,但您提供的 bst 文件不适用于这些。所以我将引用样式更改为数字。
下面是一个最小的例子。它将创建一个参考书目文件test.bib
,但您需要确保 alphadin.bst 文件位于同一目录中。
---
output:
pdf_document:
citation_package: natbib
bibliography: test.bib
biblio-style: alphadin
header-includes:
- \setcitestylenumbers
---
[@R-rmarkdown]
```r
knitr::write_bib(x = "rmarkdown", file = "test.bib")
```
【讨论】:
非常感谢!它就像你说的那样工作,我只需要写“test”而不是“test.bib”。 完成!抱歉,我不知道“接受”功能;) @MichaelHarper 我有一个类似的问题here 如果你想看看:【参考方案2】:还有另一种方法可以设置 natbib 的引用样式:YAML 中的natbiboptions: round
。 citation_package: natbib
和 natbiboptions: 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")
```
【讨论】:
以上是关于更改 R Markdown 中的参考书目样式的主要内容,如果未能解决你的问题,请参考以下文章
markdown Bootstrap - 更改表单的占位符文本样式
如何在R Markdown中改变biblatex中的引用风格?