在另一个 RMarkdown 文件中嵌入使用 markdown 语法编写的文本文件

Embed text files written with markdown syntax in another RMarkdown file

我知道这似乎是 中已经回答的问题。

但是,我会尽量把我的情况解释清楚。

  1. 我正在使用 RStudio 和 RMarkdown 编写 3 个单独的文档。事实上,我没有包含任何块,所以它可能是纯粹的 Markdown 语法。
  2. 这三个文档(.Rmd)共享一些部分,其中三个是相同的。
  3. 其中还有其他部分不同。

为了高效写作,我想把我提到的三个文档中的公共部分使用 Markdown 语法写在单独的文件中。

这样,我想在三个文档中(在它们各自的位置)包含和link那些共同的部分。

在这方面,我希望 knitr 在转换为 HTML PDF 或 DOCX 时考虑单独和公共部分的语法。我的意思是,如果有副标题、粗体、斜体等,要正确识别和转换

知道怎么做吗?

有多种方法可以做到这一点。这是我想到的前两个:

使用readLines:

这基本上是 , but you have to add the chunk option results="asis":

中的方法
```{r results="asis"}
cat(readLines('somefile.txt'), sep = '\n')
```

使用 read_chunk:

您也可以 read multiple code chunks from an external script 然后使用 asis 引擎显示您用 ref.label:

引用的块

您的 RMD 文件:

```{r}
knitr::read_chunk("mychunks.R")
```

```{asis, ref.label="firstchunk"}
```

```{asis, ref.label="secondchunk"}
```

文件mychunks.R:

## ---- firstchunk

Text

# Header

Text

## ---- secondchunk

Text2

# Header2

Text2