
Ich verwende die Latex-Prüfungsklasse für kurze Fragen, die Zeilen für Antworten bereitstellen. Der folgende Code gibt mir Zeilen für Antworten, die sich über die gesamte Breite der Seite erstrecken. Ich möchte die Breite dieser Zeilen steuern, damit ich sie nach Wunsch reduzieren kann (1 Zoll, 2 Zoll usw.).
\begin{document}
\begin{questions}
\question What is your name? \fillwithlines{3cm}
\end{questions}
\end{document}
Dies ist beispielsweise das Ergebnis des vorhandenen Codes:
Dabei möchte ich etwa folgendes:
Ich wäre für jede Hilfe in dieser Hinsicht dankbar. Danke
Antwort1
Wie in den Kommentaren erwähnt, minipage
ist die Verwendung einer Umgebung wahrscheinlich die einfachste Lösung. Wenn Sie dies häufig tun, können Sie eine minipage
Version des \fillwithlines
Befehls erstellen. Dies erfordert ein optionales Breitenargument, das standardmäßig verwendet wird, \linewidth
wenn es nicht verwendet wird.
\documentclass{exam}
\NewDocumentCommand{\Fillwithlines}{O{\linewidth}m}{
\par\begin{minipage}{#1}
\fillwithlines{#2}
\end{minipage}}
\begin{document}
\begin{questions}
\question What is the answer to this question?
\Fillwithlines[3in]{1in}
\question What is the answer to this question?
\Fillwithlines{1in}
\end{questions}
\end{document}
Antwort2
Dieser Code ersetzt die fest verdrahtete Länge der Zeilen ( \hsize
) durch eine benutzerdefinierte Länge ( \linelength
), die vor einer Frage festgelegt werden kann.
\documentclass{exam}
%**************************************** added <<<<<<<<<<<<
\usepackage{xpatch}
\newlength{\linelength}
\setlength{\linelength}{\hsize}% default length
\makeatletter
\xpatchcmd{\do@fillwithlines}
{\hsize}{\linelength}{}{}
\makeatother
%****************************************
\begin{document}
\begin{questions}
\setlength{\linelength}{1.5in}% choose the line length <<<<<<<<<<<<<<<<<<<<
\question What is your name? \fillwithlines{3cm}
\setlength{\linelength}{2.5in}% choose the line length <<<<<<<<<<<<<<<<<<<<
\question What is your name? \fillwithlines{3cm}
\end{questions}
\end{document}