Тема Rmarkdown не применяется в виньетке с использованием R CMD build - PullRequest
0 голосов
/ 17 мая 2018

Я пытаюсь создать виньетку html-пакета с определенной темой, например, из темы hpstr из prettydoc (`https://github.com/yixuan/prettydoc/blob/master/vignettes/hpstr.Rmd).

Если ясоздайте виньетку вручную:

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 голосов
/ 23 мая 2018

Это может произойти, если pandoc не установлен ни на системном уровне, ни на старом, а RStudio поставляется с собственной версией pandoc.Поэтому рендеринг в RStudio выполняется успешно, тогда как при R CMD build происходит сбой.Возможные решения:

  • Установить или обновить pandoc на системном уровне
  • Сделать pandoc, поставляемый с RStudio, доступным на системном уровне
  • Сборка пакета в RStudio (предложено @YihuiXie)
...