![使用 Exam 类和 probsoln 包进行随机问题排序](https://linux22.com/image/358168/%E4%BD%BF%E7%94%A8%20Exam%20%E7%B1%BB%E5%92%8C%20probsoln%20%E5%8C%85%E8%BF%9B%E8%A1%8C%E9%9A%8F%E6%9C%BA%E9%97%AE%E9%A2%98%E6%8E%92%E5%BA%8F.png)
我正在使用该包exam
中的课程probsoln
来制作学生应该知道的材料的随机子集的测验。如果我这样做:
\documentclass[12pt,addpoints]{exam}
\usepackage{probsoln}
\begin{document}
\header{English 213}{Quiz on vocab lists 1--2}{Fall 2017}
\loadrandomproblems{5}{prob_set_1.tex}
\loadrandomproblems{5}{prob_set_2.tex}
\begin{questions}
\foreachproblem{\question[1]\thisproblem\dotfill}
\end{questions}
\end{document}
我从问题集 1 中得到五个随机问题,然后从问题集 2 中得到五个随机问题。有没有办法将这两组问题的问题顺序随机化,以便列表 1 和列表 2 中的问题都混合在一起?
我确实尝试过
\loadrandomproblems{10}{prob_set_1.tex,prob_set_2.tex}
但这产生了错误。
答案1
从 v3.05(2017-07-10)开始,您可以提供以逗号分隔的文件名列表:
\loadrandomproblems{10}{prob_set_1.tex,prob_set_2.tex}
这是新版本发布前的临时修复:
\documentclass[12pt,addpoints]{exam}
\usepackage{probsoln}
\begin{document}
\header{English 213}{Quiz on vocab lists 1--2}{Fall 2017}
\let\orginput\input
\makeatletter
\renewcommand*{\input}[1]{\@for\thisfile:=#1\do{\orginput{\thisfile}}}
\loadrandomproblems{10}{prob_set_1.tex,prob_set_2.tex}
\makeatother
\let\input\orginput
\begin{questions}
\foreachproblem{\question[1]\thisproblem\dotfill}
\end{questions}
\end{document}