首页 > 解决方案 > 从 r-markdown 中的 URL 找不到图像文件

问题描述

我曾经能够使用带有以下代码的 URL 在 r-markdown 中呈现图像,![](https://assets-cdn.github.com/images/modules/logos_page/GitHub-Mark)但我得到一个文件未找到错误! LaTeX Error: File https://assets-cdn.github.com/images/modules/logos_page/GitHub-Mark' not found。我缺少包裹吗?这段代码仍然适用于几个月前发布的一些闪亮的应用程序。

在工作文件 r-markdown 文件下方:

---
title: "Test"
header-includes:
    - \usepackage{graphicx}
output:
  pdf_document:
    latex_engine: xelatex
    number_sections: yes
    keep_tex: yes
classoption: article
papersize: A4
fontsize: 10pt
geometry: margin=0.9in
linestretch: 1.15
---
## R Markdown
![](https://assets-cdn.github.com/images/modules/logos_page/GitHub-Mark)

标签: rr-markdownxelatex

解决方案


LaTeX graphics包不包含 http 客户端,因此无法从 Internet 拉取图像。但是,很多从 Markdown 到 LaTeX 的转换工作都是由 pandoc 完成的,它可以得到这个图像。只需要通过传递--extract-media选项告诉 pandoc 在本地存储所有图像。这允许 LaTeX 在 RMarkdown 调用时找到图像。

---
output:
  pdf_document:
    pandoc_args: ["--extract-media", "."]
---

以上将所有图像存储在与 Rmd 文件相同的目录中。这些文件将使用 SHA1 哈希命名,因此您可能希望为这些文件使用单独的目录。


推荐阅读