我们只有书面(纸笔)考试,而且我们只有短/中型字符串答案。在我们目前的考试中,我们会提出问题,并在下方留下一些空格(这取决于答案的预期长度)。
当我从 R/exams 导出 PDF 时,如何灵活地在问题下方添加该空格?
我在 R-Forge 上问过这个问题,这是 Achim Zeileis 的回答:
在问题下方添加足够空白的最简单方法是在练习本身或(可能更容易/更好)在 LaTeX 模板中包含一些 LaTeX 命令。例如,您可以在每个练习的末尾添加一个
\vspace*{8cm}
或一个。\newpage
为了说明,我附上了一个plain-page.tex
模板,该模板具有:\newenvironment{question}{\item \textbf{Problem}\newline}{\newpage}
其中
\item
...\newline
被添加到每个练习的开头和\newpage
结尾。查看exams2pdf(c("tstat", "deriv"), template = "plain-page.tex")
看看它做了什么。如果您想为不同的问题使用不同数量的空白,您可能应该
\vspace*{}
在练习中加入 a。会有进一步的微调选项,但也许上面的解决方案对你来说足够好。否则请继续问。
https://r-forge.r-project.org/forum/message.php?msg_id=45361&group_id=1337 (需要创建账号才能查看)
以下是附件中的代码:
\documentclass[a4paper]{article}
\usepackage{a4wide,color,Sweave,url,amsmath,booktabs,longtable,verbatim}
\newenvironment{question}{\item \textbf{Problem}\newline}{\newpage}
\newenvironment{solution}{\comment}{\endcomment}
\newenvironment{answerlist}{\renewcommand{\labelenumi}
{(\alph{enumi})}\begin{enumerate}}{\end{enumerate}}
\begin{document}
\begin{enumerate}
%% \exinput{exercises}
\end{enumerate}
\end{document}
正如@jtr13 所指出的,当所有练习都对空白区域使用相同的规则时,最简单的解决方案是,例如,固定数量或页面的其余部分,如 R-Forge 论坛的帖子中所示。
如果空白量因练习而异(如原始问题中所述),那么一个非常简单的解决方案是包含类似
\vspace*{5cm}
在每个练习中,并根据需要改变空白的数量。这适用于带有 .Rmd 的 R/Markdown (.Rmd) 和 R/LaTeX (.Rnw) 练习exams2pdf()
。当转换为 HTML(例如,对于 Moodle 等)时,它会被简单地忽略。
如果应该可以选择性地忽略 PDF 中的空白(例如,将问题列表编译为概述而不是考试时),那么我将使用自定义专用命令。然后可以通过使命令不活动来选择性地忽略它。而不是\vspace
你可以使用,说
\whitespace{5cm}
然后在 LaTeX 的标题中,template
您需要定义命令,例如
\let\whitespace=\vspace
在一个应该忽略你可以说的命令的模板中
\newcommand{\whitespace}[1]{}
有关 LaTeX 模板的具体示例,请参见 jtr13 或vignette("exams", package = "exams")
.