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

2

6

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?

Clangor answered 4/1, 2013 at 15:25 Comment(2)
Of course "is it possible". Has something written such a new converter which skips one or more steps of an existing tool pipeline? Unsure, to unlikely.Whoop
Thanks for this - maybe a feature request for RStudio developers: add a "knit to LaTeX" button to reduce fiddle. Seems compatible with their philosophy rstudio.com/training/philosophy.htmlClangor
T
11

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

Thionate answered 4/1, 2013 at 16:14 Comment(1)
this is a nice answer. It seems to do what the OP wanted, although it's not technically "without pandoc" (e.g. if someone who hadn't/couldn't install[ed] pandoc wanted to do this), rather it's "without an additional annoying manual invocation of pandoc".Unhouse
C
1

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
---
Clemente answered 21/6, 2021 at 2:4 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.