
Я хочу написать экзамены, в которых вопросы и ответы рандомизированы, и mcexam позволяет мне делать почти все, что я хочу. Однако я также хотел бы, чтобы каждый вопрос выбирался случайным образом из группы вопросов. Например, я могу захотеть один вопрос на экзамене о правиле продукта, поэтому из группы из 5 вопросов один из них будет случайным образом выбран для экзамена. В настоящее время я использую pgfmath, и я думал, что он отлично работает, но потом я понял, что иногда он берет части вопросов и собирает их вместе.
В коде есть два вопроса, из которых нужно выбрать: «Что не является фруктом?» и «Какого цвета изумруд?» Происходит то, что на выходе будет «Что не является фруктом?», но затем варианты ответов будут такими же, как для «Какого цвета изумруд?» или наоборот. Почему это происходит и можно ли это как-то исправить? Я не слишком хорошо разбираюсь в латексе. Спасибо!
\documentclass[12pt]{article}
\usepackage{pgfmath}
\usepackage{tikz,framed}
\usepackage[output=exam
,numberofversions=1
,version=1
,seed=6
,randomizequestions=true
,randomizeanswers=true
,writeRfile=false
]{mcexam}
\begin{document}
\begin{mcquestions}
\question
\pgfmathrandom{2} % store 1 or 2 in \pgfmathresult
\ifnum\pgfmathresult=2
{
Which is not a fruit?
\begin{mcanswerslist}
\answer[correct] Pepper
\answer Apple
\answer Grape
\answer Banana
\end{mcanswerslist}
}
\else
{ What color is an emerald?
\begin{mcanswerslist}
\answer[correct] Green
\answer Blue
\answer Red
\answer Yellow
\end{mcanswerslist}
}
\fi
\question
This is the second question, needed in order to run.
\begin{mcanswerslist}
\answer[correct] Answer 1
\answer Answer 2
\answer Answer 3
\answer Answer 4
\end{mcanswerslist}
\end{mcquestions}
\end{document}