【问题标题】:Is it possible to use Rstudio to translate from .Rmd to LaTeX directly without pandoc?是否可以在没有 pandoc 的情况下使用 Rstudio 直接从 .Rmd 转换为 LaTeX?
【发布时间】:2012-12-19 01:22:23
【问题描述】:

可重现的示例(如果您有 rstudio):

  • 文件 |新 | R 降价
  • 编织成html,另存为test

导航到工作目录

  • 在终端(安装 pandoc)中输入

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

(结果粘贴here

  • 使用 pdflatex 转换为 pdf(见结果here

或者直接转到 .pdf 跳过 tex 阶段:

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

结果很好,但考虑到 knitr 合并了 sweave,似乎需要执行很多步骤。它应该能够直接从 .Rmd 转换为 .tex 或 .pdf 。对吧?

【问题讨论】:

  • 当然“有可能”。有没有写过这样一个新的转换器,它跳过了现有工具管道的一个或多个步骤?不确定,不太可能。
  • 感谢您 - 也许是对 RStudio 开发人员的功能请求:添加“编织到 LaTeX”按钮以减少小提琴。似乎符合他们的理念rstudio.com/training/philosophy.html

标签: r latex knitr rstudio pandoc


【解决方案1】:

这在http://www.rstudio.com/ide/docs/authoring/markdown_custom_rendering中有记录;您应该将 .Rprofile 添加到您的目录中,例如:

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

可能需要进行一些修改。太糟糕了,由于 RStudio 中的错误,同样的方法不适用于旋转。

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

【讨论】:

  • 这是一个不错的答案。它似乎做了 OP 想要的,虽然它在技术上不是“没有 pandoc”(例如,如果没有/无法安装 [ed] pandoc 的人想要这样做),而是“没有额外烦人的手动调用pandoc”。
【解决方案2】:

对于偶然发现这个老问题的任何人,现在(已经有一段时间了)一个keep_tex: true 参数可以保留由 Pandoc 创建的中间 .tex 文件。在 YAML 标头中这样调用它:

---
output:
  pdf_document:
    keep_tex: true
---

【讨论】:

    猜你喜欢
    • 2017-05-27
    • 1970-01-01
    • 2014-06-16
    • 2020-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多