首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用rmarkdown作为vignette引擎

使用rmarkdown作为vignette引擎
EN

Stack Overflow用户
提问于 2014-07-21 17:40:44
回答 2查看 1.6K关注 0票数 6

我已经在RStudio中写了一些小插曲,目的是让它们用RStudio的rmarkdown包来构建。我知道rmarkdown::render是我们用来将.rmd转换为.html (或任何其他格式)的函数,但是,当我把

代码语言:javascript
复制
<!--
%\VignetteEnginer{rmarkdown::render}
%\VignetteIndexEntry{some test title}
-->

在我的.rmd的前言中(以及我建议的描述字段中的knitrrmarkdown,以及VignetteBuilder字段中的rmarkdown ),我的vignette没有编译。

有没有人设法让rmarkdown充当小插曲构建者?

EN

回答 2

Stack Overflow用户

发布于 2014-07-22 15:23:05

根据@Ben的回答(以及下面的评论),knitr已经注册了一个访问rmarkdown的vignette引擎(如果它已经安装),并且

代码语言:javascript
复制
<!--
%\VignetteEngine{knitr::rmarkdown}
%\VignetteIndexEntry{Supplementary materials}
-->

是我们如何注册它的示例。但是,为了充分利用rmarkdown (即将.Rmd转换为.html并保留.Rmd中定义的任何样式),您必须将代码片段放在"rmarkdown preamble“下面的之上。

代码语言:javascript
复制
---
Title: "Supplementary Materials"
output:
  html_document:
    theme: flatly
---
<!--
%\VignetteEngine{knitr::rmarkdown}
%\VignetteIndexEntry{Supplementary Materials}
-->

当然,您还需要确保正确地创建了包含rmarkdownknitr的描述文件。最简单的方法是使用

代码语言:javascript
复制
Suggests: knitr, rmarkdown
VignetteBuilder: knitr
票数 10
EN

Stack Overflow用户

发布于 2014-07-21 22:33:37

为什么要使用rmarkdown而不是knitr?乍一看,你的问题看起来有点混淆了rmarkdownknitr。澄清一下:

rmarkdown是一种‘创作格式’,它是‘基于针织和潘多克’。当我们运行rmarkdown::render时,我们调用的是knitr和/或pandoc。

knitr是将rmarkdown转换为html/PDF/docx的引擎。这就是执行R代码以获取输出和绘图等的过程。

knitr包的作者already mentioned说“因为rmarkdown包还没有在CRAN上,所以你现在不能使用vignette引擎knitr::rmarkdown”。如果你不能等待,你可以使用register your own engine,但这看起来相当复杂。

我想你想要的是:

在您的Rmd文档的顶部:

代码语言:javascript
复制
<!--
%\VignetteEngine{knitr::rmarkdown}
%\VignetteIndexEntry{Supplementary materials}
-->

在你的DESCRIPTION文件中:

代码语言:javascript
复制
VignetteBuilder: knitr
Suggests:
    knitr

要获得完整的示例,请查看tidyr package,这里是DESCRIPTION,这里是rmarkdown vignette (向Andrie致敬,让我指向它)。

如果你想从rmarkdown得到一些你不能从knitr得到的东西(一个自定义样式,等等)那么你应该把它放在一个新的问题中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24861970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档