Вопрос

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

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

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

Это было полезно?

Решение

Несколько других пользователей 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

Другие советы

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

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

Лонгхау Лам написал хорошее руководство: http://www.splusbook.com/Rintro/R_Eclipse_StatET.pdf.

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

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

% !TEX TS-program = Sweave

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

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

Пытаться RStudio.

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top