2012-06-27 13 views
10

Sto lavorando per ottenere l'installazione di knitr. Ho installato l'ultima versione di R (2.15.1), Lyx 2.0 inclusa la distribuzione MiKTex 2.9 e RStudio 0.96.304 su una scatola di Windows 7 Enterprise. Posso ottenere l'output di pdflatex se apro Lyx e semplicemente visualizzo il tutorial, quindi il sistema di base funziona. Ho quindi scaricato il file minimal Rnw example salvato nella mia directory di lavoro come testknitr.Snw, aperto quel file in RStudio e premuto il pulsante PDF di compilazione. L'output knitr si completa con un singolo avviso sul pacchetto parser e produce un file testknitr.tex. pdflatex.exe poi corre, ma non riesce e il particolare errore nel file di registro sembra esserenon è possibile compilare l'esempio minimo di knitr

! LaTeX Error: Environment alltt undefined. 

ho ricevuto lo stesso errore quando si tenta di compilare testknitr.tex utilizzando TEXworks. Ho creato quel file dall'interno di R usando knit ("testknitr.Rnw") - estensione diversa a causa del default in RStudio. Ho detto a MikTek di aggiornare i pacchetti automaticamente durante la compilazione. Un po 'di ricerca su CTAN suggerisce che l'ambiente alltt fa parte del pacchetto ltxbase, che viene installato quando guardo il gestore di pacchetti. In effetti sembra una parte piuttosto centrale di tutta la faccenda!

OK - Stavo leggendo i commenti sulla pagina di esempio minima e ho scoperto una soluzione alternativa a questo problema e che si tratta di un bug noto a partire da 19 ore fa. E sì, ho ricontrollato che RStudio è impostato per usare knitr, non sweave. Io ora ottenere un nuovo errore:

! LaTeX Error: Command \textquotesingle unavailable in encoding T1. 

EDIT: OK! si scopre che l'errore non è fatale - c'è un bel pdf dell'esempio minimo che si trova nella directory di lavoro, se uno si prende il tempo di guardare. Un po 'allarmante che RStudio pensi che la compilazione sia fallita quando non lo ha fatto?

+5

La soluzione, forse ovvio per un esperto LaTex-vale a dire, è quello di aggiungere \ usepackage {} alltt al file. Secondo [il commento di Yihui] (http://yihui.name/knitr/demo/minimal/) questo verrà corretto nelle versioni future, o ora se si ottiene la versione di sviluppo di knitr. – atiretoo

+0

Puoi aggiungere questo come risposta e accettarlo? In questo modo le persone possono vedere che è stata data una risposta, e puoi ottenere qualche rep :) –

+0

Grazie, @atiretoo Sembra che ho bisogno di spingere una nuova versione in CRAN prima che più persone si confondano, ma le persone CRAN mi urleranno per l'aggiornamento troppo spesso ... BTW, non riesco a riprodurre l'errore 'textquotesingle' in Ubuntu/TeXLive, ma suppongo che tu possa commentare' \ usepackage [T1] {fontenc} '. –

risposta

8

La soluzione, forse ovvio per un'esperienza LaTex-vale a dire, è quello di aggiungere

\usepackage{alltt} 

al file. Secondo Yihui's comment questo sarà corretto nelle versioni future, o ora se si vuole ottenere la versione di sviluppo da github. Ho anche verificato il commento di @ Yihui sopra la riga

\usepackage[T1]{fontenc} 

potrebbe essere commentato. Questo risolve il 2 ° problema nella domanda e RStudio ora considera la compilazione come riuscita, ripulendo (alcuni?) I file intermedi e visualizzando immediatamente in anteprima il pdf.

Problemi correlati