usar reportes informes hacer exportar example con como r latex sweave textwrangler

reportes - sweave r



¿Un flujo de trabajo de R/Sweave/TeXShop más eficiente? (11)

Ahora tengo todo para funcionar correctamente en mi máquina Mac OS X 10.6 para poder crear documentos LaTeX de aspecto decente con Sweave que incluyan fragmentos de código R, salida y formato LaTeX juntos. Desafortunadamente, siento que mi flujo de trabajo es un poco torpe e ineficiente:

  1. Utilizando TextWrangler, escribo el código LaTeX y el código R (rodeado por << >> = arriba y @ debajo del fragmento de código R) juntos en un archivo .Rnw.

  2. Después de guardar los cambios, invoco el archivo .Rnw desde R usando el comando Sweave

    Sweave(file="/Users/mymachine/Documents/Assign4.Rnw", syntax="SweaveSyntaxNoweb")

    En respuesta, R da salida al siguiente mensaje:

    Ahora puede ejecutar LaTeX en ''Assign4.tex''

    Entonces, encuentro el archivo .tex (Assign4.tex) en el directorio R y lo copio en la carpeta en mis documentos ~/Documents/ donde se encuentra el archivo .Rnw (para mantener todo en un solo lugar).

  3. Luego abro el archivo .tex (por ejemplo, Assign4.tex) en TeXShop y lo compilo en formato pdf. Solo en este punto puedo ver los cambios que he realizado en el documento y ver si "se ve bien".

¿Hay alguna manera de compilar todo con un solo clic? Específicamente, sería bueno llamar a Sweave / R directamente desde TextWrangler o TeXShop. Sospecho que podría ser posible codificar un script en Terminal para hacerlo, pero no tengo experiencia con Terminal.

Déjeme saber si hay otras cosas que pueda hacer para optimizar o mejorar mi flujo de trabajo.


En la línea de comandos de shell bash:

R CMD Sweave foo.Rnw && pdflatex foo.tex

Corre Sweave, y si eso tiene éxito, continúa haciendo pdflatex. Sale un pdf. Si tienes esto en una Terminal de bash, simplemente pulsa la flecha hacia arriba para recuperarlo y volver a hacerlo. Y otra vez. Y otra vez.

Solución de makefile también buena.


La mejor solución está aquí: creas un nuevo * .engine para que lo use TeXShop, luego lo escribes usando el atajo o el botón 1.

http://cameron.bracken.bz/sweave-for-texshop

Cameron también es muy receptivo, así que recomiendo su solución.


Los uso (guardados como sweave.engine y sweavebibtex.engine) para motores personalizados en texshop. Normalmente trabajo un fragmento de código en R, luego copio el bloque en el archivo rnw que tengo abierto en texshop. Me encantaría una solución que me permita hacer resaltado de sintaxis y corrección ortográfica de R y tex en el mismo documento (que no es Emacs).

#!/bin/bash echo ''SWEAVE | PDFLATEX. Custom engine--Akasurak-16Nov2009'' export PATH=$PATH:/usr/texbin:/usr/local/bin R CMD Sweave "$1" pdflatex "${1%.*}"

y el segundo, para hacer bibtex también:

#!/bin/bash date before="$(date +%s)" echo ''SWEAVE | PDFLATEX | BIBTEX | PDFLATEX | PDFLATEX. Custom engine--Akasurak-16Nov2009'' #Updated 20Jul2010 for auto including Sweave.sty export PATH=$PATH:/usr/texbin:/usr/local/bin R CMD Sweave "$1" R CMD pdflatex "${1%.*}" bibtex "${1%.*}.aux" R CMD pdflatex "${1%.*}" R CMD pdflatex "${1%.*}" after="$(date +%s)" elapsed_seconds="$(expr $after - $before)" date echo Elapsed time ''(m:s)'': $(date -r $elapsed_seconds +%M:%S)

No puedo decir que sean la mejor manera de hacer las cosas, pero funcionan.


Si está abierto a cambiar a una solución (de pago), TextMate tiene un complemento de Sweave que lo lleva de .Rnw a PDF en un solo paso: Sweave, tipografía y vista. Combinado con Skim, que se puede configurar para recargar archivos PDF, hace que ajustar los archivos sea bastante fácil.


Solo una nota: en realidad puedes llamar a cosas como pdflatex, etc. directamente desde R usando texi2dvi (en el paquete de herramientas). Por ejemplo:

Sweave(file="/Users/mymachine/Documents/Assign4.Rnw") texi2pdf("Assign4.tex")

compilaría su archivo Rnw en un pdf. Por lo tanto, no es necesario dejar R para manejar el paso tex-> pdf.



Sweaving con un solo clic es fácil de hacer en TeXShop utilizando el script Sweave.sh de Gregor Gorjanc. Consígalo en http://cran.r-project.org/contrib/extra/scripts/Sweave.sh y póngalo en su carpeta ~/Library/TeXShop/bin/ .

Luego agregue los siguientes archivos a su carpeta ~/Library/TeXShop/engines/ :

Como Sweave.engine :

#!/bin/bash ~/Library/TeXShop/bin/Sweave.sh -ld "$1"

Como SweaveNoClean.engine :

#!/bin/bash ~/Library/TeXShop/bin/Sweave.sh -nc -ld "$1"

Tendrá que establecer los permisos en Sweave.sh y los dos archivos del motor para permitir la ejecución.

Para Sweave con un solo clic, reinicie TeXShop después de agregar estos archivos, abra el documento Sweave (con la extensión Rnw) y en el menú desplegable sobre la ventana del documento, cámbielo de LaTeX a Sweave o SweaveNoClean.

CUIDADO: La opción "Sweave" se limpiará después de sí misma, eliminando todos los archivos adicionales que crean LaTeX y Sweave. Si su archivo se llama myfile.Rnw, esto incluirá archivos llamados myfile.R y myfile.tex. Una palabra para los sabios: asegúrese de que el nombre base de su archivo Rnw sea único; entonces nada inesperado será escrito y luego eliminado.

La opción SweaveNoClean no se limpia después de sí misma. Esto asegura que no borres nada inesperado; aunque aún podría escribir sobre un archivo llamado myfile.tex si sweave a myfile.Rnw. Esto tampoco elimina los gráficos que se han creado, en caso de que desee tenerlos separados de su documento de composición completa.


Tuve este mismo problema (uso Mac OSX) y opté por descargar Eclipse Classic 3.6.2. y luego instaló el plugin de Statet. Es un poco complicado configurarlo, pero una vez que lo hagas, este entorno es bueno porque puedes hacer un solo clic para compilar tu documento .Rwn Sweave usando pdflatex y configurar las opciones para tu visor favorito, de modo que el .pdf aparece automáticamente cuando compiles como lo hace. en texshop. También puede hacer esto en TeXShop, pero TeXShop es muy malo para depurar archivos .Rnw y no resalta el código R en el archivo .Rwn. En Eclipse puede personalizar el resaltado de sintaxis (no el mejor desde el final de Texclipse, pero está bien) para que pueda distinguir fácilmente entre su código R y LaTeX. También puede iniciar la consola R desde Eclipse y tiene un navegador de objetos gráfico. De todos modos, podría seguir. Si desea detalles sobre cómo instalar todo, envíeme un mensaje.


Utilizo Aquamacs o Eclipse para editar el archivo .Rnw , luego uso la siguiente función de shell para compilar y ver:

sweaveCache () { Rscript -e "library(cacheSweave); setCacheDir(getwd()); Sweave(''$1.Rnw'', driver = cacheSweaveDriver)" && pdflatex --shell-escape $1.tex && open $1.pdf }

Tenga en cuenta que estoy usando el controlador cacheSweave , que ayuda a evitar la ejecución constante de las secciones de código que tardan mucho tiempo en ejecutarse.

Por cierto, también estoy tratando de cambiarme a Babel lugar de a Sweave; No estoy seguro de cuál usaré más a menudo, pero definitivamente hay aspectos de Babel que me gustan.


Utilizo un Makefile del siguiente formulario para mis documentos de Sweave:

pdf: myfile.tex R CMD texi2pdf myfile.tex myfile.tex: myfile.Rnw R CMD Sweave myfile.Rnw

Luego puedo compilar el documento en un solo paso en la terminal de Mac OS ejecutando el comando make pdf

Estoy seguro de que hay una manera de acercar esto a su objetivo de un solo clic en Mac OS X, pero esto funciona lo suficientemente bien para mí.


RStudio tiene un botón que hace esto de una vez. Una advertencia es que se ejecuta en su propia sesión, por lo que se ignoran todas las variables de espacio de trabajo que haya establecido.