【发布时间】:2018-10-09 19:35:41
【问题描述】:
我使用 Rnw 文件为我的学生创建考试,我将单独的测验放入子 Rnw 文件中,并顺便将它们包含在主 Rnw 中
<<child="xx.Rnw">>@
xx.Rnw 包含问题陈述和答案。我想要两个版本的考试,一个没有答案,一个有答案。这意味着我需要可以有条件地生成两种类型的 pdf 的东西。
答案部分是 >@ 代码和乳胶的混合器。任何人都知道如何以敏捷的方式做到这一点?谢谢!
【问题讨论】:
我使用 Rnw 文件为我的学生创建考试,我将单独的测验放入子 Rnw 文件中,并顺便将它们包含在主 Rnw 中
<<child="xx.Rnw">>@
xx.Rnw 包含问题陈述和答案。我想要两个版本的考试,一个没有答案,一个有答案。这意味着我需要可以有条件地生成两种类型的 pdf 的东西。
答案部分是 >@ 代码和乳胶的混合器。任何人都知道如何以敏捷的方式做到这一点?谢谢!
【问题讨论】:
对于每个问题陈述,您可以创建 2 个子 rnw 块。第一个块调用没有答案的 rnw,第二个块调用带有答案的 rnw。在 rnw 文档的开头,创建两个名为 hide_answer 和 show_answer 的变量,并设置子 rnw 块的 eval 块选项,其中省略了 hide_answer 的答案,并设置了 eval 块选项显示show_answer 答案的子 rnw 块。
然后您只需将变量设置为TRUE 或FALSE 即可生成所需的PDF。
<<r_load>>=
hide_answer = TRUE
if (hide_answer == TRUE) {
show_answer = FALSE
} else {
show_answer = TRUE
}
@
\documentclass{article}
\begin{document}
<<child_hide_answer, child=problem1_no_answer.rnw, eval=hide_answer>>=
@
<<child_shower_answer, child=problem1_with_answer.rnw, eval=show_answer>>=
@
\end{document}
【讨论】: