Подтвердить что ты не робот

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

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

  • Редактирование кода Rnw на одну половину экран
  • Одиночные ключевые команды Sweave документ и запускает pdflatex
  • Просмотр PDF на другой половине экрана; один раз compiled, PDF обновляется и сосредоточивается вокруг части документа, который вы редактируете.
  • Если у компиляции есть ошибки, замените PDF на результаты компиляции (например, ошибки латекса или ошибки Sweave).

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

4b9b3361

Ответ 1

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

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

[email protected]:~$ 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

Ответ 2

Вы можете делать все, что вы предлагаете там, с плагином StatET для Eclipse. Это то, что я использую для разработки Sweave; он хорошо понимает латекс и R, включая подсветку синтаксиса и т.д.

Вы можете получить его здесь: http://www.walware.de/goto/statet.

Longhow Lam написал хороший гид: http://www.splusbook.com/Rintro/R_Eclipse_StatET.pdf.

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

Ответ 3

Я использую 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 в начало файла:

% !TEX TS-program = Sweave

Удар Cmd-T будет набирать документ - автоматически открывается автоматически в отдельном окне. TeXShop также включает технологию SyncTeX, поэтому Cmd-Click в источнике Rnw выделяет соответствующий вывод в окне PDF и Cmd-Click в Окно PDF отобразит соответствующий вход в источнике Rnw.

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

Ответ 4

Попробуйте RStudio.

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

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

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

Ответ 5

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

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

Ответ 6

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

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