使用 rmarkdown 在 pdf 中插入 GIF

Insert GIF in pdf using rmarkdown

我正在使用 rmarkdown 生成 HTML 和 pdf 文件。在我的 .Rmd 文件中,我包含了这样一个 GIF:

![](www/script.gif)

当我编织 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 动画,它的静态版本非常好。

有没有什么简单的方法可以include/convert 将 GIF 快速转换为我的 PDF 文档?

您可以创建 gif 第一帧的快照图像, 我认为 PDF 不支持 gif 格式,或任何与此相关的移动格式。

无法在 LaTeX 文档中直接包含 GIF。

在一般的 LaTeX 中,如果使用 latex 编译文档,则只能包含 GIF;使用 pdflatexxelatexlualatex 时,您需要手动将数字转换为例如PNG、JPG 或 PDF。

RMarkdown 默认使用 pdflatex;虽然您可以通过指定例如更改 LaTeX 引擎latex_engine: xelatex below pdf_document in your document YAML header, it's not possible to use latex to compile (latex would first create a DVI file, which is converted to a PS 然后依次转为PDF).

所以最简单(也是唯一)的解决方案是将所有 GIF 图片转换为 PNG(或 JPG),然后将它们作为图像包含在您的 RMarkdown 文档中。

在你的块中试试这个

if (knitr:::is_latex_output()) {
  knitr::asis_output('\url{....}')
} else {
  knitr::include_graphics("script.gif")
}

并在 url 中将 url 放入您的 gif