【问题标题】:RMarkdown: Multiple input files in the pandoc commandRMarkdown:pandoc 命令中的多个输入文件
【发布时间】:2015-11-21 19:49:28
【问题描述】:

Pandoc 显然可以从多个文件中读取输入。 Documentation says:

pandoc [options] [input-file]…

如果给出多个输入文件,pandoc 会将它们全部连接起来 (它们之间有空行)在解析之前。

我有:

main.Rmd

---
output:
  pdf_document
---

After the above YAML front-matter, additional YAML input follows:

---
myparams: blabla
whatnot: testtest
---

Now the main body follows, using $myparams$ and $whatnot$ from the second YAML block...

问题:

如何将第二个 YAML 块分离到它自己的文件中并将rmarkdown/knitr 指向它,以便他们发出带有两个输入文件而不是一个输入文件的 pandoc 命令?我可以以某种方式在 YAML 前端指定 path-to\separate.yaml 资产吗?

$pandoc main.md separate.yaml --output main.pdf`

separate.yaml

---
myparams: blabla
whatnot: testtest
---

main.Rmd

---
input-files: path-to/separate.yaml
output:
  pdf_document
---

Now the main body follows, having access to 
$myparams$ and $whatnot$ from the separate  YAML file...

【问题讨论】:

    标签: r knitr r-markdown pandoc


    【解决方案1】:

    如何将第二个 YAML 块分离到自己的文件中,并将 rmarkdown/knitr 指向它,以便他们发出带有两个输入文件而不是一个输入文件的 pandoc 命令?

    我过去遇到过类似的问题,但我不需要 YAML 标头,因此我对文件进行了预处理,删除了 YAML 标头并合并了文件。我建议你做类似的事情,创建自己的脚本来预处理文件,然后再发送到 rmarkdown/knitr。

    我可以在 YAML 前端以某种方式指定 path-to\separate.yaml 资产吗?

    不,你不能。

    【讨论】:

    • 谢谢。您能否显示将separate.yaml 文件附加到main.Rmd 文件并使用knitr 处理合并文件的最小工作代码?这会很有帮助,谢谢
    • @DanielKrizian 您可以使用head -n -1 获得separate.yaml 的“开始”,您可以使用tail -n +2 获得main.Rmd 的“结束”。使用这两个命令,您可以轻松合并两个文件。
    猜你喜欢
    • 2016-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-24
    相关资源
    最近更新 更多