错误:pandoc文档转换失败,错误2与pkgdown / rmarkdown

时间:2017-07-27 00:39:04

标签: r yaml r-markdown pandoc r-package

我正在尝试使用pkgdown建立一个网站,因此我运行了pkgdown::build_site()

这会引发以下错误:

  

构建文章'index.html'

     

错误:pandoc文档转换失败,错误2

在SO上有类似的problem,但答案并没有解决我的问题。

我的猜测是问题出现在my vignette的标题中,目前是:

output: 
  rmarkdown::html_vignette:
    smart: false
    toc: true

我尝试将其更改为:

output: rmarkdown::html_vignette

因为它在pkgdown的vignette中使用。当我使用该代码时,我收到了一个错误,并且没有构建插图。

  

- 智能/ -S已被删除。请改用+ smart或-smart扩展名。例如:pandoc -f markdown + smart -t markdown-smart。尝试   pandoc.exe --help以获取更多信息。错误:pandoc文档   转换失败,错误2另外:警告消息:正在运行   命令'“C:/ PROGRA~2 / Pandoc / pandoc”+ RTS -K512m -RTS   Introduction.utf8.md - 到html --from   降价+ autolink_bare_uris + ascii_identifiers + tex_math_single_backslash   --output pandoc23e071f76af6.html --smart --email-obfuscation none - self-contained --standalone --section-divs --template“C:\ Users \ E \ Documents \ R \ win-library \ 3.4 \ rmarkdown \ RMD \ ^ h \ default.html中”   --highlight-style pygments --css“C:\ Users \ E \ Documents \ R \ win-library \ 3.4 \ rmarkdown \ rmarkdown \ templates \ html_vignette \ resources \ vignette.css”   --mathjax - 变量“mathjax-url:https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML”'   状态2执行暂停

我将标题here更改为:

output:
  html_document: 
    smart: false

此标题编织了一个小插图,但在使用build_site()时仍然会出现相同的pandoc错误。

Pandoc是2.0版。 sessionInfo()返回:

  

R版本3.4.1(2017-06-30)平台:x86_64-w64-mingw32 / x64(64位)   运行于:Windows 7 x64(内部版本7601)Service Pack 1

     

Matrix产品:默认

     

区域设置:

     

LC_COLLATE = English_United Kingdom.1252 LC_CTYPE = English_United Kingdom.1252 LC_MONETARY = English_United Kingdom.1252 LC_NUMERIC = C
  LC_TIME = English_United Kingdom.1252

     

附加基础包:   stats graphics grDevices utils
  数据集方法基础

     

其他附件包:   pkgdown_0.1.0.9000 devtools_1.13.2

     

通过命名空间加载(而不是附加):MASS_7.3-47
  compiler_3.4.1 magrittr_1.5 R6_2.2.2 tools_3.4.1
  withr_1.0.2 roxygen2_6.0.1 Rcpp_0.12.12 memoise_1.1.0   xml2_1.1.1 stringi_1.1.5 stringr_1.2.0 digest_0.6.12
  commonmark_1.2 rlang_0.1.1.9000

任何想法如何解决?

修改

我在Ubuntu上运行了整个操作,并设法让它工作(参见repo)。仍然不知道是什么导致了这个问题。以下是sessionInfo()的输出:

  

R version 3.3.3(2017-03-06)平台:x86_64-pc-linux-gnu(64位)   运行于:Ubuntu 16.04.2 LTS

     

区域设置:

     

LC_CTYPE = en_GB.UTF-8 LC_NUMERIC = C
  LC_TIME = en_GB.UTF-8 LC_COLLATE = en_GB.UTF-8
  LC_MONETARY = en_GB.UTF-8 LC_MESSAGES = zh_CN.UTF-8
  LC_PAPER = en_GB.UTF-8 LC_NAME = C LC_ADDRESS = C
  LC_TELEPHONE = C LC_MEASUREMENT = en_GB.UTF-8   LC_IDENTIFICATION = C

     

附加基础包:stats graphics grDevices utils
  数据集方法基础

     

其他附件包:pkgdown_0.1.0.9000 devtools_1.13.1

     

通过命名空间加载(而不是附加):MASS_7.3-45
  magrittr_1.5 R6_2.2.2 tools_3.3.3 withr_2.0.0
  roxygen2_6.0.1 Rcpp_0.12.12 memoise_1.1.0 xml2_1.1.1
  stringi_1.1.2 stringr_1.2.0 digest_0.6.12 commonmark_1.2   rlang_0.1.1

1 个答案:

答案 0 :(得分:2)

引发警告是因为此处使用了参数--smart... running command '"C:/PROGRA~2/Pandoc/pandoc" ... --smart ... "'。因为Pandoc 2.0的--smart/-S has been removed,这是一个问题。因此,从调用者或命令行中删除--smart以解决此问题。

在Pandoc 2+中,智能的使用与任何其他扩展相同。要启用它,您可以将+smart附加到--to--from参数,也可以附加到两者。要禁用,请附加-smart

例如:

  

- 到html + smart

或者也许:

  

- 来自markdown + autolink_bare_uris + ascii_identifiers + tex_math_single_backslash-smart