用于删除字体变化的宏,返回 KaTeX 中默认字体的数字

用于删除字体变化的宏,返回 KaTeX 中默认字体的数字

所以这个问题解释了为什么\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}

在此处输入图片描述

相关内容