我正在使用rmarkdown生成HTML和pdf文件。在我的.Rmd文件中,我包含了这样的GIF:
![](www/script.gif)
当我将HTML编织成HTML时,效果很好。
rmarkdown::render(documentation_file, encoding="UTF-8")
但是,当我尝试使用编织成PDF时
rmarkdown::render(documentation_file, rmarkdown::pdf_document(latex_engine = "xelatex"), encoding="UTF-8")
我有以下问题:
! LaTeX Error: Unknown graphics extension: .gif.
我不介意丢失gif的动画,它的静态版本非常好。
有没有简便的方法可以将GIF动态转换为PDF文档?
答案 0 :(得分:1)
不可能在LaTeX文档中直接包含GIF。
在一般的LaTeX中,只有使用latex
来编译文档时,才可以包含GIF。使用pdflatex
,xelatex
和lualatex
时,您需要手动将图形转换为PNG,JPG或PDF。
RMarkdown默认情况下使用pdflatex
;虽然您可以通过指定例如来更改LaTeX引擎文档的YAML标头中latex_engine: xelatex
下方的pdf_document
,无法使用latex
进行编译(latex
首先会创建一个DVI文件,然后将其转换为PS,然后转为PDF。
因此,最简单(也是唯一)的解决方案是将所有GIF图形转换为PNG(或JPG),然后将它们作为图像包含在RMarkdown文档中。
答案 1 :(得分:1)
尝试一下
if (knitr:::is_latex_output()) {
knitr::asis_output('\\url{....}')
} else {
knitr::include_graphics("script.gif")
}
然后在URL中将URL放入您的gif
答案 2 :(得分:0)
您可以创建gif第一帧https://stackoverflow.com/a/12554723/10346727的快照图像 我认为PDF不支持gif格式或任何移动格式。