lrbox 在数学模式下不起作用

lrbox 在数学模式下不起作用

我正在尝试创建一个自定义环境,使用它我可以在数学模式下围绕方程的某个部分创建一个框。我尝试使用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并在文本模式下设置其内容,所以您需要$回到数学,但使用\boxedamsmath 的命令(由 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}

相关内容