mainfont と sansfont を設定すると、CMU Bright が数学フォントとして設定解除されます。どうすれば修正できますか?

mainfont と sansfont を設定すると、CMU Bright が数学フォントとして設定解除されます。どうすれば修正できますか?

文書全体でテキストがあるときはどこでもカスタム TTF (News Gothic) をメイン フォントとして使用し、数式には CMU Bright を使用できるようにしたいと考えています。しかし\text、数式モードでは New Gothic を使用する必要があります。ただし、News Gothic をメイン フォントとして使用しようとすると、CMU の数式フォントとしての設定が解除されます。これは、以下の画像で確認できます。 は News  sinGothic で書かれており、 も同様ですABCが、 とxe^{-x}CMU Bright ではなく Computer Modern です。

ここにサンプル ドキュメントがあります。これは xelatex でコンパイルされていますが、luatex のみのソリューションでも問題ありません。pdflatex ではこのようなフォントを処理できないと思いますが、間違っていたらうれしいです。機能するソリューションであれば何でも構いません。

\documentclass{article}

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

\usepackage{cmbright}
\usepackage[T1]{fontenc}

\setmainfont[
Path = /Applications/Microsoft PowerPoint.app/Contents/Resources/DFonts/,
Extension = .ttf,
BoldFont = News Gothic MT Bold,
ItalicFont = News Gothic MT Italic,
BoldItalicFont = News Gothic MT Bold Italic
]
{News Gothic MT}

\setsansfont[
Path = /Applications/Microsoft PowerPoint.app/Contents/Resources/DFonts/,
Extension = .ttf,
BoldFont = News Gothic MT Bold,
ItalicFont = News Gothic MT Italic,
BoldItalicFont = News Gothic MT Bold Italic
]
{News Gothic MT}

\begin{document}

\begin{center}
    This is math:
    \begin{align*}
        \int_{-\infty}^\infty \frac{\sin(x)e^{-x}}{x}\quad\textbf{\textit{ABC}}
    \end{align*}
\end{center}

\end{document}

結果:

ここに画像の説明を入力してください

を削除すると\setmainfont、 もsinComputer Modern になります。 を削除すると\setsansfont、本文フォントと はABC両方とも CMU Bright になります (ただし、sinNews Gothic のままです)。しかし、次のような結果になる組み合わせがわかりません。

  1. 本文フォント = ニュースゴシック
  2. sin= News Gothic(これはオプションです。CMU Brightでも大丈夫です)
  3. \text数式モード = ニュースゴシック
  4. 数式モードでの数値、変数など = CMU Bright

答え1

従来の数学フォントを使用するため、 を読み込まないでくださいunicode-math。もちろん、fontencT1 エンコーディングで読み込まないでください。

\documentclass{article}

\usepackage{mathtools}
\usepackage{fontspec}
\usepackage{cmbright}

%\usepackage[T1]{fontenc}% <--- don't

\setmainfont{News Gothic MT}[
  Path = /Applications/Microsoft PowerPoint.app/Contents/Resources/DFonts/,
  Extension = .ttf,
  ItalicFont = * Italic,
  BoldFont = * Bold,
  BoldItalicFont = * Bold Italic,
]

\setsansfont{News Gothic MT}[
  Path = /Applications/Microsoft PowerPoint.app/Contents/Resources/DFonts/,
  Extension = .ttf,
  ItalicFont = * Italic,
  BoldFont = * Bold,
  BoldItalicFont = * Bold Italic,
]

\begin{document}

This is math:
\begin{equation*}
\int_{-\infty}^\infty \frac{\sin(x)e^{-x}}{x}\quad\textbf{\textit{ABC}}+123
\end{equation*}

\end{document}

ここに画像の説明を入力してください

News Gothic では、少し異なるプリアンブルを使用して演算子名を取得できます。

\documentclass{article}

\usepackage{mathtools}
\usepackage{fontspec}
\usepackage{cmbright}

\setmainfont{News Gothic MT}[
  Path = /Applications/Microsoft PowerPoint.app/Contents/Resources/DFonts/,
  Extension = .ttf,
  ItalicFont = * Italic,
  BoldFont = * Bold,
  BoldItalicFont = * Bold Italic,
  NFSSFamily = ngmt,
]

\setsansfont{News Gothic MT}[
  Path = /Applications/Microsoft PowerPoint.app/Contents/Resources/DFonts/,
  Extension = .ttf,
  ItalicFont = * Italic,
  BoldFont = * Bold,
  BoldItalicFont = * Bold Italic,
]

\DeclareSymbolFont{operators}{TU}{ngmt}{m}{n}
\SetSymbolFont{operators}{bold}{TU}{ngmt}{b}{n}
\DeclareSymbolFont{cmbroperators}{OT1}{cmbr}{m}{n}

\makeatletter
\AtBeginDocument{\DeclareMathSymbol{\std@equal}{\mathrel}{cmbroperators}{`=}}
\makeatother


\begin{document}

\show\Relbar

This is math:
\begin{equation*}
\int_{-\infty}^\infty \frac{\sin(x)e^{-x}}{x}\quad\textbf{\textit{ABC}}+123
\end{equation*}

$\Longrightarrow\longrightarrow$

\end{document}

ここに画像の説明を入力してください

関連情報