我试图在我使用 bookdown 渲染的文件中包含一个 .png 文件。 knitr::include_graphics()
应该是要走的路。
编码:
```{r fig1, fig.cap='My Caption', echo=FALSE, message=FALSE, warning=FALSE}
knitr::include_graphics("./Figures/My Figure.png")
```
在 .Rmd 文件中,我可以运行我的 r 块,它呈现下面的图像。所以,路径应该是正确的。但是,当我编织章节或渲染整本书时,图形并未渲染。
难道是我的其他一些选项覆盖了这个数字?下面是我的 index.Rmd 文件的 YAML header ,以及我的 _output.yml 文件中的代码。
---
title: "My Title"
author: "My Name"
date: "`r Sys.Date()`"
output:
bookdown::gitbook:
split_by: section
bookdown::pdf_book:
keep_tex: no
documentclass: book
classoption: openany
bibliography: [Mybib.bib]
csl: Mycsl.csl
biblio-style: apalike
link-citations: yes
description: "My Description"
---
bookdown::gitbook:
config:
toc:
before: |
<li><a href="./">Short Title</a></li>
bookdown::pdf_book:
latex_engine: xelatex
citation_package: natbib
bookdown::epub_book: default
最佳答案
图像文件路径中有空格。
文件名中的空格在 R 中不是问题,这就是您能够在 RStudio 中看到图像的原因。然而,knitr 有点复杂,因为它实际上执行了许多不同的程序(R、pandoc 和 LaTeX)。
如 knitr 的指南中所述, knitr:: includegraphics
函数实际上根据输出是 HTML、PDF 还是 md 执行不同的结果。在构建 PDF 时,它通过 LaTeX 传递图像并使用函数 \includegraphics{}
插入图片。如解释 here :
"The file name of the image should not contain white spaces nor multiple dots"
删除空格将解决问题,即使技术上允许,在 R 中避免它们通常是一种很好的做法。
归功于 @pzhao用于初步突出问题。
关于r - knitr::include_graphics in bookdown,不渲染图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47155042/