Среда Multicols не работает должным образом в среде упражнений

Среда Multicols не работает должным образом в среде упражнений

У меня проблема с использованием multicolsсреды в среде упражнений. Вот мой MWE:

\documentclass[11pt]{exam}

\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{multicol}
\usepackage{ifthen}
\newboolean{firstanswerofthechapter}  
\usepackage{stackengine}
\usepackage{tasks}
\newlength{\longestlabel}
\settowidth{\longestlabel}{\bfseries\sffamily vv}
\settasks{after-item-skip=3pt,%gap for next row
        before-skip=2pt,%gap from the text above    
          after-skip=0pt,%gap for next question
          label-width=20pt,%width from left
          item-indent=25pt,%indent from left
          label=$\EgyptianBlue\bm{(\alph*)}$,
          column-sep=0em, label-align=left}

\usepackage[lastexercise,answerdelayed]{exercise}




\begin{document}

\setcounter{Exercise}{0}

\begin{Exercise}



\Question
\Question
\Question










\end{Exercise}
    
\begin{Answer}



\Question $(a)$

\begin{multicols}{4}
\Question $(a)$
\Question $(a)$
\Question $(a)$
\Question $(a)$
\end{multicols}


\end{Answer}
\setboolean{firstanswerofthechapter}{false}
\shipoutAnswer

\end{document}

В коде нет проблем, если я начинаю Answerenvironment с \Question, однако если я начинаю с \multicolsenvironment (без каких-либо \Questionпредшествующих \multicols), то получаю следующую ошибку:

Extra }, or forgotten \endgroup.
\endmulticols ...le@items \color@endgroup \egroup 
                                                  \balance@columns \return@n...
l.60 \end{multicols}

Мне нужно начать Answerсреду с \multicols. Я также хочу, чтобы ответы печатались слева направо, как

   1.     2.      3.       4.
   5.     6.      7.       8.

Пожалуйста помоги.

решение1

Эта проблема обсуждается в разделе "4 Известные проблемы" документации exercise. Вы можете избежать ошибки, добавив \EndCurrentQuestionперед multicolsокончанием среды:

\documentclass[11pt]{exam}

\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{multicol}
\usepackage{ifthen}
\newboolean{firstanswerofthechapter}  
\usepackage{stackengine}
\usepackage{tasks}
\newlength{\longestlabel}
\settowidth{\longestlabel}{\bfseries\sffamily vv}
\settasks{after-item-skip=3pt,%gap for next row
        before-skip=2pt,%gap from the text above    
          after-skip=0pt,%gap for next question
          label-width=20pt,%width from left
          item-indent=25pt,%indent from left
          label=$\EgyptianBlue\bm{(\alph*)}$,
          column-sep=0em, label-align=left}

\usepackage[lastexercise,answerdelayed]{exercise}




\begin{document}

\setcounter{Exercise}{0}

\begin{Exercise}



\Question
\Question
\Question










\end{Exercise}
    
\begin{Answer}


\begin{multicols}{4}
\Question $(a)$
\Question $(a)$
\Question $(a)$
\Question $(a)$
\EndCurrentQuestion
\end{multicols}


\end{Answer}
\setboolean{firstanswerofthechapter}{false}
\shipoutAnswer

\end{document}

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