我在OS X(10.8.3)上使用Lyx(2.06)和R(3.01)。我正在尝试将一个knitr文件导入Lyx。 Lyx能够在 setwd 命令中找到Rstudio但Rscript失败。来自Lyx的错误日志如下。任何帮助将非常感激。 (我在Stackoverflow上的第一篇文章。提前为任何尴尬的格式化道歉。)
10:43:17.114: Importing ~/Documents/Temp/stest.lyx...
10:43:17.122: Rscript --verbose --no-save --no-restore "/Applications/LyX.app/Contents/Resources/scripts /lyxknitr.R" "/Users/wms5f/Documents/Temp/""stest.Rnw" "/Users/wms5f/Documents/Temp/""stest.tex" "/Users/wms5f/Documents/Temp/"
10:43:17.124: running
10:43:17.125: '/Library/Frameworks/R.framework/Versions/3.0/Resources/bin/R --slave --no-restore --no-save --no-restore --file=/Applications/LyX.app/Contents/Resources/scripts/lyxknitr.R --args /Users/wms5f/Docu
10:43:17.126: ments/Temp/stest.Rnw /Users/wms5f/Documents/Temp/stest.tex'
10:43:17.126:
<.snip.>
10:43:18.424:
10:43:18.603: Package `sm', version 2.2-5: type help(sm) for summary information
10:43:20.609: Error in setwd(.cmdargs[4]) : missing value is invalid
10:43:20.610: Execution halted
Running: Rscript --verbose --no-save --no-restore "/Applications/LyX.app/Contents/Resources/scripts/lyxknitr.R" "/Users/wms5f/Documents/Temp/""stest.Rnw" "/Users/wms5f/Documents/Temp/""stest.tex" "/Users/wms5f/Documents/Temp/"
support/Systemcall.cpp (273): Systemcall: 'Rscript --verbose --no-save --no-restore "/Applications/LyX.app/Contents/Resources/scripts/lyxknitr.R" "/Users/wms5f/Documents/Temp/""stest.Rnw" "/Users/wms5f/Documents/Temp/""stest.tex" "/Users/wms5f/Documents/Temp/"' finished with exit code 1
Error: Cannot convert file
An error occurred while running:
Rscript --verbose --no-save --no-restore
"/Applications/LyX.app/Contents/Resources/scripts/lyxknitr.R"
"/Users/wms5f/Documents/Temp/""stest.Rnw"
"/Users/wms5f/Documents/Temp/""stest.tex" "/Users/wms5f/Documents/Temp/"
10:43:55.912: file not imported!
10:43:55.913: (buffer-import knitr)
10:44:04.097: (dialog-show prefs: ⌘,)
补充说明:
我在最初的帖子中可能不太清楚。我有一个名为stest.Rnw的文件,其中包含以下sweave代码:
\documentclass{article}
\begin{document}
Test
\end{document}
如果我尝试使用Import -> Rnw (knitr)
选项将此文件导入Lyx 2.06,Lyx会生成以下系统命令:
Rscript --verbose --no-save --no-restore "/Applications/LyX.app/Contents/Resources/scripts/lyxknitr.R" "/Users/wms5f/Documents/Temp/""stest2.Rnw" "/Users/wms5f/Documents/Temp/""stest2.tex" "/Users/wms5f/Documents/Temp/"
从bash提示符和Lyx内部运行时,此命令失败。我注意到了额外的双引号,但在运行脚本之前删除它们会得到相同的结果。 Rscript似乎无法解析第四个参数,它只是一个目录。 R永远不会解析sweave,因为它在Lyx传递给它的参数的初始解析时失败了。至少这是我阅读错误消息的方式。
我希望这有用。
答案 0 :(得分:3)
您试图将导入 Rnw文件导入LyX,但LyX 2.0.6尚不支持。它计划出现在LyX 2.1中:http://www.lyx.org/trac/ticket/7838
发布LyX 2.1后,您可以通过命令行导入:
tex2lyx -n -m knitr stest.Rnw
我不确定为什么LyX在导入文件时需要调用Rscript
。您可能想向LyX提交错误报告。