Wie verwalte ich Zeilenumbrüche, wenn die Zeile „makebox“ enthält?

Wie verwalte ich Zeilenumbrüche, wenn die Zeile „makebox“ enthält?

Wenn ich im Unterricht Lückentextfragen schreibe exam, wie diese:

\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}

Die Zeilenumbrüche erfolgen nicht richtig, sondern verlaufen bis zum Seitenrand, etwa so:

Bildbeschreibung hier eingeben

Ich kann \\einen Zeilenumbruch erzwingen, was zu einem akzeptablen Ergebnis führt:

Bildbeschreibung hier eingeben

Aber das scheint umständlich. Gibt es eine elegantere Möglichkeit, mit dieser Situation umzugehen?

Antwort1

Sie können die Punkte auch erweitern lassen, anstatt Leerzeichen zu verwenden. Dann ist der Zeilenumbruch viel einfacher

Bildbeschreibung hier eingeben

\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}

verwandte Informationen