2013-01-09 17 views
11

Ho documento che utilizza un modello di LaTeX Beamer e passa questo codice verso l'inizio del documento effettivoSweave dalla riga di comando utilizzando concordanza = TRUE

\usepackage{Sweave} 
\begin{document} 
\SweaveOpts{concordance=TRUE} 

Il documento compila bene usando RStudio (0.97.248) con R-2.15.2. Dopo aver terminato la composizione, per assicurare la riproducibilità, mi piace generare l'intera analisi da un file cmd (e usare ghostscript per comprimere il PDF). Le parti rilevanti sono

R CMD Sweave MyDoc 
pdflatex MyDoc 
bibtex MyDoc 
pdflatex MyDoc 
pdflatex MyDoc 

Questo non riesce con il messaggio di errore

! LaTeX Error: File `MyDoc-concordance.tex' not found. 

che suggerisce che Sweave non sta generando la concordanza dalla riga di comando. A non è possibile trovare un interruttore della riga di comando e le mie ricerche Google non sono state utili ... Apprezzerei molto qualsiasi suggerimento ...

+0

Per un minuto ho pensato che sarebbe semplicemente una questione di 'R CMD Sweave MyDoc.Rnw --options = concordance = TRUE'. Ma non è. Non riesco a trovare un modo sulla riga di comando per creare il file di concordanza neanche. Qualcuno ha un trucco per fare questo? – FvD

+0

HAvI provato a eseguire 'pdflatex --shell-escape MyDoc'? – Sebastian

+0

Ultimamente utilizzo RStudio oltre a creare script di shell. Yihui Xie suggeriscono che uso \ begin documento % \ {VignetteEngine knitr :: knitr} al posto della linea \ SweaveOpt miei script funzionano ora – jrminter

risposta

3

In genere si incontra questo problema durante l'analisi dei file .Rnw sulla riga di comando che sono stati inizialmente creati in RStudio. Il modello RStudio Sweave ha l'opzione \SweaveOpts{concordance=TRUE} come predefinita nel file .Rnw.

Questo sembra essere un problema con Sweave che non ha had much attention. Di tanto in tanto mi imbatto in questo quando si lavora sulla linea di comando e l'unico work-around che ho trovato è quello di impostare:

\SweaveOpts{concordance=FALSE} 

nel file stesso, eliminare tutti lattice temporanea e quindi eseguire R CMD Sweave di nuovo per creare una nuova. file tex. Il file risultante funzionerà con pdflatex o xelatex.

Apparentemente non è possibile passare la richiesta di un file di concordanza a Sweave (ho provato R CMD Sweave MyDoc.Rnw --options=concordance=TRUE come menzionato nei commenti).