Ich verwende die Prüfungsklasse, um meine Prüfungen zu setzen. Normalerweise lasse ich mit Platz für Antworten, \fillwithlines{3in}
weil ich den Platz lieber fixiere. Wenn sich eine Frage jedoch am Ende einer Seite befindet und der von benötigte Platz \fillwithlines{3in}
diese überschreitet, werden die Zeilen nicht auf der nächsten Seite fortgesetzt. Stattdessen wird die gesamte Frage auf die nächste Seite verschoben, während die aktuelle Seite leer ist. Gibt es eine Möglichkeit, dieses Verhalten zu ändern und Zeilen auf einer Seite beginnen und dann auf der nächsten fortsetzen zu lassen?
\documentclass{exam}
\begin{document}
\begin{questions}
\question This question should appear on page 1. It should be followed by lines which continue on page 2.
\fillwithlines{20in}
\end{questions}
\end{document}
Antwort1
Musste es nur \cleaders
durch eine Schleife ersetzen. Die \space
ermöglicht Zeilenumbrüche.
\documentclass{exam}
%\usepackage{showframe}% mwe only
\makeatletter
\def\fillwithlines#1{%
\begingroup
\ifhmode
\par
\fi
\hrule height \z@
\nobreak
\setbox0=\hbox to \hsize{\hskip \@totalleftmargin
\vrule height \linefillheight depth \z@ width \z@
\linefill}%
% We use \cleaders (rather than \leaders) so that a given
% vertical space will always produce the same number of lines
% no matter where on the page it happens to start:
\dimen0=\ht0
\loop\ifdim\dimen0<#1\relax
\advance\dimen0 by \ht0
\copy0\space
\repeat
\endgroup
}
\makeatother
\begin{document}
\begin{questions}
\question This question should appear on page 1. It should be followed by lines which continue on page 2.
\fillwithlines{20in}
\end{questions}
\end{document}