Latex-Prüfungsklasse: Linienbreite für Antworten

Latex-Prüfungsklasse: Linienbreite für Antworten

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:

Bildbeschreibung hier eingeben

Dabei möchte ich etwa folgendes: Bildbeschreibung hier eingeben

Ich wäre für jede Hilfe in dieser Hinsicht dankbar. Danke

Antwort1

Wie in den Kommentaren erwähnt, minipageist die Verwendung einer Umgebung wahrscheinlich die einfachste Lösung. Wenn Sie dies häufig tun, können Sie eine minipageVersion des \fillwithlinesBefehls erstellen. Dies erfordert ein optionales Breitenargument, das standardmäßig verwendet wird, \linewidthwenn 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}

Ausgabe des Codes

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.

B

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

verwandte Informationen