所以这个问题解释了为什么\mathnormal
实际上没有以默认字体返回数字,但没有提供实现这一点的任何解决方案。
我正在使用 KaTeX,并且有一组用于加粗和着色符号的宏,但希望能够定义一个\unstyle
免除部分表达式的宏。例如,如果\blue{}
适用\boldsymbol
于其{\color{blue}}
参数,我希望能够编写类似以下内容的代码:
\blue{x^3 + 2x \unstyle{+ x} - 12}
这样,除了“+ x”之外的所有内容都在boldsymbol
并且colour{blue}
“+ x”在默认值(“正常”数学)中。
注意: 双重调用\blue
,例如:
\blue{x^3 + 2x} + x \blue{- 12}
并不能解决问题,因为它破坏了+
和-
运算符的渲染:
关于如何实现这一点,有什么建议吗?我尝试过 字体选项在 KaTeX 上可用;但是,解决数字问题的那些会改变字母的字体,反之亦然。我很惊讶没有实际的“normalmath”(即defaultmath
)选项。
任何建议将不胜感激。
答案1
\newcommand\unstyle[1]{\textcolor{normalcolor}{#1}}
$\blue{x^3 + 2x \unstyle{+ x} - 12}$
$x^3+2x+x-12$
当然,这在标准 LaTeX 中不起作用,但可以进行调整。
\documentclass{article}
\usepackage{xcolor}
\newcommand{\blue}[1]{\textcolor{blue}{#1}}
\newcommand{\unstyle}[1]{\begingroup\normalcolor#1\endgroup}
\begin{document}
$\blue{x^3 + 2x \unstyle{+ x} - 12}$
$x^3+2x+x-12$
\end{document}