Existe uma maneira correta de colocar `\fillin[]` dentro do ambiente `align` na classe `exam` do LaTeX?

Existe uma maneira correta de colocar `\fillin[]` dentro do ambiente `align` na classe `exam` do LaTeX?

Estou usando \fillin[]o comando na examclasse latex para produzir a seguinte saída:

insira a descrição da imagem aqui

Convert the following angles from degrees to radians:
\begin{questions}
    \begin{multicols}{4}
        \question
        \begin{align*}
            180 \degree 
            &= \fillin[$1$] \pi \\
            &= \fillin[$\frac{1}{2}$] \tau \\
            &\approx \fillin[$3.14159$]
        \end{align*}

        \columnbreak

        \question
        \begin{align*}
            90 \degree
            &= \fillin[$\frac{1}{2}$] \pi \\
            &= \fillin[$\frac{1}{4}$] \tau \\
            &\approx \fillin[$1.57079$]
        \end{align*}

        \columnbreak

        \question
        \begin{align*}
            270 \degree
            &= \fillin[$\frac{3}{2}$] \pi \\
            &= \fillin[$\frac{3}{4}$] \tau \\
            &\approx \fillin[$4.71238$]
        \end{align*}

        \columnbreak

        \question
        \begin{align*}
            360 \degree
            &= \fillin[$2$] \pi \\
            &= \fillin[$1$] \tau \\
            &\approx \fillin[$6.28318$]
        \end{align*}
    \end{multicols}
    \vspace*{\stretch{1}}
\end{questions}

A saída é exatamente como eu esperava. No entanto, estou recebendo vários erros do Overleaf:

insira a descrição da imagem aqui

Suspeito que não seja adequado colocar \fillin[]dentro de um alignambiente. Também tentei remover os cifrões, que normalmente não são permitidos dentro de um alignambiente, mas isso não ajudou e fez com que as frações parassem de ser renderizadas corretamente.

Existe uma maneira adequada de lidar com \fillin[]dentro de um alignambiente?

Além disso, é melhor guardar isso para uma pergunta separada, mas existe uma maneira de criar um \fillin[]comando que funcione fora da examclasse, por exemplo, na kaobookclasse?

Responder1

Estes não são de forma alguma erros. O editor Overleaf é instruído a marcar casos onde há $sinais dentro de um ambiente de exibição matemática conhecido.

O texto que você dá entre colchetes é a resposta correta e \fillinnão “sabe” se está em modo matemático ou não: ele usa seu argumento em modo texto de qualquer maneira.

Você pode evitar ser sinalizado como um “erro” usando

\fillin[\ensuremath{\frac{1}{2}}]

ou definir um alias para um argumento a ser usado no modo matemático.

\documentclass[answers]{exam}
\usepackage{multicol,amsmath}

\NewDocumentCommand{\mathfillin}{oo}{%
  \IfNoValueTF{#1}{\fillin}{%
    \IfNoValueTF{#2}{\fillin[$#1$]}{%
      \fillin[$#1$][#2]%
    }%
  }%
}

% guesses to make the code to compile
\newcommand{\degree}{\ensuremath{^\circ}}
\setlength{\fillinlinelength}{3em}
%%%

\begin{document}

Convert the following angles from degrees to radians:

\begin{questions}
  \begin{multicols}{4}
        \question
        $\begin{aligned}[t]
            180 \degree 
            &= \mathfillin[1] \pi \\
            &= \mathfillin[\frac{1}{2}] \tau \\
            &\approx \mathfillin[3.14159]
        \end{aligned}$

        \question
        $\begin{aligned}[t]
            90 \degree
            &= \mathfillin[\frac{1}{2}] \pi \\
            &= \mathfillin[\frac{1}{4}] \tau \\
            &\approx \mathfillin[1.57079]
        \end{aligned}$

        \question
        $\begin{aligned}[t]
            270 \degree
            &= \mathfillin[\frac{3}{2}] \pi \\
            &= \mathfillin[\frac{3}{4}] \tau \\
            &\approx \mathfillin[4.71238]
        \end{aligned}$

        \question
        $\begin{aligned}[t]
            360 \degree
            &= \mathfillin[2] \pi \\
            &= \mathfillin[1] \tau \\
            &\approx \mathfillin[6.28318]
        \end{aligned}$
    \end{multicols}
    \vspace*{\stretch{1}}
\end{questions}

\end{document}

Por favor, observe que esta align*não é a ferramenta certa para o trabalho: `$\begin{aligned}[t]...\end{aligned}$ é muito melhor.

insira a descrição da imagem aqui

Sem a answersopção:

insira a descrição da imagem aqui

informação relacionada