Переопределение математического шрифта

Переопределение математического шрифта

Я ищу способ переопределить шрифт, который \mathcalиспользуется в математическом режиме. Я бы хотел, чтобы любые символы, использующие функцию, \mathcal{}были написаны, например, шрифтом Asana Math, а весь остальной математический текст был написан текстом по умолчанию. Пока что у меня есть:

\documentclass[11pt]{report}

%%%Packages%%%

\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amsfonts}
\usepackage{amsmath}
\usepackage{fontspec}
\usepackage{unicode-math}
%\DeclareMathAlphabet{\mathcal}{OMS}{cmsy}{m}{n}

%\setmathfont{Asana Math}
\let\mathcal=\mathscr

\begin{document}

\begin{equation}
\mathcal{p} = U(x,t)
\end{equation}

\end{document}

как мой MWE.

решение1

При установке шрифта математики с помощью \setmathfont, вы можете использовать rangeопцию, чтобы указать, какой математический алфавит вы хотите изменить, если вы определили основной шрифт математики. Это хорошо работает со unicode-mathшрифтами, но, как сказали другие в комментариях, в большинстве случаев пакет mathalphaдействительно хорош для изменения шрифтов mathcal, mathscr, mathbbи mathfrak.

В следующем примере используется алфавит по умолчанию unicode-math(Latin Modern Math), а затем устанавливается \mathscrшрифт Asana Math.

\documentclass[11pt]{report}

\usepackage{amssymb, amsmath, amsthm}
\usepackage{unicode-math}
\setmathfont{LatinModern-Math.otf}
\setmathfont{Asana-Math.otf}[range=scr]

\begin{document}

\begin{gather*}
ABCDEFGHIJKLMNOPQRSTUVWXYZ \\
abcdefghijklmnopqrstuvwxyz \\
\mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ} \\
\mathcal{abcdefghijklmnopqrstuvwxyz} \\
\mathscr{ABCDEFGHIJKLMNOPQRSTUVWXYZ} \\
\mathscr{abcdefghijklmnopqrstuvwxyz} \\
\mathfrak{ABCDEFGHIJKLMNOPQRSTUVWXYZ} \\
\mathfrak{abcdefghijklmnopqrstuvwxyz}
\end{gather*}

\end{document}

решение2

Попробуйте с \usepackage{eucal}, это сделает \mathcalсимволы разными шрифтами...

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