假设我想使用 编写一个练习列表enumerate
。对于列表中的每个项目,正确答案都位于行末,并写在方括号内。我会这样写:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{enumerate}
\item $2a=4$ \hfill $\left[a=2\right]$
\item $2a=1$ \hfill $\left[a=\frac{1}{2}\right]$
\item $3a=6$ \hfill $\left[a=2\right]$
\end{enumerate}
\end{document}
但是,行尾的方括号没有正确对齐:
我无法弄清楚这种行为的原因:\mathclose{}
在后面添加\right
没有帮助。这不是问题,因为如果我删除设置并手动转到新行,enumerate
问题仍然会出现。enumerate
答案1
发生的事情是,由于您使用了\left
和\right
,所以在分数行上会得到一个稍大(且不同)的右方括号。顺便说一句,每个稍大的括号都会在其周围增加一点空间。因为这实际上是内置在字符设计中的,所以消除它充其量也是一种挑战。很大程度上取决于右边的解决方案是什么样的。\left...\right
如果答案不是特别高,您可以不用括号(例如,简单的分数应该没问题,但\frac{a^2}{b}
看起来可能很奇怪)。也许用颜色代替括号来标记答案会更好?或者将它们放在方框中而不是括号中。无论如何,您都希望将所有内容包装在宏定义中,例如,
\newcommand*[1]\answer{\hfill\fbox{#1}
...
\item $2a=4$ \answer{$a=2$}
这样做的好处是,你可以使用相同的来源来定义无解问题列表
\newcommand*[1]\answer{}