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

Внезапно это прекратило работать. Поскольку меня чистят решение и восстанавливают работавшее решение.

18
задан Christopher DuBois 4 September 2009 в 14:17
поделиться

5 ответов

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

Я обычно называю простой сценарий оболочки 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
9
ответ дан 30 November 2019 в 08:21
поделиться

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

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

1
ответ дан 30 November 2019 в 08:21
поделиться

Вы можете делать все, что вы предлагаете, с помощью плагина 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

6
ответ дан 30 November 2019 в 08:21
поделиться

I use TeXShop on OS X to produce all of my LaTeX and Sweave reports. For me, a new compilation pipeline is as simple as adding a file, called Sweave.engine to ~/Library/TeXShop/Engines/ which contains the following:

#!/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 is now a selectable method of compiling a document inside TeXShop. I can set it to be the default for a document by adding the following TeX hash-bang to the top of the file:

% !TEX TS-program = Sweave

Hitting Cmd-T will typeset the document- the pdf automatically pops up in a separate window. TeXShop also incorporates SyncTeX technology so a Cmd-Click in the Rnw source will highlight the corresponding output in the PDF window and a Cmd-Click in the PDF window will highlight the corresponding input in the Rnw source.

TeXShop is mac-only but a great Qt/poppler-based clone, TeXworks, is available for Linux, Windows and Mac and supports many of the same features-- including TeX hash-bangs and SyncTeX. TeXworks has reached a level of maturity where it is included in version 2.8 of the MikTeX package for Windows.

6
ответ дан 30 November 2019 в 08:21
поделиться

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

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

2
ответ дан 30 November 2019 в 08:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: