我正在写的考试需要分几个部分。前 10 个问题是多项选择题,我想简单地按 1-10 进行编号。对于扩展答案,我想给问题添加标题。有没有办法在考试课上做到这一点?谢谢你的帮助。
答案1
文档中对此进行了描述:您可以使用\titledquestion
为您的问题分配标题。为了在问题部分使用此标题,您还需要重新定义\qformat
。格式更改仅适用于命令之后的问题\qformat
,因此您可以先获得正常问题,然后发出\qformat
以获取标题。要恢复到简单样式,您可以使用\noqformat
。
这是一个简单的例子:
\documentclass{exam}
\begin{document}
\begin{questions}
\question[1]
What if I say I'm not like the others?
\begin{choices}
\choice You're the pretender
\choice I will never surrender
\end{choices}
\qformat{\thequestion. \textbf{\thequestiontitle} \hfill (\thepoints)}
\titledquestion{Complicated Long Question}[10] Identify all known unknowns and embrace complexity.
\noqformat
\question[1] Are you happy this is over?
\end{questions}
\end{document}
答案2
qformat
您还可以定义使用该包的灵活版本ifthen
,以便您可以在同一个文档中混合有标题和无标题的问题,而不必担心顺序或qformat
多次重新定义:
\usepackage{ifthen}
\qformat{\textbf{Question \thequestion
\ifthenelse{\equal{\thequestion}{\thequestiontitle}}
{} % equality means title unset: do nothing
{~(\thequestiontitle)} % there's a title, print it
\hfill
} % end textbf
}
小型工作示例:
\documentclass[a4paper,12pt]{exam}
\usepackage{ifthen}
\qformat{\textbf{Question \thequestion
\ifthenelse{\equal{\thequestion}{\thequestiontitle}}
{} % equality means title unset: do nothing
{~(\thequestiontitle)} % there's a title, print it
\hfill
} % end textbf
}
\begin{document}
\begin{questions}
\titledquestion{I'm important enough to have a title} What is the meaning of life?
\question 2+2=5 ?
\titledquestion{Me too} Solve any of the millenium problems.
\end{questions}
\end{document}