我知道下面的代码可以在 linux 的终端中将 Rnw 文件编织成 pdf,但是行太多了,而对于 Rstudio 来说,这样做只需要单击一下。有人可以提供一个 linux shell 函数来将文件名作为变量处理吗?例如,我尝试使用 $1,但是 Rscript 和 Rnw 文件名有 ""和 '',shell 无法识别 $1 是什么。
Rscript -e "library(knitr); knit('my_sweave_file.Rnw')"
pdflatex my_sweave_file.tex
最佳答案
你可以使用这样的东西。另存为文件并确保它可以运行(即使用 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
关于r - linux 命令行中的 knitr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45370177/