Установка mainfont и sansfont отключает CMU Bright как математический шрифт. Как это исправить?

Установка mainfont и sansfont отключает CMU Bright как математический шрифт. Как это исправить?

Я хотел бы иметь возможность использовать пользовательский шрифт TTF (News Gothic) в качестве основного шрифта во всем документе, где встречается текст, и CMU Bright для математики. Но \textвнутри математического режима следует использовать New Gothic. Однако попытка использовать News Gothic в качестве основного шрифта отменяет установку CMU в качестве математического шрифта, что вы можете видеть на изображении ниже —  sinон написан на News Gothic, как и ABC, но xи e^{-x}написаны на Computer Modern вместо CMU Bright.

Вот пример документа. Он был скомпилирован с помощью 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, то sinтакже станет Computer Modern. Если я уберу \setsansfont, то шрифт body и ABCоба станут CMU Bright (но sinостанутся News Gothic). Но я не могу понять, какая комбинация даст в результате:

  1. Шрифт основного текста = News Gothic
  2. sin= News Gothic (это необязательно; CMU Bright тоже подойдет)
  3. \textв математическом режиме = Новости Готика
  4. Числа, переменные и т. д. в математическом режиме = CMU Bright

решение1

Вы хотите использовать устаревшие математические шрифты, поэтому не загружайте unicode-math. И, конечно же, не загружайте fontencс кодировкой T1.

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

введите описание изображения здесь

Связанный контент