Estou usando aulas de exame de látex para perguntas curtas que fornecem linhas para respostas. Os códigos de código a seguir fornecem linhas para respostas que abrangem toda a largura da página. Quero controlar a largura dessas linhas para poder reduzi-las de acordo com minha escolha (1 polegada, 2 polegadas etc.)
\begin{document}
\begin{questions}
\question What is your name? \fillwithlines{3cm}
\end{questions}
\end{document}
Por exemplo, isto é o que obtenho com o código existente:
Considerando que eu quero algo como o seguinte:
Eu apreciaria qualquer ajuda nesse sentido. Obrigado
Responder1
Conforme mencionado nos comentários, usar um minipage
ambiente é provavelmente a solução mais simples. Se você faz muito isso, pode criar uma minipage
versão do \fillwithlines
comando. Isso leva um argumento de largura opcional cujo padrão é \linewidth
se não for usado.
\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}
Responder2
Este código substitui o comprimento fixo das linhas ( \hsize
) por um comprimento personalizado ( \linelength
) que pode ser definido antes de uma pergunta.
\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}