Существует тип MCQ (вопросы с несколькими вариантами ответов), в котором каждый MCQ может иметь один или более одного ответа, при этом максимальное количество возможных ответов может быть равно общему количеству вариантов. Как это можно сделать в latex с использованием класса examdesign?
Вот пример:
\documentclass[a4paper, 11pt]{examdesign}
\parindent 0pt
\usepackage[margin=1in]{geometry}
\class{Your Exam}
\Fullpages
\ContinuousNumbering
\DefineAnswerWrapper{}{}
\NumberOfVersions{1}
\ShortKey
\NoRearrange
\begin{document}
\begin{multiplechoice}[title={A title}]
These are meant to be multiple-choice questions, with multiple answers.
\begin{question}
How many people live in Wales?
\choice{Approximately 2,811,865.}
\choice[!]{More than in most countries.}
\choice{None.}
\choice{Exactly seventeen.}
\end{question}
\begin{question}
How many cows does it take to graze a field?
\choice[i]{One.}
\choice[i]{Two.}
\choice{Three.}
\choice[i]{Four}
\end{question}
\end{multiplechoice}
\end{document}
Мне нужны правильные ответы на разные \выборы, ивсеварианты выбора должны быть напечатаны в решении.
решение1
examdesign
уже поддерживает несколько правильных ответов.
Кажется, есть небольшая проблема в определении \exam@ShortKeyChoice
(внутреннее определение \choice
в вашем примере). Внутренний счетчик для отслеживания решения не активизируется для правильных решений. Это означает, что ключ в разделе ответов отключается, если у вас есть несколько правильных ответов.
Я настоятельно рекомендую вам связаться с сопровождающим пакета по этому поводу. В документации, вероятно, будет указано, как сообщать об ошибках. (Хотя, учитывая, что последнее реальное изменение пакета было в 2001 году, шансы на крупное исправление могут быть меньше, чем я изначально думал. Адрес электронной почты разработчика также не отображается в документации PDF, вам придется перейти .dtx
непосредственно к источнику, чтобы найти его.)
В то же время вот обходной путь. Нам нужно было только переместить \stepcounter{choice}
наружу условное выражение. В исходном определении счетчик увеличивается только в (здесь удаленной) \else
ветви , \if#1!
что означает, что счетчик будет увеличиваться только для неправильных ответов, но не для правильных. Это означало, что подсчет для n-го правильного ответа будет смещен на n-1.
\documentclass[a4paper, 11pt]{examdesign}
\makeatletter
\renewcommand{\exam@ShortKeyChoice}[2][]{%
\if#1!%
\ifOneCorrectAnswerAlreadyGiven
, (\alph{choice})
\else
\exam@MultipleChoiceShortKeyPrefix
(\alph{choice})%
\OneCorrectAnswerAlreadyGiventrue
\fi
\fi
\stepcounter{choice}%
\ignorespaces}
\makeatother
\class{Your Exam}
\Fullpages
\ContinuousNumbering
\DefineAnswerWrapper{}{}
\NumberOfVersions{1}
\ShortKey
\NoRearrange
\begin{document}
\begin{multiplechoice}[title={A title}]
These are meant to be multiple-choice questions, with multiple answers.
\begin{question}
How many people live in Wales?
\choice{Approximately 2,811,865.}
\choice[!]{More than in most countries.}
\choice{None.}
\choice{Exactly seventeen.}
\end{question}
\begin{question}
How many cows does it take to graze a field?
\choice{One.}
\choice[!]{Two.}
\choice{Three.}
\choice[!]{Four}
\end{question}
\end{multiplechoice}
\end{document}