2017-07-28 77 views
0

我知道以下方法可以在Linux终端中将Rnw文件编译为pdf,但是Rstudio仅需要一次单击即可完成,但实际上只有太多行。有人可以提供一个linux shell函数来处理文件名作为变量吗?举例来说,我试用了1美元,但是对于Rscript和Rnw文件名有“”和“',而外壳无法识别出什么是1美元。knitr在linux中的命令行

Rscript -e "library(knitr); knit('my_sweave_file.Rnw')" 
    pdflatex my_sweave_file.tex 

回答

1

你可以使用这样的东西。保存为文件并确保它可以运行(即使用chmod +x nameofscript)。

#!/bin/bash 

# Set the first argument as variable file  
file=$1 

filename=$(basename "$file") 
extension="${filename##*.}" 
filename="${filename%.*}" 

Rscript -e "library(knitr); knit('$file')" ; pdflatex $filename.tex