使用 newtxmath 的无衬线粗体数学符号

使用 newtxmath 的无衬线粗体数学符号

我正在写一篇文章,其中的数学字体需要为 Times New Roman。为此,我正在使用这个newtxmath包。但是,它似乎不支持数学模式下的无衬线粗体。

通常我可以写

\documentclass{article}

\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{amsfonts}

\begin{document}

Sans serif, no bold: $\mathsf{A}, \mathsf{\Omega}$

Sans serif, bold: $\boldsymbol{\mathsf{A}}, \boldsymbol{\mathsf{\Omega}}$

\end{document}

产生

正确输出,没有 newtxmath

然而,当newtxmath包括

\documentclass{article}

\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{newtxmath}

\begin{document}

Sans serif, no bold: $\mathsf{A}, \mathsf{\Omega}$

Sans serif, bold: $\boldsymbol{\mathsf{A}}, \boldsymbol{\mathsf{\Omega}}$

\end{document}

一个人

newtxmath 输出错误

有没有什么解决方法?使用mathptmx并不是最好的选择,因为我还需要 中自动提供的直立希腊符号newtxmath

答案1

您还应该newtxtext为文本字体加载 。还应对 进行小幅修正\mathsf{\Omega}。还应加载,它比提供的bm标准版本更好。您还可以使用代替。\boldsymbolamsmath\bm\boldsymbol

\documentclass{article}

\usepackage{amsmath}
\usepackage{bm}
\usepackage{newtxtext,newtxmath}

\DeclareMathAlphabet{\mathsf}{OT1}{\sfdefault}{m}{n}
\SetMathAlphabet{\mathsf}{bold}{OT1}{\sfdefault}{b}{n}


\begin{document}

Sans serif, no bold: $\mathsf{A}, \mathsf{\Omega}$

Sans serif, bold: $\boldsymbol{\mathsf{A}}, \boldsymbol{\mathsf{\Omega}}$

\end{document}

在此处输入图片描述

相关内容