我正在使用\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
选项: