R降价PDF:暂时隐藏测验者的扰流码

Wal*_*cio 8 pdf-generation r show-hide knitr r-markdown

我正在使用R markdown来创建PDF R课程.我想插入一个如下所示的测验:

---
output: pdf_document
---

What is the class of the following R object?

1. `pi`

```{r}
class(pi)
```
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,使用以下内容创建PDF:

在此输入图像描述

但是,我希望读者不要轻易获得答案.这些是我迄今为止实现这一目标的想法:

  1. 将答案和代码描绘成白色,因此读者必须选择文本才能看到答案;
  2. 包括一个可以解决鼠标问题的工具提示.
  3. 刷新文件末尾的答案;
  4. 将答案颠倒,用较小的字体;
  5. 使用类似于>!stackoverflow代码的东西来隐藏剧透(不知道R markdown上是否有这样的功能);

对我来说,第三个想法似乎是最优雅的方式,但我不知道如何实现它.我已经采取了看看如何隐藏代码RMarkdown,与选项来查看它,http://yihui.name/knitr/options/https://www.ctan.org/pkg/exam?lang=en,但没有找到我能用的东西.

正如您所看到的,我不介意解决方案是否要求用户在计算机上阅读文档,但如果我能找到一个也适用于文档的打印版本的解决方案,那就太棒了.

raw*_*awr 5

我并没有想到一个完全闪亮的应用程序,但是像这样的东西.Rmd

---
output: html_document
---

## q1 what is `class(pi)?`

<div id="spoiler" style="display:none">

```{r}
class(pi)
```

</div>

<button title="Click to show answer" type="button"
   onclick="if(document.getElementById('spoiler') .style.display=='none')
              {document.getElementById('spoiler') .style.display=''}
            else{document.getElementById('spoiler') .style.display='none'}">
  Show/hide
</button>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

然后点击

在此输入图像描述