
Я хотел бы иметь возможность использовать пользовательский шрифт 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). Но я не могу понять, какая комбинация даст в результате:
- Шрифт основного текста = News Gothic
sin
= News Gothic (это необязательно; CMU Bright тоже подойдет)\text
в математическом режиме = Новости Готика- Числа, переменные и т. д. в математическом режиме = 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}