在 breqn 中使用 bm 进行粗体计算会导致编译错误

在 breqn 中使用 bm 进行粗体计算会导致编译错误

结合bm产生breqn以下错误

! TeX capacity exceeded, sorry [input stack size=5000].
\bm@command ->
\mathchar 30049 \bin@break \mathchar 9259 \mathchar 30050 \let...
l.8 \bm{a + b = c}   
!  ==> Fatal error occurred, no output PDF file produced!

仅当我将等号括起来时才会发生这种情况\bm,就像在这个例子中一样

\begin{dmath*}[compact]
\bm{a + b = c}
\end{dmath*}

如果我跳过等号,一切都会顺利进行,就像这里

\begin{dmath*}[compact]
\bm{a + b} = \bm{c}
\end{dmath*}

\bm{=}然而,结果汇编

! TeX capacity exceeded, sorry [input stack size=5000].
\bm@command ->
\let \let \let \let \let \let \let \let \let \let \let \let \l...
l.8 \bm{=}
!  ==> Fatal error occurred, no output PDF file produced!

对于displaymath$$(内联),不存在这样的问题。

pdflatex使用版本编译3.1415926-2.4-1.40.13 (MiKTeX 2.9)

bm不用每次都记得分手就好了。有什么解决办法吗?

答案1

将整个等式加粗:

\documentclass{article}
\usepackage{breqn}

\begin{document}

{\boldmath
\begin{dmath*}[compact]
a + b = c
\end{dmath*}}

\end{document}

对于粗体等号:

\documentclass{article}
\usepackage{amsmath}
\usepackage{breqn}

% if you still need bm package otherwhere
\let\saveboldsymbol\boldsymbol
\usepackage{bm}
\let\boldsymbol\saveboldsymbol

\begin{document}

\begin{dmath*}[compact]
a + b \boldsymbol{=} c
\end{dmath*}

\end{document}

相关内容