使用 exam 类时,可以使用类似\question[5]
或 的命令\question
(即不带点)。前者默认包含括号内的点,后者省略点和周围的括号。
为了在考试中使用标题问题,其中要点用括号括起来,我使用了以下命令:
\qformat{\bf \thequestiontitle ~(\thepoints) \hfill}
现在,当我使用\titledquestion{my title}[5]
and\titledquestion{my title}
命令时,它们的行为方式与\question[5]
and\question
命令不同。区别在于,无论是否指定了点,带标题的版本最终总是包含括号。
我想知道的是: 修改参数的正确方法是什么,\qformat
以便仅在指定了点值时才出现括号?我无法在 exam.cls 手册中找到它(我假设它会在处理标题问题的部分中的某个地方)。
答案1
您可以\if@placepoints
有条件地使用括号和值:
\documentclass{exam}
\makeatletter
\qformat{\bfseries\thequestiontitle\if@placepoints~(\thepoints)\else\fi\hfill}
\makeatother
\begin{document}
\begin{questions}
\titledquestion{my title}[5]
\titledquestion{my title}
\end{questions}
\end{document}