2013-01-09 3 views
11

Mam dokument, który używa szablonu LaTeX Beamer i przekazuje ten kod wokół początku właściwego dokumentuSweave z linii komend przy użyciu zgodność = TRUE

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

Dokument kompiluje właśnie grzywny za pomocą RStudio (0.97.248) z R-2.15.2. Po zakończeniu kompozycji, aby zapewnić powtarzalność, lubię generować całą analizę z pliku cmd (i użyć ghostscript do skompresowania pliku PDF). Odpowiednie części są

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

ta kończy się niepowodzeniem z komunikatem o błędzie

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

co sugeruje, że Sweave nie jest generowanie zgodność z wiersza poleceń. Nie można znaleźć przełącznika wiersza poleceń, a moje wyszukiwania w Google nie były pomocne ... Byłbym bardzo wdzięczny za wszelkie wskazówki ...

+0

Przez chwilę myślałem, że to po prostu kwestia 'R CMD Sweave MyDoc.Rnw --options = concordance = TRUE'. Ale to nie jest. Nie mogę znaleźć sposobu w wierszu poleceń, aby utworzyć plik zgodności. Czy ktoś ma do tego podstęp? – FvD

+0

Czy próbowałeś uruchomić 'pdflatex --shell-escape MyDoc'? – Sebastian

+0

Używam ostatnio RStudio, a także buduję ze skryptów powłoki. Yihui Xie sugerują, że używam \ begin dokument % \ VignetteEngine {knitr :: knitr} zamiast linii \ SweaveOpt Moje skrypty pracują teraz – jrminter

Odpowiedz

3

Zazwyczaj użytkownik napotka na ten problem podczas analizowania plików .Rnw w wierszu poleceń zostały po raz pierwszy utworzone w RStudio. Szablon RStudio Sweave ma domyślnie ustawioną opcję \SweaveOpts{concordance=TRUE} w pliku .Rnw.

Wydaje się, że problem dotyczy Sweave, który nie ma wartości had much attention. Okazyjnie napotkasz to podczas pracy w linii poleceń, a jedynym obejście znalazłem jest ustawienie:

\SweaveOpts{concordance=FALSE} 

w samym pliku, usuń wszystkie tymczasowe lateks, a następnie uruchomić R CMD Sweave ponownie, aby utworzyć nową. plik tex. Wynikowy plik będzie działać z pdflatex lub xelatex.

Najwyraźniej nie można przesłać prośby o plik konkordancji do Sweave (próbowałem R CMD Sweave MyDoc.Rnw --options=concordance=TRUE, o czym wspomniałem w komentarzach).