修改 qformat:在问题末尾添加与之相符的要点

修改 qformat:在问题末尾添加与之相符的要点

我想修改 qformat,以便问题的要点出现在行内和末尾,但不在右边距。

就像这个单词示例中的那样。

在此处输入图片描述

我尝试过修改 qformat,但它看起来总是在新行上开始问题,就像在这个 MWE 中一样:

\documentclass[a4paper]{exam}

\qformat{\thequestion. \hfill (\thepoints)}

\begin{document}
\begin{questions}
\question i will give you no points
\begin{parts}
    \part[3] This is a part 
    \part[3] This is another part 
    \part[3] This is A part 
\end{parts}

\question[5] This question will give you some points

\noqformat
\question[1] Are you happy this is over?

\end{questions}

\end{document}

答案1

您可以使用命令(第 4.5.1 节,第 33 页)执行此\titledquestion操作。我添加了一个顶部对齐来限制问题文本的宽度,这会偏移分值。对我来说,这让您和您的学生更容易看到分值。您可以根据需要\parbox调整宽度。\parbox

我还创建了第二个\qformat选项,将点数放在与问题结尾相同的行上。这更接近您的示例,但我认为它看起来不如上面的选项好。此外,如果问题占满一行,我的宏有时会导致点数值放在页面的左侧。不幸的是,我不知道如何纠正这个问题。

\renewcommand仅当您使用\qformat和问题的组合时才需要宏\noqformat,因为如果没有它,问题编号就无法正确对齐。

\documentclass[a4paper]{exam}

\renewcommand{\questionshook}{%
  \setlength{\leftmargin}{0pt}%
  \setlength{\labelwidth}{\labelsep}%
}

% Places points on first line of question. You can adjust text width to suit your needs.
\qformat{\thequestion. \parbox[t]{0.8\textwidth}{\thequestiontitle}\hfill(\thepoints)}

% Use this if you want the points to occur on the last line of the question. 
% Caveat: If your question occupies a full line, the points will appear on the left side
% of the new line. Plus, I don't think it looks as good.
%\qformat{\thequestion. \parbox[t]{\textwidth}{\thequestiontitle\hfill(\thepoints)}\hfill}

\begin{document}
\begin{questions}
\titledquestion{i will give you no points}[0]
\begin{parts}
    \part[3] This is a part 
    \part[3] This is another part 
    \part[3] This is A part 
\end{parts}

\titledquestion{This question will give you some points}[5]

\titledquestion{This question works fine for the second \qformat. text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text}[5]

\titledquestion{This question puts the points at the left side fo the page. text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text }[5]

\noqformat
\question[1] Are you happy this is over?

\end{questions}

\end{document}

这是第一个的结果\qformat

在此处输入图片描述

这是第二个结果\qformat,显示问题是否占据了整行的结尾。如果您喜欢这种格式,那么仔细改写有问题的问题以缩短或延长它,会将要点放在您需要的位置。

在此处输入图片描述

相关内容