定理标题中的数学字体不是我的自定义字体

定理标题中的数学字体不是我的自定义字体

我使用 XeLaTeX、fontspec 和 unicode-math。当我在定理的标题中放入一些数学公式时,它会使用默认的 Latin Modern 字体排版,而不是设置的自定义字体\setmathfont

请参阅以下 MWE:

%!TeX program = xelatex

\documentclass{article}

\usepackage{fontspec}
\setmainfont{Linux Libertine O}
\setsansfont{Linux Biolinum O}

\usepackage{mathtools}

\RequirePackage{unicode-math}
\setmathfont{Libertinus Math}

\RequirePackage[hyperref,amsmath,thmmarks]{ntheorem}
\theorembodyfont{\normalfont}
\theoremheaderfont{\sffamily\scshape\bfseries}
\theoremstyle{break}
\newtheorem{example}{Example}

\newcommand{\Set}{\mathbf{Set}}

\begin{document}

\begin{example}[monomorphisms in $\Set$]
Some text involving $\Set$.
\end{example}

\end{document}

生成结果:

MWE 的输出

与此相反,我希望在示例标题中出现以下两种行为:

  1. \Set使用我的数学字体 Libertinus Math 排版,就像示例主体中那样。
  2. \Set使用我的无衬线字体排版,以便它适合定理的标题。

有人知道如何解决这个问题吗?提前谢谢大家!

答案1

我建议您使用\symbf(包提供的宏unicode-math)而不是\mathbf

对于以下屏幕截图,我们有\setmathfont{Libertinus Math}。并且,由于没有明确加载文本字体,\mathbf因此采用默认的粗体拉丁现代字形,不是Libertinus Math 字形。相反,\symbf使用粗体 Libertinus Math 字形。

在此处输入图片描述

%!TeX program = lualatex  %% or xelatex
\documentclass{article}

\RequirePackage{unicode-math}
\setmathfont{Libertinus Math}

\begin{document}
$\mathbf{Set}$ $\symbf{Set}$
\end{document}

答案2

大多数情况下,此类问题都是由于 造成的ntheorem;这只是其中一种情况。使用amsthm

%!TeX program = xelatex

\documentclass{article}

\usepackage{mathtools}
\usepackage{fontspec}
\usepackage{unicode-math}
\usepackage{amsthm}

\setmainfont{Linux Libertine O}
\setsansfont{Linux Biolinum O}
\setmathfont{Libertinus Math}

\newtheoremstyle{sfbreak}
  {\topsep}     % ABOVESPACE
  {\topsep}     % BELOWSPACE
  {\normalfont} % BODYFONT
  {0pt}         % INDENT
  {\sffamily\scshape\bfseries} % HEADFONT
  {.}           % HEADPUNCT
  {\newline}    % AFTER HEAD SPACE
  {\thmname{#1}\thmnumber{ #2}\thmnote{ (#3)}} % HEAD SPEC
\theoremstyle{sfbreak}
\newtheorem{example}{Example}

\newcommand{\Set}{\mathbf{Set}}

\begin{document}

\begin{example}[monomorphisms in $\Set$]
Some text involving $\Set$.
\end{example}

$\mathbf{Eff}\neq\symbf{Eff}$

\end{document}

请注意,对于您的使用来说,\mathbf最好\symbf如示例所示:您想要连字符。

在此处输入图片描述

相关内容