我想将*.Rmd
转换为PDF格式 ,而 rstudio可用。
目前的方法遵循以下步骤:
*.Rmd
文件已传递至knitr
: knit(input = "report.Rmd"))
获得的md通过pandoc转换:
# Convert
pandoc --smart --to latex \
--latex-engine pdflatex \
-s report.md \
-o report.PDF
这导致以下问题, Rmarkdown 文档的顶部:
---
title: "Report Title"
author: "Person"
output: pdf_document
classoption: landscape
---
并显示为:
所有文字都居中,而我希望它左对齐:
我想利用rmarkdown::render
;但是,尽管设置了RSTUDIO_PANDOC
(如所讨论的here),但命令在pandoc
无法使用时失败。
我并不关心所使用的机制是否使用rmarkdown::render
,我想要实现的是:
*.Rmd
文件中执行,而无需向pandoc
命令添加参数。 pandoc
命令传递文件并生成导出而没有任何问题。它只适用于rmarkdown::render
包。*.Rmd
文件,这是我试图理解的内容,因为我发现*.Rmd
文件的第一部分被忽略了。目前的流程如下:
*.Rmd
(其中不多,只是标题部分和虚拟文字以及呈现但错误对齐的代码)> *.R
运行一行knit(input = "report.Rmd"))
> *.sh
文件正在运行pandoc
命令并生成PDF 如果一切就绪,那确实只是一个电话
rmarkdown::render(...)
rmarkdown::render(...)
失败:
Error: pandoc version 1.12.3 is required and was not found ...
但是:
>> rmarkdown::pandoc_available()
[1] TRUE
和
$ pandoc -v
pandoc 1.9.4.1 (...)
RSTUDIO_PANDOC
指向pandoc。
答案 0 :(得分:2)
一些事情:
"该命令在pandoc不可用时失败。" 你必须安装pandoc
才能叫它 - 但你没有说出你有什么操作系统。在Linux上,从包管理器安装pandoc
非常简单;否则jgm会在网站上为你提供二进制文件; "应该"在OS X上类似
对于不同的样式,您需要修改LaTeX代码,您可以通过多个钩子来包含宏文件;请参阅RMarkdown备忘单了解详情
如果您想要进行更多控制,可以提供自己的模板;我在tint package中这样做了 (也在CRAN上)
rmarkdown::render(...)
答案 1 :(得分:0)
错误:需要Pandoc版本1.12.3,但找不到
我认为该错误明确说明:您需要pandoc 1.12.3,而您却需要pandoc 1.9.4.1
但是,我不知道为什么需要这样的特定版本。