emacs - studio - Recomendaciones para desarrollar documentos Sweave
sweave r studio install (6)
Estoy buscando optimizar mi creación de documentos Sweave , y me gustaría conocer las configuraciones actuales de las personas. Siento que el Santo Grial dice algo como esto:
- Editando el código Rnw en la mitad de la pantalla
- Las compilaciones de combinación de teclas individuales envuelven el documento y ejecutan pdflatex
- Ver PDF en la otra mitad de la pantalla; una vez compilado, el PDF se actualiza y se centra en la parte del documento que está editando
- Si la compilación tiene errores, reemplace el PDF con los resultados de la compilación (por ejemplo, errores de látex o errores de Sweave)
Estoy adivinando / esperando que la solución sea parte de Emacs / ESS combinada con algún código para el perfil de Emacs y / o un bonito Makefile. Pero me gustaría conocer la forma preferida de todos de crear documentos Sweave y / o Latex.
Algunos otros usuarios de R con los que hablé usan una configuración de ''un directorio por proyecto'' y un archivo Makefile simple. Como sospechabas, eso funciona bien con Emacs / ESS.
sweave
a llamar simplemente un sweave
script de sweave
que escribí antes de que se sweave
''R CMD Sweave'' (como me parece que volver a crear o copiar el Makefile es poco atractivo, YMMV). También uso Emacs y un visor de pdf auto refrescante (como okular
o kpdf
). Emacs23 también puede previsualizar archivos pdf directamente, pero todavía tengo que cambiar mi flujo de trabajo a eso.
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
Puede hacer todo lo que sugiera con el complemento StatET para Eclipse. Eso es lo que uso para el desarrollo de Sweave; entiende muy bien tanto al látex como a R, incluido el resaltado de sintaxis, etc.
Puede obtenerlo aquí: http://www.walware.de/goto/statet .
Longhow Lam ha escrito una buena guía: http://www.splusbook.com/Rintro/R_Eclipse_StatET.pdf .
También utilizo el enfoque de "un directorio por proyecto" y Makefile. También incluyo comandos para crear resultados en HTML, que luego se pueden convertir en OOo y MS Word, usando tth. Esto es importante para mí, ya que muchos de mis colaboradores son usuarios de MS Office y son resistentes al uso de la salida de PDF. Aprendí mucho sobre cómo hacer esto con el twiki de Frank Harrell en Vanderbilt.
Personalmente uso gvim como mi editor de elección y ejecutar make desde allí es bastante simple, como lo es de Emacs.
Uso TeXShop en OS X para producir todos mis informes LaTeX y Sweave. Para mí, una nueva línea de compilación es tan simple como agregar un archivo, llamado Sweave.engine
a ~/Library/TeXShop/Engines/
que contiene lo siguiente:
#!/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 es ahora un método seleccionable para compilar un documento dentro de TeXShop. Puedo configurarlo para que sea el predeterminado para un documento agregando el siguiente hash-bang de TeX a la parte superior del archivo:
% !TEX TS-program = Sweave
Al presionar Cmd-T se compilará el documento, el pdf aparece automáticamente en una ventana separada. TeXShop también incorpora la tecnología SyncTeX , por lo que un Cmd-Click en la fuente Rnw resaltará el resultado correspondiente en la ventana PDF y un Cmd-Click en la ventana PDF resaltará la entrada correspondiente en la fuente Rnw.
TeXShop es solo de mac, pero un gran clon basado en Qt / poppler, TeXworks , está disponible para Linux, Windows y Mac y es compatible con muchas de las mismas características, incluyendo TeX hash-bangs y SyncTeX. TeXworks ha alcanzado un nivel de madurez en el que se incluye en la versión 2.8 del paquete MikTeX para Windows.
Prueba RStudio .
He sido fan de Emacs y TeXShop como se menciona en las respuestas anteriores.
Sin embargo, Rstudio está empezando a convencerme. Es un IDE dedicado que mejora rápidamente para R. Definitivamente vale la pena echarle un vistazo.
Todavía me encanta realizar ciertas tareas de desarrollo R-only en R IDE estándar para Mac. Pero para los documentos Sweave y algunos R devel asociados al mismo tiempo, RStudio gana. Funciona con prácticamente cero ajustes. No estoy seguro acerca de las características relacionadas con PDF en la última mitad de la pregunta original.
Una cosa que me ha ahorrado algo de tiempo es el modo de "inserción automática" en emacs. Lo tengo configurado para que cada vez que abra un nuevo archivo .rnw, emacs configure automáticamente una plantilla de documento básica y todo lo que necesito hacer es comenzar a escribir mi informe.
Actualización: he cambiado desde la inserción automática. Ahora uso el enfoque "template.el".