Establecer sangría de elección en la clase de documento del examen

Establecer sangría de elección en la clase de documento del examen

Quiero crear una pregunta de opciones múltiples con este formato de sangría.

1. ########
   A. ###
   B. ###
   C. ###
2. ########
   ########
   A. ###
   B. ###
   C. ###

Las opciones tienen la misma sangría que el texto de la pregunta.

Pero, usando la examclase de documento predeterminada, obtengo este formato.

1. ########
     A. ###
     B. ###
     C. ###
2. ########
   ########
     A. ###
     B. ###
     C. ###

Por lo tanto, trato de configurarlo \leftmargindentro 0ptdel choicesentorno para obtener lo que quiero.

\documentclass{exam}
\begin{document}
\begin{questions}
  \question
  How old are you?
  \begin{choices}
    \setlength{\leftmargin}{0pt}
    \choice 14
    \choice 17
    \choice 19
    \choice 20
    \choice 23
  \end{choices}
\end{questions}
\end{document}

Pero no llega a ninguna parte.

Entonces, ¿cuál es la forma correcta de establecer la sangría choiceen examla clase de documento?

Respuesta1

Siguiendo la Sección 4.10 de laexamdocumentación que creo que está buscando choiceshook, que se puede utilizar de la siguiente manera, por ejemplo

\renewcommand{\questionshook}{%
    \setlength{\leftmargin}{30pt}%
}
\renewcommand{\choiceshook}{%
    \setlength{\leftmargin}{50pt}%
}

Aquí hay un MWE completo: cargué elgeometryPaquete con showframe=truesolo para demostración.

% arara: pdflatex
% !arara: indent: {overwrite: true}
\documentclass{exam}
\usepackage[showframe=true]{geometry}

\renewcommand{\questionshook}{%
    \setlength{\leftmargin}{30pt}%
}
\renewcommand{\choiceshook}{%
    \setlength{\leftmargin}{50pt}%
}
\begin{document}
\begin{questions}
    \question
    How old are you?
    \begin{choices}
        \choice 14
        \choice 17
        \choice 19
        \choice 20
        \choice 23
    \end{choices}
\end{questions}
\end{document}

Como referencia, aquí hay una cita de la examdocumentación.

La clase de documento de examen los define de la siguiente manera:

\newcommand{\questionshook}{} 
\newcommand{\partshook}{}
\newcommand{\subpartshook}{} 
\newcommand{\subsubpartshook}{}
\newcommand{\choiceshook}{} 
\newcommand{\checkboxeshook}{} 

Por lo tanto, el valor predeterminado es que estos comandos no tienen ningún efecto, pero puede cambiar cualquiera de ellos con el comando \renewcommand.

Respuesta2

Prueba esto y mira

\uplevel{
\begin{choices}
    \choice 
    \choice 
    \choice 
    \choice 
\end{choices}}

Respuesta3

  1. busque su "exam.cls" en su carpeta de látex.

  2. abrelo,

cambiar \settowidth{\leftmargin}{W.\hskip\labelsep\hskip 2.5em}% a \settowidth{\leftmargin}{W.\hskip\labelsep\hskip 0em}%

  1. ahorrar.

información relacionada