无法在bookdown中插入图表

4
我正在使用bookdown为R生成笔记。一个最小的bookdown示例展示了错误:

https://github.com/DavisBrian/bookdown_error

一切都很顺利,直到我尝试添加一个图表(dataviz.Rmd)时。构建书籍时,我遇到了以下错误:
! LaTeX Error: File `dataviz_files/figure-latex/plotxyx-1' not found.

Error: Failed to compile rclassnotes.tex. See rclassnotes.log for more info.
In addition: Warning message:
In parse_packages(logfile, quiet = c(TRUE, FALSE, FALSE)) :
  Failed to find a package that contains dataviz_files/figure-latex/plotxyx-1
Execution halted

Exited with status 1.

我已在以下环境中运行过此程序:
> sessionInfo()
R version 3.4.4 (2018-03-15)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.4

Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
 [1] compiler_3.4.4  backports_1.1.2 bookdown_0.7    magrittr_1.5    rprojroot_1.3-2 htmltools_0.3.6 tools_3.4.4    
 [8] yaml_2.1.18     Rcpp_0.12.16    stringi_1.1.7   rmarkdown_1.9   knitr_1.20      xfun_0.1        stringr_1.3.0  
[15] digest_0.6.15   evaluate_0.10.1

有没有关于接下来该怎么做的想法?

编辑:

看起来非常类似于: https://github.com/rstudio/bookdown-demo/issues/3https://github.com/rstudio/bookdown/issues/342

请注意,我在Windows和Mac OSX上都遇到了这个问题。我不认为它是一个组件的简单软件安装错误。

文件似乎是在_bookdown_files/dataviz_files/figure-latex/中创建的,并且暂时在_dataviz_files/figure-latex/中。


这些文件被创建了吗? - pogibas
是的,但它们似乎被删除/清除了。我可以在出现错误之前看到它们。值得一提的是,如果我使用RStudio的Knit按钮,一切都正常。但是生成书籍会出错。 - BrianDavisStats
这是很多代码需要查看。你能否尝试构建一个最小的示例来演示问题? - Ralf Stubner
@RalfStubner 在顶部更新了一个最小的bookdown示例链接。 - BrianDavisStats
1个回答

3
问题出在你将图形设备设置为svg在文件_common.R中:https://github.com/DavisBrian/bookdown_error/blob/9f4078a/_common.R#L13
knitr::opts_chunk$set(
  comment = "#>",
  collapse = TRUE,
  cache = FALSE,
  out.width = "70%",
  fig.align = 'center',
  fig.width = 6,
  fig.asp = 0.618,  # 1 / phi
  fig.show = "hold",
  dev = "svg"
)

LaTeX目前不支持SVG图像的原生格式。您需要使用特殊的LaTeX包,或使用LaTeX可以识别的图像格式,例如pdfpng


做到了。感谢您的帮助和精彩的软件包。 - BrianDavisStats
感谢您首先提供可重现的示例 :) - Yihui Xie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接