是否有正确的方法将 `\fillin[]` 放入 LaTeX `exam` 类中的 `align` 环境内?

是否有正确的方法将 `\fillin[]` 放入 LaTeX `exam` 类中的 `align` 环境内?

我正在使用\fillin[]Latexexam类中的命令来产生以下输出:

在此处输入图片描述

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}

输出结果确实和我期望的完全一样。但是,我从 Overleaf 中得到了几个错误:

在此处输入图片描述

\fillin[]我怀疑将其放入环境中并不合适align。我还尝试删除美元符号,因为美元符号通常不允许放在环境中align,但这没有帮助,并导致分数无法正确渲染。

有没有适当的方法来处理\fillin[]内部align环境?

此外,这可能最好保存为单独的问题,但是有没有办法制作一个\fillin[]在课堂之外起作用的命令exam,例如在kaobook课堂上?

答案1

这些绝不是错误。Overleaf 编辑器被指示标记$已知数学显示环境中有符号的情况。

您在括号中给出的文本是正确答案,并且\fillin“不知道”它是否处于数学模式:无论如何它都会在文本模式下使用其参​​数。

你可以使用以下方法避免收到“错误”信号

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

或为数学模式中使用的参数定义别名。

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

请注意,这align*不是适合这项工作的工具:`$\begin{aligned}[t]...\end{aligned}$ 要好得多。

在此处输入图片描述

answers选项:

在此处输入图片描述

相关内容