
При использовании класса экзамена можно использовать команды типа \question[5]
или просто \question
(т.е. без точек). Первая команда включает точки в скобках по умолчанию, а вторая пропускает точки и окружающие скобки.
Чтобы использовать в экзамене озаглавленные вопросы, где баллы заключены в скобки, я использовал следующую команду:
\qformat{\bf \thequestiontitle ~(\thepoints) \hfill}
Теперь, когда я использую команды \titledquestion{my title}[5]
и \titledquestion{my title}
, они ведут себя не так, как команды \question[5]
и \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}