Latin Modern Math 没有粗体字体,但有 Unicode 块数学字母数字符号的字形。 \boldmath 可以输出它们吗?

Latin Modern Math 没有粗体字体,但有 Unicode 块数学字母数字符号的字形。 \boldmath 可以输出它们吗?

众所周知,Latin Modern Math 没有独立的粗体字体。如果您使用包加载 Latin Modern Math unicode-math,并尝试使用\boldmath,字体形状将被替换为常规字体。\boldmathunicode-math命令\symbfit&相比,一个最小工作示例\symbfup如下,该命令可根据需要输出粗体 Latin Modern Math:

\documentclass{article}
\usepackage{unicode-math}
\setmathfont{Latin Modern Math}

\begin{document}
  
{\boldmath $a~A~\omega~\Omega$} \par
$\symbfit{a~A~\omega}~\symbfup{\Omega}$

\end{document}

编译器报告:

粗体拉丁现代数学字形来自 Unicode 块数学字母数字符号,如下所示(取自文档unicode-math):

我的问题是:

我可以\boldmath通过输出粗体 Unicode 字符来重新定义使其按预期运行吗?


提前回答“为什么你必须使用\boldmath?”,是因为\boldmath在开始使用之前,我已经在我的文档中用了很多了unicode-math。我的主要用法是:

  1. 章节标题中的数学符号较粗,但以不干扰目录格式的方式实现。
\documentclass{article}

\makeatletter
\g@addto@macro\bfseries{\boldmath}
\makeatother

\begin{document}

\tableofcontents
\section{Bold math in section titles $a~A~\omega~\Omega$}
\subsection{But regular font in ToC $a~A~\omega~\Omega$}

\end{document}

  1. 将所有字符(包括运算符)变为粗体,而不仅仅是字母。
\documentclass{article}
\usepackage{amsmath}

\begin{document}

\boldmath $2\hat{a} + \tilde{b} = \sqrt{\dot{c}}$ \\
\unboldmath $2\hat{a} + \tilde{b} = \sqrt{\dot{c}}$

\end{document}

附言

  1. 如果可能的话,我还计划应用该解决方案\bm
  2. 我开始使用它的原因unicode-math是我想导入一些来自其他字体的字形,比如来自 XITS Math、\mathscrSTIX Two Math、\mathbbTeX Gyre Termes Math 等的积分。我可以通过其他一些方法实现这一点,但我不想不unicode-math战而降。

答案1

我认为这不是一个好主意。只有一小部分数学子集具有粗体版本。最好使用 FakeBold:

\documentclass{article}
\usepackage{amsmath}
\usepackage{unicode-math}
\setmathfont{Latin Modern Math}
\setmathfont{Latin Modern Math}[version=bold,FakeBold={3}]
\begin{document}
$a~A~\omega~\Omega$ $\hat f(t) = \int_0^t \hat f'(x)\, dx$

{\boldmath $a~A~\omega~\Omega$ $\hat f(t) = \int_0^t \hat f'(x)\, dx$} 


\end{document}

在此处输入图片描述

答案2

您可以使用具有这两种粗细的字体。

新计算机现代数学是计算机现代的另一种衍生体,与拉丁现代非常相似,但范围更广,并且有两种粗细。它的书体粗细不是特别粗,但明显比常规粗细要深:

在此处输入图片描述

\documentclass{article}

\usepackage{unicode-math}

\setmathfont{NewCMMath-Regular.otf}
\setmathfont[version=bold]{NewCMMath-Book.otf}


\begin{document}

\[y=\sum f(x)\]

\boldmath

\[y=\sum f(x)\]
\end{document}

相关内容