我正在寻求简化我的 挥舞 文档创建,我想听听人们当前的设置。我觉得圣杯是这样的:

  • 在屏幕的一半上编辑RNW代码
  • 单键键入编译Sweave文档并运行PDFLATEX
  • 在屏幕的另一半上查看PDF;编译后,将PDF刷新并围绕您要编辑的文档部分中心
  • 如果编译有错误,请用编译结果替换 PDF(例如Latex 错误或 Sweave 错误)

我猜测/希望解决方案是 Emacs/ESS 的一部分,与 Emacs 配置文件的一些代码和/或一个不错的 Makefile 相结合。但我真的很想听听每个人创建 Sweave 和/或 Latex 文档的首选方式。

有帮助吗?

解决方案

我采访过的其他一些 R 用户使用“每个项目一个目录”设置和一个简单的 Makefile。正如您所怀疑的,这与 Emacs/ESS 配合得很好。

我倾向于只调用一个简单的 shell 脚本 sweave 这是我在添加“R CMD Sweave”之前写的(因为我发现重新创建或复制 Makefile 没有吸引力,YMMV)。我还使用 Emacs 和自动刷新的 pdf 查看器(例如 okular 或者 kpdf)。Emacs23也可以直接预览pdf文件,但我还没有将我的工作流程切换到它。

edd@ron:~$ cat bin/sweave
#!/bin/bash -e

function errorexit () {
    echo "Error: $1"
    exit 1
}

function filetest () {
    if [ ! -f $1 ]; then
       errorexit "File $1 not found"
    fi
    return 0
}


if [ "$#" -lt 1 ]; then
    errorexit "Need to specify argument file"
fi


BASENAME=$(basename $1 .Rnw)

RNWFILE=$BASENAME.Rnw
filetest $RNWFILE
echo "library(tools); Sweave(\"$RNWFILE\")" \
      | R --no-save --no-restore --slave

LATEXFILE=$BASENAME.tex
filetest $LATEXFILE && pdflatex $LATEXFILE

其他提示

您可以使用 Eclipse 的 StatET 插件执行您建议的所有操作。这就是我用于 Sweave 开发的方法;它很好地理解 Latex 和 R,包括语法高亮等。

你可以在这里得到它: http://www.walware.de/goto/statet.

Longhow Lam 写了一篇很好的指南: http://www.splusbook.com/Rintro/R_Eclipse_StatET.pdf.

http://www.statalgo.com/?p=93

我用 电子商店 在 OS X 上生成我所有的 LaTeX 和 Sweave 报告。对我来说,新的编译管道就像添加一个文件一样简单,称为 Sweave.engine~/Library/TeXShop/Engines/ 其中包含以下内容:

#!/usr/bin/env Rscript
args <- commandArgs(T)

fname <- strsplit(args[1],'\\.')[[1]][2]

Sweave(paste(fname,'Rnw',sep='.'))

system(paste('pdflatex',paste(fname,'tex',sep='.')))

Sweave 现在是 TeXShop 内编译文档的一种可选方法。我可以通过将以下 TeX hash-bang 添加到文件顶部来将其设置为文档的默认值:

% !TEX TS-program = Sweave

点击 Cmd-T 将排版文档 - pdf 会自动弹出在单独的窗口中。TeXShop 还包含 同步TeX 技术,因此在 Rnw 源中按住 Cmd-Click 将突出显示 PDF 窗口中的相应输出,在 PDF 窗口中按住 Cmd-Click 将突出显示 Rnw 源中相应的输入。

TeXShop 仅适用于 Mac,但它是一个基于 Qt/poppler 的出色克隆, TeXworks, ,可用于 Linux、Windows 和 Mac,并支持许多相同的功能——包括 TeX hash-bangs 和 SyncTeX。TeXworks 已达到成熟水平,已包含在 2.8 版中 米克特克斯 适用于 Windows 的包。

尝试 RStudio.

我一直是 Emacs电子商店 正如之前的答案中提到的。

然而,Rstudio 开始赢得我的青睐。它是一个快速改进的 R 专用 IDE。绝对值得一看。

我仍然喜欢在 标准RIDE 对于Mac。但对于同时进行 Sweave 文档和一些相关的 R 开发,RStudio 胜出。它的工作原理几乎是零调整。我不确定原始问题后半部分与 PDF 相关的功能。

emacs 中的“自动插入”模式为我节省了一些时间。我已经将其设置为每次打开新的 .rnw 文件时,emacs 都会自动设置一个基本文档模板,而我所需要做的就是开始编写报告。

更新:我已经放弃了自动插入。现在我使用“template.el”方法。

我也使用“每个项目一个目录”和 Makefile 方法。我还包括在 HTML 中创建输出的命令,然后可以使用 tth 将其转换为 OOo 和 MS Word。这对我来说很重要,因为我的很多合作者都是 MS Office 用户,并且不愿意使用 PDF 输出。我从范德比尔特大学 Frank Harrell 的 twiki 中学到了很多关于如何做到这一点的知识。

我个人使用 gvim 作为我选择的编辑器并运行 制作 从那里开始非常简单,因为它是从 Emacs 开始的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top