答案1
这样做的原因是 因为\droppoints
还插入了一段橡胶长度 - \hfill
- 以拉伸到页面的右侧。该长度由\hfill
和两个组件共享\hrulefill
。
您可以强制新建一个段落然后跳转回插入\droppoints
,或者创建一个\droppointshere
不插入的新宏(比如说) \hfill
:
\documentclass{exam}
\makeatletter
\def\droppointshere{%
% \leavevmode\unskip\nobreak\hfill% <----- removed
\rlap{\hskip\rightmargin % Defined by the list environment
\hskip\@rightmargin % Defined by exam.cls
\hskip-\rightpointsmargin
\llap{\padded@point@block}%
}% rlap
\par
}
\makeatother
\begin{document}
\begin{questions}
\question[2]
This is a question to answer here: \hrulefill
\question[2]
This is another question: \hrulefill \droppoints
\question[2]
This is another question: \hrulefill \par
\vspace{\dimexpr-\parskip-\baselineskip}\droppoints
\question[2]
This is a final question: \hrulefill \droppointshere
\end{questions}
\end{document}