\mathbf 命令的问题

\mathbf 命令的问题

在这个 MWE 中,我想要获得字母“H”的粗体字母(比较两个“H”):

\documentclass[10 pt]{beamer}
\usetheme{default}
\usepackage{lmodern} % load a font with all the characters
\usepackage{fontspec}
\usepackage{cmbright}
\SetSymbolFont{largesymbols}{normal}{OMX}{iwona}{m}{n}
\usepackage{amsmath}%loads amsmath that should go before unicode-math
\usefonttheme{professionalfonts}
\defaultfontfeatures{Mapping=tex-text}  % This seems to be important for mapping glyphs properly

\begin{document}
\begin{frame}
\[
\mbox{First bold H : }\|x\|_{\mathbf{H}},\; \mbox{Second bold H : }\mathbf{H} 
\]
\end{frame}
\end{document}

但我不知道怎么做。这个 MWE 产生的“H”很小,但没有粗体效果。如果我使用

\SetSymbolFont{largesymbols}{normal}{OMX}{iwona}{m}{n}

我得到了粗体小“H”,但使用的字体仍然不一样。

答案1

对于 10pt 以下的尺寸,cmbright 包会将粗体字体(不存在)子集化,并使用正常粗细。您可以通过在 cmbright 后面添加以下代码来更改此设置:

\usepackage{cmbright}
\fontencoding{OT1}\fontfamily{cmbr}\selectfont %to load ot1cmbr.fd
\DeclareFontShape{OT1}{cmbr}{bx}{n}{% change bx definition
<->cmbrbx10%
}{}
\normalfont % back to normalfont

答案2

您可以简单地加载unicode-math

梅威瑟:

\documentclass[10 pt]{beamer}
\usetheme{default}
\usepackage{lmodern} % load a font with all the characters
\usepackage{fontspec}
\usepackage{amsmath}%loads amsmath that should go before unicode-math
\usepackage{unicode-math}
\usepackage{cmbright}
\SetSymbolFont{largesymbols}{normal}{OMX}{iwona}{m}{n}
\usefonttheme{professionalfonts}
\defaultfontfeatures{Mapping=tex-text}  % This seems to be important for mapping glyphs properly

\begin{document}
\begin{frame}
\[
\|x\|_{\mathbf{H}}
\]
\end{frame}
\end{document} 

在此处输入图片描述

答案3

我遇到了类似的问题。unicode-math@karlkoeller 提出的方法对我来说不起作用,因为我使用pdflatex

我有一个带上标的单词。我设法使它们既加粗mbox又显示普通文本bfseries(需要写两次)。

$\mbox{\bfseries Ge}^{\mbox{\bfseries 76}}$

相关内容