在 \savebox 中显示数学运算?

在 \savebox 中显示数学运算?

根据标题,我正在尝试利用保存框中的显示数学来获取显示数学的宽度:

\documentclass{minimal}

\newsavebox{\mybox}
\sbox{\mybox}{\[ 2 + 2 \]}

\begin{document}
    \usebox{\mybox}
\end{document}

但是,此操作失败,并显示“错误的数学环境分隔符”。该如何解决?在这里使用保存框是否错误?

为了获得更多背景信息,我正在尝试自动计算 displaymath 的宽度,以计算displaymath 所需的subtable(来自包的)宽度。subcaptionarray

谢谢大家。

答案1

显示数学像一个段落总是全宽(\hsize)所以要存储在一个盒子里,你需要使用一个\parbox,这样它才能容纳垂直材料

\sbox{\mybox}{\parbox{4cm}{\[ 2 + 2 \]}}

可以工作但对于测量宽度的意图没有任何用处,因为它是预先已知的 parbox 的宽度 4cm。

您可以做的是测量数学的自然宽度,并将其设置为显示样式中的内联数学

\sbox{\mybox}{$\displaystyle 2 + 2 $}

相关内容