Defina o recuo de escolha na classe de documentos do exame

Defina o recuo de escolha na classe de documentos do exame

Quero criar uma pergunta de múltipla escolha com este formato de recuo

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

As opções possuem o mesmo recuo do texto da pergunta.

Mas, usando a examdocumentclass padrão, obtenho este formato

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

Por isso, tento definir o \leftmarginto 0ptdentro do choicesambiente para conseguir o que quero.

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

Mas, não leva a lugar nenhum.

Então, qual é a maneira correta de definir o recuo choicena examdocumentclass?

Responder1

Seguindo a Seção 4.10 doexamdocumentação, acredito que você esteja procurando choiceshook, que pode ser usada da seguinte forma, por exemplo

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

Aqui está um MWE completo - carreguei ogeometrypacote com showframe=trueapenas para demonstração.

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

Para referência, aqui está uma citação da examdocumentação

A classe do documento do exame os define da seguinte forma:

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

Assim, o padrão é que esses comandos não tenham efeito, mas você pode alterar qualquer um deles com um comando \renewcommand.

Responder2

Experimente isso e veja

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

Responder3

  1. encontre seu "exam.cls" na sua pasta latex.

  2. abra,

mudar \settowidth{\leftmargin}{W.\hskip\labelsep\hskip 2.5em}% para \settowidth{\leftmargin}{W.\hskip\labelsep\hskip 0em}%

  1. salvar.

informação relacionada