OpenType bold math

Unfortunately, when using the Unicode engines (XeLaTeX, LuaLaTeX), neither \boldmath nor bm usually work well, because the OpenType math fonts normally used with those engines rarely come with a bold companion, and both \boldmath and bm require this. (The implementation of bm relies on \boldmath, so the requirements are the same.) If you do have a bold math font, though, then \boldmath and bm work fine.

If no such font is available, one alternative is to construct fake bold fonts with the fontspec package’s FakeBold=1 parameter (see its documentation, https://ctan.org/pkg/fontspec). This may be acceptable for drafting or informal distribution, but the results are far from a true bold font.

Another alternative to handling bold for OpenType math fonts is to use the \symbf (bold), \symbfit (bold italic), and related commands from the unicode-math package. These do not change the current font, but rather change the (Unicode) “alphabet” used, which in practice is more widely supported than a separate bold font. Many variations are possible, and so there are subtleties to getting the desired output. As usual, see the package documentation (https://ctan.org/pkg/unicode-math).

Unofficial LaTeX2e reference manual