Rstudio Pandoc问题

时间:2019-02-04 20:51:40

标签: r rstudio pandoc

该示例将在我的笔记本电脑上而不是台式机上显示。两者都使用相同的RStudio和R版本。我试过卸载R和RStudio,更改R和RStudio版本,更改32/64位R,尝试安装各种pandoc版本,使用Sys.setenv()手动设置pandoc的路径...我有点亏了。

两台机器都具有以下内容:

> rmarkdown::pandoc_version()
[1] ‘1.19.2.1’
> version
               _                           
platform       x86_64-w64-mingw32          
arch           x86_64                      
os             mingw32                     
system         x86_64, mingw32             
status                                     
major          3                           
minor          4.3                         
year           2017                        
month          11                          
day            30                          
svn rev        73796                       
language       R                           
version.string R version 3.4.3 (2017-11-30)
nickname       Kite-Eating Tree 

这是一个最小的非有效示例。同样,它可以在笔记本电脑上运行,但不能在台式机上运行。

---
title: "Pandoc testing sandbox"
output:
  html_document:
    df_print: paged
    number_sections: yes
    toc: yes
    toc_float:
      collapsed: no
      smooth_scroll: no
---

Here is a chunk of code to test:


```{r, results = "asis", echo = FALSE, message = FALSE}

tex2markdown <- function(texstring) {
  writeLines(text = texstring,
             con = myfile <- tempfile(fileext = ".tex"))
  texfile <- knitr::pandoc(input = myfile, format = "html")
  cat(readLines(texfile), sep = "\n")
  unlink(c(myfile, texfile))
}

textable <- "
\\begin{table}[]
\\centering
\\begin{tabular}{l | c | c}
              & without replacement & with replacement \\\\ \\hline
order matters &  permutation: $\\frac{n!}{(n-k)!}$ & $n^k$  \\\\ \\hline
order does not matter & combination: ${n\\choose k}=\\frac{n!}{k!(n-k)!}$ & (\\textit{special case}) \\hline
\\end{tabular}
\\end{table}
"

tex2markdown(textable)
```

台式机上的错误文本为:

Line 17 Error in knitr::pandoc(input = myfile, format = "html") : 
Please install pandoc first: http://pandoc.org 
Calls: <Anonymous> ... withVisible -> eval -> eval -> 
tex2markdown -> <Anonymous> Execution halted

任何帮助,将不胜感激!

===

编辑:我做了一些测试并运行: rmarkdown::render("pandoctest.Rmd", "html_document")

并且有一个“使用调试重新运行”的选项,所以我做到了,并且错误发生在“ Function pandoc(namespace:knitr)”中。我认为中断发生的代码行是pandoc knitr软件包中的功能是:

...
if (Sys.which("pandoc") == "") 
    stop("Please install pandoc first: http://pandoc.org")
...

因此,似乎pandoc正在检查其是否已安装?抑或这是knitr软件包中的pandoc函数,该函数从其他地方调用实际的pandoc程序?因此,似乎我需要让knitr以某种方式查看我是否已安装pandoc。

0 个答案:

没有答案