Estoy usando una clase de examen de látex para preguntas breves que proporcionan líneas para respuestas. Los siguientes códigos de código me brindan líneas de respuestas que abarcan todo el ancho de la página. Quiero controlar el ancho de estas líneas para poder reducirlas según mi elección (1 pulgada, 2 pulgadas, etc.)
\begin{document}
\begin{questions}
\question What is your name? \fillwithlines{3cm}
\end{questions}
\end{document}
Como ejemplo, esto es lo que obtengo con el código existente:
Mientras que quiero algo de lo siguiente:
Agradecería cualquier ayuda al respecto. Gracias
Respuesta1
Como se menciona en los comentarios, utilizar un minipage
entorno es probablemente la solución más sencilla. Si haces esto con frecuencia, puedes crear una minipage
versión del \fillwithlines
comando. Esto requiere un argumento de ancho opcional que se establecerá de forma predeterminada \linewidth
si no se utiliza.
\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}
Respuesta2
Este código reemplaza la longitud cableada de las líneas ( \hsize
) con una longitud personalizada ( \linelength
) que se puede configurar antes de una pregunta.
\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}