2013-01-04 5 views
6

esempio riproducibile (se si dispone di rstudio):È possibile utilizzare Rstudio per tradurre da .Rmd a LaTeX direttamente senza pandoc?

  • File | Nuovo | R Markdown
  • Knit html, salvataggio come test:

knitr

Accedere alla directory

  • lavorate su un terminale (con Pandoc installata)

    Pandoc - s test.md -t latex -o test.tex

(risultati incollati here)

  • convertire in PDF con pdflatex (vedi provocare here)

o saltare la fase di tex andando direttamente al .pdf:

pandoc -s test.md -t latex -o test2.pdf 

I risultati sono buoni, ma sembrano un sacco di passaggi dato che knitr incorpora il sweave. Dovrebbe essere in grado di convertire direttamente da .Rmd a .tex o .pdf. Destra?

+1

Ovviamente "è possibile". Qualcosa ha scritto un convertitore così nuovo che salta uno o più passaggi di una pipeline di strumenti esistente? Incerto, improbabile. –

+0

Grazie per questo - forse una richiesta di funzionalità per gli sviluppatori RStudio: aggiungi un pulsante "lavora a LaTeX" per ridurre il violino. Sembra compatibile con la loro filosofia http://www.rstudio.com/training/philosophy.html – RobinLovelace

risposta

11

Questo è documentato in http://www.rstudio.com/ide/docs/authoring/markdown_custom_rendering; è necessario aggiungere un file .Rprofile alla directory, ad esempio:

options(rstudio.markdownToHTML = 
    function(inputFile, outputFile) {  
    system(paste("pandoc", shQuote(inputFile), "-o", shQuote(outputFile))) 
    } 
) 

Alcune modifiche potrebbero essere necessarie. Peccato che lo stesso non funzioni con lo spin a causa di un bug in RStudio.

http://support.rstudio.org/help/discussions/problems/4128-spin-and-rprofile

+5

questa è una bella risposta. Sembra fare ciò che l'OP voleva, anche se non è tecnicamente "senza pandoc" (es. Se qualcuno che non aveva/non poteva installare [ed] pandoc voleva farlo), piuttosto è "senza un'ulteriore fastidiosa invocazione manuale di Pandoc". –