3

我们只有书面(纸笔)考试,而且我们只有短/中型字符串答案。在我们目前的考试中,我们会提出问题,并在下方留下一些空格(这取决于答案的预期长度)。

当我从 R/exams 导出 PDF 时,如何灵活地在问题下方添加该空格?

4

2 回答 2

3

我在 R-Forge 上问过这个问题,这是 Achim Zeileis 的回答:

  1. 在问题下方添加足够空白的最简单方法是在练习本身或(可能更容易/更好)在 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}
于 2019-05-14T14:20:46.643 回答
1

正如@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").

于 2019-05-14T23:55:49.383 回答