我想渲染一个Rmarkdown文件,该文件需要pdflatex中的-shell-escape
选项或pandoc中的--pdf-engine-opt=-shell-escape
选项。我在YAML标头中指定了pandoc_args: "--pdf-engine-opt=-shell-escape"
,但是rmarkdown :: render()似乎按此顺序调用程序:
pandoc mwe.utf8.md --to latex --output mwe.tex ...
)pdflatex mwe.tex
) render()在步骤3和4之间丢失了-shell-escape
选项,因为pdflatex无法将命令传递给shell,所以我收到错误。有没有办法:1)让pandoc输出* .pdf文件而不是* .tex,或2)将-shell-escape
传递给pdflatex?
---
title: "mwe"
header-includes: |
\usepackage{epstopdf}
\epstopdfDeclareGraphicsRule{.tif}{png}{.png}{sips -s format png #1 --out \OutputFile}
\PrependGraphicsExtensions{.tif, .tiff}
output:
pdf_document:
pandoc_args: "--pdf-engine-opt=-shell-escape"
---
![](image.tif)
在R控制台中运行$ rmarkdown::render("mwe.Rmd", output_file="mwe.pdf")
会出现错误,因为未使用-shell-escape
调用pdflatex:
! Package pdftex.def Error: File `image-tif-converted-to.png' not found.
Error: Failed to compile mwe.tex. See mwe.log for more info.
在R控制台中运行$ knitr::knit("mwe.Rmd")
,然后在终端中运行$ pandoc mwe.md -o mwe.pdf
,返回正确的PDF。或者,在终端中的中间tex文件上运行$ pandoc mwe.md -s -o mwe.tex; pdflatex -shell-escape mwe.tex
也会返回正确的PDF。
从https://upload.wikimedia.org/wikipedia/commons/6/6a/Chi_Recombination_Model_for_Wikipedia.tif
获得的TIF图像答案 0 :(得分:1)
当尝试导入铸造的乳胶包装时,我遇到了同样的问题-.rmd
文件开头附近的R代码为我修复了该问题:
```{r setup, include=FALSE}
options(tinytex.engine_args = '-shell-escape')
```
如果有必要,我将在MacOS 10.14.6上使用RStudio编译文档并进行编织。希望这会有所帮助!