Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it possible to use Rstudio to translate from .Rmd to LaTeX directly without pandoc?

Reproducible example (if you have rstudio):

  • File | New | R Markdown
  • Knit to html, saving as test :

knitr

Navigate to working directory

  • In a terminal (with pandoc installed) type

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

(results pasted here)

  • Convert to pdf with pdflatex (see result here)

Or skip the tex stage by going directly to .pdf:

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

The results are good, but seem like a lot of steps given that knitr incorporates sweave. It should be able to convert from .Rmd to .tex or .pdf directly. Right?

like image 306
RobinLovelace Avatar asked Jan 04 '13 15:01

RobinLovelace


2 Answers

This is documented in http://www.rstudio.com/ide/docs/authoring/markdown_custom_rendering; you should add an .Rprofile to your directory, for example:

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

Some modifications might be necessary. Too bad the same does not work with spin because of a bug in RStudio.

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

like image 179
Dieter Menne Avatar answered Sep 20 '22 15:09

Dieter Menne


For anyone who stumbles upon this old question, there is now (has been for a while) a keep_tex: true parameter that preserves the intermediate .tex file created by Pandoc. Call it like this in the YAML header:

---
output:
  pdf_document:
    keep_tex: true
---
like image 20
Robert McDonald Avatar answered Sep 18 '22 15:09

Robert McDonald