是否可以将.bib文件放置在.Rmd文件所在的文件夹以外的其他文件夹中?

时间:2020-04-02 20:21:10

标签: r r-markdown

我正在写报告,我将对此做口头报告。因此,我有一个带有.Rmd文件的文件夹用于编辑,另一个文件夹带有另一个.Rmd文件用于演示。

由于我要对这两个.bib文件使用相同的.Rmd文件,所以我想知道是否可以将.bib放在这两个文件夹的上方,例如:

Some folder
    |_ references.bib
    |_ redaction
           |_ redaction.Rmd
    |_ presentation
           |_ presentation.Rmd

我当然可以将references.bibredaction文件夹复制粘贴到presentation文件夹,但是我认为上面的组织会更干净。

这将需要在两个bib文件的YAML中指定Rmd文件的路径。有可能做到吗?

对于YAML文件之一,只需Rmd

---
title: "A title"
author: "John Doe"
date: 02/04/2020
output: 
  bookdown::pdf_document2:
citation_package: biblatex
bibliography: references.bib
---

编辑:首选使用软件包here的解决方案,因为我希望避免使用绝对路径。

1 个答案:

答案 0 :(得分:2)

可以使用双反斜杠和无引号指定YAML标头的文件路径

bibliography: C:\\Some folder\\references.bib

要使用here而不是绝对路径,只需指定r代码

bibliography: "`r here::here('Some folder', 'references.bib')`"

请注意,您必须在here参数中使用单引号('),而不是常规的r双引号(​​“)