![bm 包不起作用](https://linux22.com/image/337170/bm%20%E5%8C%85%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我正在使用 lualatex 0.95 和最新的 bm 包。在更新 lualatex 之前,我总是可以使用,\bm{}
但现在我不能再使用它了。
编译似乎没有问题。
这是代码。
\documentclass{ltjarticle}
\usepackage{luatexja}
\usepackage{bm}
\begin{document}
\bm{a}
\end{document}
我怎么解决这个问题?
其他人也有同样的问题。
日语论坛 http://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=1947
StackExchange Lualatex 和 bm 包
StackExchange \bm 和 LuaLaTeX 的问题
先感谢您。
答案1
抱歉,我之前修复了这个问题,但似乎我从未将修复推送到公共发行版。您可以扩展测试以了解 luatex,如下所示。
\documentclass{ltjarticle}
\usepackage{luatexja}
\usepackage{bm}
\makeatletter
\def\bm@test@token#1{%
\let\bm@next\@empty
\ifx#1\@@end
\else\ifx#1\mathchoice
\let\bm@next\bm@mathchoice
\else\ifx#1\mathchar
\afterassignment\bm@mathchar\count@
\else\ifx#1\mathaccent
\afterassignment\bm@mathaccent\count@
\else\ifx#1\delimiter
\afterassignment\bm@delimiter\count@
\else\ifx#1\radical
\afterassignment\bm@radical\count@
\else\ifx#1\mkern
\bm@register#1{\muskip\z@}%
\else\ifx#1\kern
\bm@register#1\skip@
\else\ifx#1\penalty
\bm@register#1\count@
\else\ifx#1\unvcopy
\let\bm@next\bm@add
\else\ifcat\noexpand#1\relax
\xdef\meaning@{\meaning#1}%
\expandafter\bm@mchar@test\meaning@""""\@nil#1%
\else\ifcat.\ifcat a#1.\else#1\fi
\count@\mathcode`#1\relax
\ifnum\count@=\mathcode`\'%
\begingroup\uccode`\~`#1\uppercase{\endgroup
\def\bm@next{\bm@expand~}}%
\else
\ifx\bm@previous\left
\count@\delcode`#1\relax
\bm@delimiter
\else
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifnum\count@>"8000
\Umathcharnumdef\@tempa\count@
\xdef\meaning@{\meaning\@tempa}%
\expandafter\bm@mchar@test\meaning@""""\@nil\@tempa
\else
\bm@mathchar
\fi
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\fi
\fi
\else
\bm@add{#1}%
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
\bm@next}
\makeatother
\begin{document}
$a+\bm{a}$
\end{document}