Установить отступ по выбору в экзаменационном документеclass

Установить отступ по выбору в экзаменационном документеclass

Я хочу создать вопрос с несколькими вариантами ответов с таким форматом отступа

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

Варианты ответов имеют такой же отступ, как и текст вопроса.

Но, используя examdocumentclass по умолчанию, я получаю этот формат

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

Поэтому я стараюсь настроить \leftmarginсреду 0ptтак choices, чтобы получить то, что я хочу.

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

Но это ни к чему не привело.

Итак, как правильно задать отступ choiceв examdocumentclass?

решение1

В соответствии с разделом 4.10examдокументация, которую, как я полагаю, вы ищете choiceshook, может быть использована следующим образом, например

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

Вот полный MWE-я загрузилgeometryпакет showframe=trueтолько для демонстрации.

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

Для справки, вот цитата из examдокументации

В экзаменационном документе они определяются следующим образом:

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

Таким образом, по умолчанию эти команды не действуют, но вы можете изменить любую из них с помощью команды \renewcommand.

решение2

Попробуйте и посмотрите

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

решение3

  1. найдите файл «exam.cls» в папке Latex.

  2. Открой это,

изменить \settowidth{\leftmargin}{W.\hskip\labelsep\hskip 2.5em}% на \settowidth{\leftmargin}{W.\hskip\labelsep\hskip 0em}%

  1. сохранять.

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