我在 OS X 上使用 TeXShop 来生成所有的 LaTeX 和 Sweave 报告。对我来说,一个新的编译流程就像是将一个名为 Sweave.engine
的文件添加到 ~/Library/TeXShop/Engines/
中一样简单,该文件包含以下内容:
args <- commandArgs(T)
fname <- strsplit(args[1],'\\.')[[1]][2]
Sweave(paste(fname,'Rnw',sep='.'))
system(paste('pdflatex',paste(fname,'tex',sep='.')))
Sweave现在是TeXShop中编译文档的可选方法。我可以通过在文件顶部添加以下TeX哈希- bang将其设置为文档的默认值:
% !TEX TS-program = Sweave
按下 Cmd-T 可以排版文档,PDF 将自动弹出在一个单独的窗口中。TeXShop 还集成了
SyncTeX 技术,因此在 Rnw 源中按下 Cmd-Click 将会在 PDF 窗口中突出显示相应的输出,在 PDF 窗口中按下 Cmd-Click 将会在 Rnw 源中突出显示相应的输入。
TeXShop 只适用于 Mac,但是一个很棒的基于 Qt/poppler 的克隆版本
TeXworks 可以在 Linux、Windows 和 Mac 上使用,并支持许多相同的功能,包括 TeX hash-bangs 和 SyncTeX。TeXworks 已经达到了一定的成熟度,在 Windows 版本的
MikTeX 软件包的版本 2.8 中已经包含了它。
strsplit
和paste
处理文件名扩展名并不必要 -Sweave
和pdflatex
都会自动添加扩展名。 - Dav ClarkFile.Rnw
传递给引擎。Sweave
可以正常工作,但是pdflatex
会出错。 - Sharpie