Rmarkdown主题未在使用R CMD构建的小插图中应用

时间:2018-05-17 15:16:21

标签: r markdown r-markdown knitr r-package

我试图制作一个具有特定主题的html包插图,例如来自 prettydoc (`https://github.com/yixuan/prettydoc/blob/master/vignettes/hpstr.Rmd)的 hpstr 主题。

如果我手动构建小插图:

rmarkdown::render('vignettes/hpstr.Rmd', output_format='prettydoc::html_pretty')

正确应用主题。但是,当我使用标准构建过程时,例如:

git clone https://github.com/yixuan/prettydoc.git
cd prettydoc
R CMD build .
R CMD INSTALL prettydoc_0.2.1.tar.gz

然后,在R:

> library('prettydoc')
> vignette('hpstr')

主题根本没有呈现,看起来像普通的html_output

小插图顶部的yml如下所示:

---
title: "Creating Pretty Documents from R Markdown"
subtitle: "The HPSTR Theme"
author: "Yixuan Qiu"
date: "`r Sys.Date()`"
output:
  prettydoc::html_pretty:
    theme: hpstr
    highlight: github
vignette: >
  %\VignetteIndexEntry{Creating Pretty Documents from R Markdown - The HPSTR Theme}
  %\VignetteEngine{knitr::rmarkdown}
  %\VignetteEncoding{UTF-8}
---

并在DESCRIPTION文件中指定了小插图构建器:

VignetteBuilder: knitr, rmarkdown

因此,小插图构建器看起来不像rmarkdown::render

如何使用R CMD build自动应用主题?

1 个答案:

答案 0 :(得分:2)

如果pandoc未安装在系统级别或旧版本,则会发生这种情况,而RStudio附带自己的pandoc版本。因此,在RStudio中渲染成功,而在relations_entities[0].entity.label失败。可能的解决方案:

  • 在系统级安装或更新pandoc
  • 使用系统级提供的RStudio随附pandoc
  • 在RStudio中构建软件包(由@YihuiXie建议)