Я вязала следующий файл (обратите внимание на функцию eRRoR()
):Вязание Бимер слайды с Emacs-ESS (стоп-на-ошибки)
\documentclass{beamer}
<<setup, include=FALSE>>=
opts_knit$set(stop_on_error=2L, message=FALSE)
options(width=40)
@
\begin{document}
\begin{frame}[fragile]{Test}
<<test1>>=
eRRoR()
message("aaa")
print("test1")
@
<<test2>>=
print("test2")
@
\end{frame}
\end{document}
Я хотел бы knitr остановиться на ошибку. Но, несмотря на вариант stop_on_error=2L
выход R выглядит следующим образом:
> local({..od <- getwd(); setwd("c:/test/"); require(knitr); knit("c:/test/ktest.rnw"); setwd(..od) })
processing file: c:/test/ktest.rnw
|>>>>>>>>> | 14%
ordinary text without R code
|>>>>>>>>>>>>>>>>>>> | 29%
label: setup (with options)
List of 1
$ include: logi FALSE
|>>>>>>>>>>>>>>>>>>>>>>>>>>>> | 43%
ordinary text without R code
|>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> | 57%
label: test1
|>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> | 71%
ordinary text without R code
|>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> | 86%
label: test2
|>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>| 100%
ordinary text without R code
output file: c:\test\ktest.tex
>
Видимо остановки не происходит. Кроме того, если я PdfLaTeX выходной файл .tex, я получаю следующий PDF слайд:
Test
eRRoR()
## Error:
could not find function "eRRoR"
message("aaa")
## aaa
print("test1")
## [1] "test1"
print("test2")
## [1] "test2"
слайд подтверждает, что вязание идет, несмотря на ошибку.
Также непонятно (для меня) почему книжник печатает «обычный текст без R-кода». В этих кусках есть R-код. Кроме того, на выходе опция message=FALSE
не работает.
Что я делаю неправильно? Я использую ESS 12.09-1 [rev. 5167 (2012-09-24)] и knitr_0.8.
О, перед отправкой/тестированием я запускал 'install.packages ('knitr')', поэтому я был уверен, что я был в курсе последних событий. Вместо этого я не понял, что «knitr» на самом деле не был установлен, поскольку ESS блокировал его. Благодарю. – antonio