Gibt es eine richtige Möglichkeit, `\fillin[]` in die `align`-Umgebung in der LaTeX-`exam`-Klasse einzufügen?

Gibt es eine richtige Möglichkeit, `\fillin[]` in die `align`-Umgebung in der LaTeX-`exam`-Klasse einzufügen?

Ich verwende \fillin[]den Befehl in der Latex- examKlasse, um die folgende Ausgabe zu erzeugen:

Bildbeschreibung hier eingeben

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}

Die Ausgabe ist eigentlich genau so, wie ich es mir erhofft hatte. Allerdings erhalte ich mehrere Fehlermeldungen von Overleaf:

Bildbeschreibung hier eingeben

\fillin[]Ich vermute, dass es nicht richtig ist , es in eine Umgebung einzufügen align. Ich habe auch versucht, die Dollarzeichen zu entfernen, die normalerweise in einer alignUmgebung nicht zulässig sind, aber das hat nicht geholfen und dazu geführt, dass die Brüche nicht mehr richtig dargestellt wurden.

\fillin[]Gibt es eine geeignete Möglichkeit, innerhalb einer alignUmgebung damit umzugehen ?

Darüber hinaus sollte dies möglicherweise besser für eine separate Frage gespeichert werden, aber gibt es eine Möglichkeit, einen \fillin[]Befehl zu erstellen, der außerhalb der examKlasse funktioniert, z. B. in der kaobookKlasse?

Antwort1

Dies sind keinesfalls Fehler. Der Overleaf-Editor ist angewiesen, Fälle zu markieren, in denen $Zeichen innerhalb einer bekannten mathematischen Anzeigeumgebung vorkommen.

Der Text, den Sie in Klammern eingeben, ist die richtige Antwort und \fillin„weiß“ nicht, ob er sich im Mathematikmodus befindet oder nicht: Er verwendet sein Argument trotzdem im Textmodus.

Sie können die Meldung „Fehler“ vermeiden, indem Sie

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

oder Definieren eines Alias ​​für ein Argument, das im Mathematikmodus verwendet werden soll.

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

Bitte beachten Sie, dass dies align*nicht das richtige Werkzeug für diese Aufgabe ist: `$\begin{aligned}[t]...\end{aligned}$ ist viel besser.

Bildbeschreibung hier eingeben

Ohne die answersOption:

Bildbeschreibung hier eingeben

verwandte Informationen