【问题标题】:knit HTML does not save html in vignettes/knit HTML 不会将 html 保存在 vignettes/
【发布时间】:2014-05-15 16:34:12
【问题描述】:

所以我有一个小插曲,vignettes/test-vignette3.Rmd:

---
title: "Sample Document"
output:
  html_document:
    highlight: kate
    theme: spacelab
    toc: yes
  pdf_document:
    toc: yes
---

Header
=========

当我点击knit HTML 按钮时,我得到以下信息:

processing file: test-vignette3.Rmd
output file: test-vignette3.knit.md


Output created: /tmp/RtmpKVpegL/preview-5ef42271c0d5.dir/test-vignette3.html

但是,如果我将此文件复制到 inst/doc 并点击 knit HTML 按钮,我会得到:

processing file: test-vignette3.Rmd
output file: test-vignette3.knit.md


Output created: test-vignette3.html

我的问题是:

  1. 如何让 RStudio 将 knit HTML 上的 vignettes/test-vignette3.Rmw 的输出保存到 vignettes 目录?
  2. 如何让 RStudio 在knit HTML 过程中不删除test-vignette3.knit.md? (我想要 .md 以便人们可以在我的 github 存储库上阅读它。)

我正在运行 RStudio 版本 0.98.836、rmarkdown 版本 0.1.98 和 knitr 版本 1.5。

【问题讨论】:

    标签: r knitr rstudio r-markdown


    【解决方案1】:

    实际上你应该将.html 输出保留在vignettes/ 下,因为小插图输出应该由R CMD build 生成。如果在构建源包时 HTML 输出文件已经存在,R 可能无法重新编译您的小插图,这意味着您可能会看到旧的(并且可能是错误的)结果,因为 HTML 文件不是从最新版本的.Rmd 文件。因此,RStudio 有意避免在 vignetttes 目录中写入 HTML 文件。

    如果您选择忽略上述警告,您当然可以在 R 控制台中运行 rmarkdown::render('your-vignette.Rmd')

    对于第二个问题,我也不建议你这样做,因为 Github 以不同的方式将 markdown 呈现为 HTML(与通过 rmarkdown 包完成的 Pandoc 转换相比)。通常,包装小插图显示在 CRAN 上,例如,参见 CRAN 上的the knitr page。但是,因为 rmarkdown 包还没有在 CRAN 上,所以你现在不能使用 vignette 引擎knitr::rmarkdown(我想我们现在离 CRAN 版本不远了)。不过,您可以考虑将 HTML 文件推送到 Github 页面。

    【讨论】:

    • 这很合乎逻辑,但也让用户很意外。我花了几天的时间才找到这个答案并意识到为什么我的编织小插曲神秘地没有出现在“小插曲”中。最好在构建包时保持一致的行为并做一些不同的事情。
    • 不幸的是,我无能为力。行为由 R 核心定义。如果您使用 RStudio,当您单击 Knit 按钮时,RStudio 不会真正生成 html 文件。如果您是其他编辑,我们无能为力。
    • 嗯,这是一个 RStudio 问题。我对rmarkdown::render 很好,它会按照它所说的去做,并且会很高兴地在小插图中生成 HTML。问题是编织按钮是否应该在小插图目录中特别表现。我的观点是,如果你正在构建一个 CRAN 包,你的构建过程可能不应该涉及手动单击 knit 按钮 - 它应该涉及例如devtools::build_vignettes。并且 OTOH 针织按钮应该符合我的预期。
    • 我很惊讶这个答案不被接受。无论如何 - 它非常有用。谢谢,但更重要的是感谢您提供的优质软件包
    猜你喜欢
    • 2013-09-08
    • 1970-01-01
    • 2012-12-24
    • 2021-02-11
    • 2015-05-04
    • 2011-08-25
    • 1970-01-01
    • 2016-07-01
    • 2015-03-08
    相关资源
    最近更新 更多