Класс экзамена по латексу: ширина линии для ответов

Класс экзамена по латексу: ширина линии для ответов

Я использую latex exam class для коротких вопросов, которые предоставляют строки для ответов. Следующие коды кодов дают мне строки для ответов, которые охватывают всю ширину страницы. Я хочу контролировать ширину этих строк, чтобы я мог уменьшить их по своему выбору (1 дюйм, 2 дюйма и т. д.)

\begin{document}
\begin{questions}
\question What is your name? \fillwithlines{3cm}
\end{questions}
\end{document}

В качестве примера, вот что я получаю с существующим кодом:

введите описание изображения здесь

А я хочу что-то следующее: введите описание изображения здесь

Я был бы признателен за любую помощь в этом отношении. Спасибо

решение1

Как упоминалось в комментариях, использование minipageокружения, вероятно, является самым простым решением. Если вы делаете это часто, вы можете создать minipageверсию команды \fillwithlines. Она принимает необязательный аргумент ширины, который по умолчанию принимает значение , \linewidthесли не используется.

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

вывод кода

решение2

Этот код заменяет фиксированную длину строк ( \hsize) на пользовательскую длину ( \linelength), которую можно задать перед вопросом.

б

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

Связанный контент