【问题标题】:Creating templates in rmarkdown在 rmarkdown 中创建模板
【发布时间】:2019-08-05 15:09:09
【问题描述】:

我正在尝试创建自定义模板,但它不会显示。

我已经尝试关注https://bookdown.org/yihui/rmarkdown/template-structure.html,但无法弄清楚。我创建了一个skeleton.rmd 和template.yaml 但不知道是否需要将它们放在一个特殊的文件夹中。

创建新的 rmarkdown 文件时,我希望我的模板成为“来自模板”选项卡中的选择。

【问题讨论】:

  • 如果您希望能够将其选为“来自模板”,则必须按照同一文档的 17.1 和 17.2 中的步骤进行操作,而不仅仅是 17.3(您链接到的内容)
  • 我也跟着 17.1 和 17.2 创建了 skelton.rmd 和 template.yaml
  • 在 R 包中?我如何阅读第 17 章,您需要制作一个 R 包,安装它,然后可以在“来自模板”表中进行选择。我最近希望为几个其他人没有提供的模板提供此功能,您可以看到我为使这项工作为我所做的工作:github.com/duckmayr/draft
  • 安装 r 包是什么意思。我做到了,但不知道之后该怎么做才能将其放入“来自模板”表中

标签: r r-markdown


【解决方案1】:

我能够完成这项工作的方法是创建一个 R 包,然后将模板文件放置在包结构中,如 Chapter 17 of Yihui's R Markdown book 中所述。然后我通过devtools::install() 安装 R 包(尽管还有其他选项)。

因此,例如,我为特定期刊提交格式(您可以在 https://github.com/duckmayr/draft 找到)所做的是:

  1. 通过library(devtools); create_package("draft") 创建一个 R 包。我调用了我的包draft,所以你可以把那部分改成你的包名。
  2. inst/rmarkdown/templates/jop/template.yaml中添加模板元信息
  3. inst/rmarkdown/templates/jop/skeleton/skeleton.Rmd 中添加Rmd 骨架(您可以将其中的jop 部分更改为您的模板名称。
  4. inst/rmarkdown/templates/jop/resources/template.tex 中添加我的自定义 Pandoc 模板
  5. 通过devtools::install("draft")安装包

然后我可以按照您的意愿使用模板(“从模板创建”)。

【讨论】:

  • 你知道为什么这不起作用。运行 devtools::create("draft") 时的错误是 Error: 'create' is not an export object from 'namespace:devtools'
  • @abtc378 这是我的错误。我打字很快,有点草率。现在解决这个问题。
  • @abtc378 答案现已更新以解决该问题
  • 对于第 2 部分,什么是模板元信息,当您说添加时,就是将它们另存为并将它们放入您列出的文件夹中?
  • 当你运行 library(devtools); create_package("draft") 是否应该创建另一个窗口?我很困惑
猜你喜欢
  • 1970-01-01
  • 2020-08-02
  • 1970-01-01
  • 2018-09-08
  • 2013-09-07
  • 2023-03-19
  • 1970-01-01
  • 2015-06-09
  • 2017-05-27
相关资源
最近更新 更多