在 r-exams 中,我们希望在完形填空问题子项中包含 R 输出;导出为 PDF(用于打印的考试)。虽然 R 输出的打印在常规问题部分工作正常,但它在完形填空子项的\begin{answerlist} 环境中失败。
这是一个 MWE:
```{r echo=FALSE, message=FALSE, warning=FALSE}
tt <- t.test(rnorm(100), rnorm(100))
```
Question
========
Output *outside* of list environment:
```{r echo=FALSE, message=FALSE, warning=FALSE, comment=NA}
print(tt)
```
Answerlist
---------------
* Subquestion number 1.
Output *inside* of list environment:
$$\vspace*{0.1cm}$$
\
```{r echo=FALSE, message=FALSE, warning=FALSE, comment=NA}
print(tt)
```
* Subquestion number 2.
Solution
========
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Meta-information
================
exname: testoutput
extype: cloze
exclozetype: string|string
exsolution: x|x
expoints: 1|1
这导致此 PDF:
输出丢失所有换行符。有任何解决方法/解决方案的想法吗?
最佳答案
不可能在答复列表项中包含此类高级格式。部分原因是我们可以将此类问题呈现到的某些系统不支持此功能。因此,答案列表项中的所有文本都在内部折叠成一行文本。因此,那里不支持代码或图形等。
可能的解决方法包括:
- 在问题本身中包含所有相关输出,可能带有一些编号/逐项/等等。然后在答案列表项目中引用它。明显的缺点是内容更多地分布在问题中。 优点:从技术上讲,它适用于所有支持的输出格式。
- 如果 PDF 是主要目标,也可以简单地将其标记为单个“字符串”问题(而不是“完形填空”)。该问题仍然可以包含子项的逐项/枚举列表(可能具有自定义布局、间距等)。 缺点:R/exams 对子项一无所知,因此在 Moodle 输出中无法按预期工作。 优点:R/exams 对子项一无所知,因此您可以完全控制格式。
- 另一个适用于 PDF 输出的技巧是将问题分成两个单独的“字符串”.Rmd(或 .Rnw)文件。如果在公共(public)环境中处理,第二个练习可以访问第一个练习生成的数据。请参阅 R-Forge 论坛中的讨论:https://R-Forge.R-project.org/forum/forum.php?thread_id=33666&forum_id=4377&group_id=1337 缺点:适用于 PDF,但不适用于 Moodle 等其他输出。 优点:R/exams 仍然知道这是两个问题。
- 对于专用的 Moodle 输出,也可以将
##ANSWER##
字段直接放在问题文本中的某个位置,以便您可以自定义布局。我还没有一个有效的“字符串”示例,但这个“数字”示例可能仍然有用:http://www.R-exams.org/templates/fourfold2/ . 缺点: 仅适用于 Moodle(和部分 QTI)但不适用于 PDF。 优点:可以灵活控制用户交互元素在问题文本中的放置位置。
例如,通过以 match_exams_call()
为条件,原则上也可以结合上述一些解决方案来实现对 PDF 和 Moodle 都相当有效的练习。
关于r-exams:完形填空子项中的 R 输出格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57315553/