2016-02-11 9 views
0

кодCompile RNW в текс

hello.Rnw:

\documentclass{article} 

\begin{document} 
\SweaveOpts{concordance=TRUE} 

\end{document} 

Команды:

rnwfile <- system.file("Sweave", "hello.Rnw", package = "utils") 
Sweave(rnwfile) 

Выход:

Error in SweaveReadFile(file, syntax, encoding = encoding) : no Sweave file with name ‘’ found

Вопрос

В чем проблема? Использование другого более сложного файла выводит то же самое. Если я добавлю в Sweave() только путь к файлу, он работает для hello.Rnw, но не для более сложных файлов. Затем вывод: «Ошибка:« test.Rnw »не является ASCII и не объявляет кодировку».

ответ

2

Функция system.file() предназначена для поиска файлов, установленных как часть пакета R. Например, если вы хотите запускать примеры Sweave, которые поставляются вместе с R, они должны быть теми, которые действительно предоставляются, например.

list.files(system.file("Sweave",package="utils")) 
## [1] "example-1.Rnw"  "Sweave-test-1.Rnw" 
Sweave(system.file("Sweave","example-1.Rnw",package="utils")) 

работает нормально. (Вы, возможно, были смущены ?Sweave документации, которая использует этот синтаксис. - это не необходимая часть Sweave процесса, просто используется там, чтобы получить входной файл примера)

Если вы хотите запустить Sweave()на вашем .Rnw файлов, вам необходимо убедиться, что они находятся в вашем рабочем каталоге (или указать полный путь); см. ?setwd/?getwd.

Нам нужно будет увидеть test.Rnw, чтобы узнать, в чем проблема.

Если вы не привязаны к Sweave, я настоятельно рекомендую изучить пакет knitr: он делает то же самое, что Sweave, но (IMO) лучше. (Это также очень хорошо документировано.)

+0

Целью является создание команды, выполняемой кнопкой COMPILE PDF. – b4154

+0

Я расскажу вам, есть ли у меня какие-либо другие выходы. Я попробую – b4154

+0

Вы могли бы задать этот вопрос напрямую ... 'knitr :: knit2pdf (" myfile ")', см. Http://stackoverflow.com/questions/34591487/difference-compile-pdf-button-in-rstudio -vs-knit-and-knit2pdf –

 Смежные вопросы

  • Нет связанных вопросов^_^