私は、\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
: