![\ThisStyle、\SavedStyle 和 \bm](https://linux22.com/image/320977/%5CThisStyle%E3%80%81%5CSavedStyle%20%E5%92%8C%20%5Cbm.png)
我认为这是如何捕捉当前的数学风格?。
在此 MWE 中,\bm{\testbox}
在之后使用时有效\testbox
。但它本身不起作用(注释行):
\documentclass{article}
\usepackage{scalerel,bm}
\newcommand{\testbox}{\ThisStyle{\mbox{$\SavedStyle X$}}}
\begin{document}
$\testbox \bm{\testbox}$
% $\bm{\testbox}$
\end{document}
错误是:
! Undefined control sequence.
\ThisStyle #1->\ifmmode \def \@mmode
{T}\mathchoice {\edef \m@switch {D}\LMe...
l.6 $\bm{\testbox}
我究竟做错了什么?
编辑:我发现这是有效的:
$\ThisStyle{\@gobble\SavedStyle} \bm{\testbox}$
但我不知道为什么:)
答案1
在这个广受好评的答案中,\bm 包与 \boldsymbolPhilippe 指出,有时由于方式的\bm
定义,它需要在其参数周围添加一组额外的括号。因此,
\documentclass{article}
\usepackage{scalerel,bm}
\newcommand{\testbox}{\ThisStyle{\mbox{$\SavedStyle X$}}}
\begin{document}
$\testbox \bm{\testbox}$
$\scriptstyle\bm{{\testbox}}$
\end{document}
产生所需的结果。