当我在 RStudio 中运行 RNW 文件时,编译工作正常。但是当我尝试通过 BAT 文件运行同一个 RNW 文件时,编译不起作用。我是 Win 7 用户,使用 MixTex...
实际上我的目标是使用像 TeXMaker 这样的 LaTeX 编辑器并通过 BAT 文件编译 RNW 文件。编译后我希望得到一个 PDF 文件...
在 Rstudio 上,我创建了一个名为“main.Rnw”的文件,然后我只需按下“编译 PDF”,便会得到一个漂亮的 PDF 输出。
但在 texmaker 上,我创建了相同的“main.Rnw”,但当我在同一目录中创建“run.bat”文件时,什么都不起作用。我的“run.bat”包含:
斯韦夫 main.Rnw
我找不到我的问题的解决方案...
我的“main.Rnw”代码:
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{lipsum} % for lorem ipsum text
\begin{document}
\title{Test sweave}
\maketitle
%fake text
\lipsum[1]
%just a boxplot text
<<fig=TRUE>>=
test <- c(-10,8,6,4,2,0,2,4,6,8,10)
boxplot(test)
@
%fake text
\lipsum[2]
\end{document}
答案1
我认为 Windows 下的 R 中没有这样的东西Sweave.exe
。只有R CMD Sweave
。
另一种方法是定义自定义命令,如下所示:http://yihui.name/knitr/demo/editors/(它代替knitr
了 Sweave,但基本思想是一样的)
答案2
您是否确定 Sewave 在您的路径中?尝试Sweave main.Rnw
在 Windows 命令行中运行。如果不行,您必须使用文件的完整路径,例如C:\Program Files\...\sweave.exe
才能使其工作。
如果这不起作用,请尝试像这样调用批处理文件:
cmd /C " "batch_file" "arg1" "arg2" ... "
由于某种原因,如果 UAC 关闭,则可能需要这样做。