我正在寻找一种方法来生成同一份考试的不同副本。
我通常会准备几个练习,每个练习有两个版本;然后我将学生分成四组(A,B,C,D),并根据每个学生的小组情况给他们发不同的试卷。
例如,学生将收到以下非随机考试表之一:
A 组:练习 1-a、2-a、3-a
B 组:练习 1-a、2-b、3-b
C 组:练习 1-b、2-a、3-b
D 组:练习 1-b、2-b、3-a
我可以通过以下方式实现我的目标(并给每个练习编号)beamer
:
\documentclass{beamer}
\begin{document}
\begin{frame}
Exam
\begin{enumerate}
\only<1,2>{ 2+3 } %1-a, groups A and B
\only<3,4>{ 2+4 } %1-b, groups C and D
\only<1,3>{ 3-2 } %2-a, groups A and C
\only<2,4>{ 4-3 } %2-b, groups B and D
\only<1,4>{ 4:2 } %3-a, groups A and D
\only<2,3>{ 6:3 } %3-b, groups B and C
\end{enumerate}
\end{frame}
\end{document}
我希望在article
课堂上取得同样的成果。
答案1
您可以使用软件包执行此操作exsheets
。请参阅文档的第 14 节(第 29 页)“考试的变化”exsheets
以获取说明。
在标题中声明\SetVariations{}
您想要多少个,然后使用\variant{}
和\vary{}
命令列出它们。查看文档语法。
下面,替换变体编号来生成各个版本:
\documentclass{article}
\usepackage{exsheets}
\SetVariations{4}
\variant{1}
\begin{document}
\begin{question}
\vary{2+3}{2+3}{2+5}{2+5}
\end{question}
\begin{question}
\vary{4-3}{5-2}{4-3}{5-2}
\end{question}
\begin{question}
What is \vary{2:4}{2:5}{2:4}{2:5}?
\end{question}
\end{document}
这种方法的一个优点是,可以修改问题的一小部分(例如其中的某个数字),而问题的其余部分保持不变。最后一个问题简要说明了这一点。
但是,如果你想改变整个问题,你也可以选择将每个问题分配到一个类别,例如
\SetupExSheets{use-classes={A,C}}
\begin{question}[class=A]
2+3
\end{question}
\begin{question}[class=A]
3+4
\end{question}
\begin{question}[class=B]
3-1
\end{question}
\begin{question}[class=C]
3-2
\end{question}
然后,对于不同的版本,你将改变你在\SetupExSheets{use-classes={A,C}}
答案2
如果您的设置相对简单,并且您不需要排版考试专用类的所有功能,那么您可以使用以下命令:
\documentclass{article}
\usepackage{textmerg,filecontents,titling}
\newcommand{\exqn}[2]{% this just makes it slightly quicker to define the questions
\newcommand{#1}{#2}%
}
% define your questions: \onea, \oneb etc.
\exqn{\onea}{2+3}
\exqn{\oneb}{2+4}
\exqn{\twoa}{3-2}
\exqn{\twob}{4-3}
\exqn{\threea}{4:2}
\exqn{\threeb}{6:3}
% Assign questions to groups in a separate file.
% Because filecontents adds comments, you will get a spurious first page. If you use a really distinct file with 'A' on the first line, you won't.
\begin{filecontents}{questions.dat}
A
\onea
\twoa
\threea
B
\onea
\twob
\threeb
C
\oneb
\twoa
\threeb
D
\oneb
\twob
\threea
\end{filecontents}
\title{Examination of Extreme Excellence}
\author{Marvellous Mocker}
\date{23 January, 4\textsc{bce}}
\begin{document}
\Fields{\classgroup\qone\qtwo\qthree}% one field per line for a single variation of the exam - we have one group and three questions in each exam, so four fields are required.
\Merge{questions.dat}{%
\renewcommand{\maketitlehookb}{\centering \large Group \classgroup\par}% label exams by group
\pagenumbering{arabic}% make sure the first page of each exam is 1
\maketitle
\begin{enumerate}% typeset the questions however you wish
\item \qone
\item \qtwo
\item \qthree
\end{enumerate}
}
\end{document}
这将产生: