¿Cómo gestionar los saltos de línea cuando la línea contiene "makebox"?

¿Cómo gestionar los saltos de línea cuando la línea contiene "makebox"?

Si escribo preguntas para completar espacios en blanco en la examclase, como esta:

\documentclass[addpoints]{exam}

\begin{document}
\begin{questions}
\question [3] The protagonist, originally from \makebox[2in]{\dotfill}, has to travel up the \makebox[2in]{\dotfill} River to retrieve \makebox[2in]{\dotfill}.
\end{questions}
\end{document}

Las líneas no se dividen correctamente, sino que llegan hasta el borde de la página, así:

ingrese la descripción de la imagen aquí

Puedo forzar \\un salto de línea, lo que produce un resultado aceptable:

ingrese la descripción de la imagen aquí

Pero esto parece complicado. ¿Existe una forma más elegante de manejar esta situación?

Respuesta1

También puedes dejar que los puntos se expandan en lugar de los espacios en blanco, y entonces el salto de línea será mucho más fácil.

ingrese la descripción de la imagen aquí

\documentclass[addpoints]{exam}

\newcommand\mydotfill[1]{{\def\hfill{\hskip #1 plus 1fill\relax}\nolinebreak\dotfill}}
\begin{document}
\begin{questions}
\question [3] The protagonist, originally from \mydotfill{2in}, has to travel up the \mydotfill{2in} River to retrieve \mydotfill{2in}.
\end{questions}
\end{document}

información relacionada