Этот пример будет вязать на моем ноутбуке, но не на рабочем столе.Оба используют одинаковые версии RStudio и R.Я попытался удалить R и RStudio, изменить версии R и RStudio, изменить 32/64 бит R, попытаться установить различные версии Pandoc, установить путь к pandoc вручную с помощью Sys.setenv () ... Я вроде какпотеря здесь.
Обе машины имеют следующее:
> 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")
И была опция "Rerun with Debug", поэтому я сделал это,и ошибка происходит в «Function pandoc (namespace: knitr)». Строка кода, где происходит разрыв в том, что, как я полагаю, является функцией pandoc в пакете knitr:
...
if (Sys.which("pandoc") == "")
stop("Please install pandoc first: http://pandoc.org")
...
pandoc проверяет, установлен ли он сам?Или это функция pandoc в пакете knitr, которая вызывает реальную программу pandoc откуда-то еще?ТАК, кажется, мне нужно заставить knitr как-то увидеть, что у меня установлен pandoc.