2013-03-03 6 views
2

Я вязала следующий файл (обратите внимание на функцию 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.

ответ

1

Похоже, вы использовали старую версию knitr; см. FAQ 1.

+0

О, перед отправкой/тестированием я запускал 'install.packages ('knitr')', поэтому я был уверен, что я был в курсе последних событий. Вместо этого я не понял, что «knitr» на самом деле не был установлен, поскольку ESS блокировал его. Благодарю. – antonio

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

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