我正在尝试创建一个自定义环境,使用它我可以在数学模式下围绕方程的某个部分创建一个框。我尝试使用lrbox
以便能够使用fbox
。不幸的是,使用lrbox
会导致有关各种缺失符号的奇怪错误(删除该fbox
部分会导致完全相同的错误)。
梅威瑟:
% !TeX program = xelatex
\documentclass{article}
\usepackage{mathtools}
% For important formulas
\newsavebox{\formulabox}
\newenvironment{formula}{\begin{lrbox}{\formulabox}}{\end{lrbox}\fbox{\usebox{\formulabox}}}
\begin{document}
\begin{displaymath}
\left.
\begin{array}{lcl}
q & \sim & t\\
q & \sim & I
\end{array}
\right\}
\implies
\begin{formula}
I=\frac{q}{t}
\end{formula}
\end{displaymath}
\end{document}
错误(为简洁起见,删除了插入的解释):
! Missing $ inserted.
<inserted text>
$
l.20 ^^I^^I^^II=\frac{q}{t}
! Extra }, or forgotten $.
\frac #1#2->{\begingroup #1\endgroup \@@over #2}
l.20 ^^I^^I^^II=\frac{q}{t}
! Missing $ inserted.
<inserted text>
$
l.21 ^^I^^I\end{formula}
! Missing } inserted.
<inserted text>
}
l.21 ^^I^^I\end{formula}
期望结果的模型:
我做错了什么?我该如何解决?
答案1
lrbox
就像\mbox
并在文本模式下设置其内容,所以您需要$
回到数学,但使用\boxed
amsmath 的命令(由 mathtools 加载)更简单。
\documentclass{article}
\usepackage{mathtools}
\begin{document}
\begin{displaymath}
\left.
\begin{array}{lcl}
q & \sim & t\\
q & \sim & I
\end{array}
\right\}
\implies
\boxed{
I=\frac{q}{t}
}
\end{displaymath}
\end{document}