Domanda

Sto cercando di semplificare il mio Stendere creazione di documenti e mi piacerebbe conoscere le configurazioni attuali delle persone.Sento che il Santo Graal è più o meno questo:

  • Modifica del codice RNW su metà dello schermo
  • Single KeyBinding Compila SWEAVE Document ed esegue PDFLATEX
  • Visualizza PDF sull'altra metà dello schermo;Una volta compilato, il PDF è aggiornato e incentrato sulla parte del documento che stai modificando
  • Se la compilazione presenta errori, sostituire il PDF con il risultato della compilazione (es.errori di lattice o errori di Sweave)

Immagino/spero che la soluzione sia in parte Emacs/ESS combinata con del codice per il profilo Emacs e/o un bel Makefile.Ma mi piacerebbe davvero conoscere il modo preferito da tutti di creare documenti Sweave e/o Latex.

È stato utile?

Soluzione

Alcuni altri utenti R con cui ho parlato utilizzano una configurazione "una directory per progetto" e un semplice Makefile.Come sospettavi, funziona bene con Emacs/ESS.

Tendo a chiamare semplicemente un semplice script di shell sweave che ho scritto prima che fosse aggiunto "R CMD Sweave" (poiché trovo poco attraente ricreare o copiare il Makefile, YMMV).Utilizzo anche Emacs e un visualizzatore di PDF con aggiornamento automatico (come okular O kpdf).Emacs23 può anche visualizzare in anteprima direttamente i file PDF, ma devo ancora passare a questo nel mio flusso di lavoro.

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

Altri suggerimenti

Puoi fare tutto ciò che suggerisci lì con il plugin StatET per Eclipse.Questo è ciò che utilizzo per lo sviluppo di Sweave;comprende molto bene sia latex che R, inclusa l'evidenziazione della sintassi, ecc.

Puoi ottenerlo qui: http://www.walware.de/goto/statet.

Longhow Lam ha scritto una bella guida: http://www.splusbook.com/Rintro/R_Eclipse_StatET.pdf.

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

Io uso TeXShop su OS X per produrre tutti i miei report LaTeX e Sweave.Per me, una nuova pipeline di compilazione è semplice come aggiungere un file, chiamato Sweave.engine A ~/Library/TeXShop/Engines/ che contiene quanto segue:

#!/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 è ora un metodo selezionabile per compilare un documento all'interno di TeXShop.Posso impostarlo come predefinito per un documento aggiungendo il seguente hash-bang TeX all'inizio del file:

% !TEX TS-program = Sweave

Premendo Cmd-T verrà composto il documento: il pdf verrà automaticamente visualizzato in una finestra separata.TeXShop incorpora anche SyncTeX tecnologia in modo che un Cmd-clic nella sorgente Rnw evidenzierà l'output corrispondente nella finestra PDF e un Cmd-clic nella finestra PDF evidenzierà l'input corrispondente nella sorgente Rnw.

TeXShop è solo per Mac ma è un ottimo clone basato su Qt/poppler, TeXworks, è disponibile per Linux, Windows e Mac e supporta molte delle stesse funzionalità, inclusi TeX hash-bang e SyncTeX.TeXworks ha raggiunto un livello di maturità tale da essere incluso nella versione 2.8 del MikTeX pacchetto per Windows.

Tentativo RStudio.

Sono stato un fan di Emacs E TeXShop come accennato nelle risposte precedenti.

Tuttavia, Rstudio sta iniziando a conquistarmi.È un IDE dedicato in rapido miglioramento per R.Sicuramente vale la pena dare un'occhiata.

Adoro ancora svolgere alcune attività di sviluppo solo R nel file RIDE standard per mac.Ma per i documenti Sweave e alcuni sviluppi R associati allo stesso tempo, RStudio vince.Funziona praticamente senza alcuna modifica.Non sono sicuro delle funzionalità relative al PDF nella seconda metà della domanda originale.

Una cosa che mi ha fatto risparmiare un po' di tempo è la modalità di inserimento automatico in emacs.L'ho impostato in modo che ogni volta che apro un nuovo file .rnw, emacs imposta automaticamente un modello di documento di base e tutto ciò che devo fare è iniziare a scrivere il mio rapporto.

Aggiornamento:Sono passato dall'inserimento automatico.Ora utilizzo l'approccio "template.el".

Utilizzo anche l'approccio "una directory per progetto" e Makefile.Includo anche comandi per creare output in HTML, che può poi essere convertito in OOo e MS Word, utilizzando tth.Questo è importante per me poiché molti dei miei collaboratori sono utenti di MS Office e sono restii a utilizzare l'output PDF.Ho imparato molto su come farlo dal twiki di Frank Harrell a Vanderbilt.

Personalmente utilizzo gvim come editor preferito e attivo Fare da lì è abbastanza semplice, come da Emacs.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top