Рекомендации по разработке документов Sweave

Я ищу, чтобы оптимизировать мой Sweave создание документа, и я хотел бы услышать о текущих настройках людей. Я чувствую, как Святой Грааль идет что-то вроде этого:

  • редактирование кода Rnw на одной половине экран
  • одиночные компилирует keybinding Sweave документ и запускает pdflatex
  • посмотреть в формате PDF на другой половине экрана; один раз скомпилированный, PDF обновляется и центрируется вокруг части документа, который вы редактирование
  • если компиляция имеет ошибки, замените PDF на результаты компиляции (например, ошибки latex или ошибки Sweave)

Я предполагаю / надеюсь, что решение является частью Emacs/ESS в сочетании с некоторым кодом для профиля Emacs и/или хорошего файла Makefile. Но мне бы очень хотелось услышать о предпочтительном способе создания документов Sweave и / или Latex.

6 ответов


несколько других пользователей R, с которыми я говорил, используют настройку "один каталог для каждого проекта" и простой файл Makefile. Как вы и подозревали, это хорошо работает с Emacs/ESS.

Я обычно просто называю простой скрипт sweave который я написал раньше, прежде чем был добавлен "R CMD Sweave" (поскольку я нахожу повторное создание или копирование Makefile непривлекательным, YMMV). Я также использую Emacs и автоматическое обновление PDF viewer (например,okular или kpdf). Emacs23 может просматривать pdf-файлы напрямую, но мне еще нужно переключиться мой рабочий поток к этому.

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

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

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


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


BASENAME=$(basename  .Rnw)

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

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

вы можете сделать все, что вы предлагаете там с плагином StatET для Eclipse. Это то, что я использую для разработки 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


Я использую TeXShop на OS X для создания всех моих отчетов LaTeX и Sweave. Для меня новый конвейер компиляции так же прост, как добавление файла под названием Sweave.engine to ~/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 также включает в себя бретонского языка технология поэтому Cmd-Click в источнике Rnw выделит соответствующий вывод в окне PDF, а Cmd-Click в окне PDF выделит соответствующий ввод в источнике Rnw.

TeXShop - только для mac, но отличный клон на основе Qt/poppler, texworks выступает, доступен для Linux, Windows и Mac и поддерживает многие из тех же функций, включая TeX хэш-Бэнг и Синтекс. TeXworks достигла уровня зрелости, когда она включена в версию 2.8 программы пакет для Windows.


попробовать RStudio.

Я был поклонником Emacs и TeXShop Как уже упоминалось в предыдущих ответах.

тем не менее, Rstudio начинает завоевывать меня. Это быстро совершенствующаяся выделенная IDE для R. определенно стоит проверить.

Я все еще люблю делать определенные задачи разработки R-only в стандартный R IDE для mac. Но для документов Sweave и некоторых связанных с ними R devel в то же время, RStudio выигрывает. Он работает практически с нулевой настройкой. Я не уверен в функциях, связанных с PDF, во второй половине исходного вопроса.


одна вещь, которая сэкономила мне некоторое время,-это режим "auto-insert" в emacs. У меня он настроен так, что каждый раз я открываю новый .файл rnw, emacs автоматически настраивает базовый шаблон документа, и все, что мне нужно сделать, это начать писать отчет.

Update: я переключился с автоматической вставки. Теперь я использую шаблон".подход Эль".


Я использую подход" один каталог для каждого проекта " и Makefile. Я также включаю команды для создания вывода в HTML, которые затем могут быть преобразованы в OOo и MS Word, используя tth. Это важно для меня, так как многие мои сотрудники являются пользователями MS Office и устойчивы к использованию вывода PDF. Я многому научился у твики Фрэнка Харрелла в Вандербильте.

лично я использую gvim в качестве редактора выбора и запуска сделать оттуда довольно просто, как от Emacs.