\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}}$

相關內容