この MWE では、文字「H」の太字を取得したいと考えています (2 つの「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
MWE:
\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
(2 回書く必要がありました)。
$\mbox{\bfseries Ge}^{\mbox{\bfseries 76}}$