exams:::exams2pdf 不显示绘图

问题描述 投票:0回答:1

我刚刚解决了一个问题

exams2pdf()
,但又遇到了另一个问题......

考虑下面的简单练习文件 (

myquestion.Rmd
):

```{r, echo=FALSE, results="hide"}
x <- 1:5
y <- 1:5

png("myplot.png")
plot(x, y)
dev.off()
```

Question
========
What is this plot?

```{r, echo=FALSE, out.width='40%', fig.cap=""}
knitr::include_graphics("myplot.png", error = FALSE)
```

Answerlist
----------
* Scatterplot.
* Histogram.


Meta-information
================
exname: Q01
extype: schoice
exsolution: 10
exshuffle: FALSE

执行

exams2html("myquestion.Rmd")
效果很好。但是
exams2pdf("myquestion.Rmd")
不会渲染绘图。

我寻找答案,确实找到了一些提示,特别是提到使用

include_supplement()
函数。渲染 .tex 文件的文件夹似乎不知道 .png 图像文件在哪里。但不幸的是,我尝试过的一切都没有成功。有人可以告诉我我需要做什么吗?

重要的是,我正在建立一个大型项目库(包含数百个项目)。我需要能够互换使用

exams2nops
exams2html
,具体取决于我需要生成的作业类型。因此,代码应该灵活并且可以与这些 exam2xxx 函数一起使用。

提前谢谢您。

r r-exams
1个回答
0
投票

TL;博士

在 Markdown 语法中包含此类图形,而不是依赖

knitr::include_graphics()
。在这种情况下,您可以保持一切不变,只需将问题更改为:

Question
========
What is this plot?

![](myplot.png){width="40%"}

详情:

为了像 R/exams 一样模块化,它需要自己处理各种转换。尤其如此,因为 .Rnw 和 .Rmd 练习都受支持并且需要一致处理。这就是为什么我们不依赖某些

knitr
功能,而是拥有自己的转换工具。

最后,当包含练习本身中未生成的静态文件时,

include_supplement()
是相关的(就像您的示例一样。Rlogo练习中提供了此类静态图形的示例。

© www.soinside.com 2019 - 2024. All rights reserved.