
Я ищу способ переопределить шрифт, который \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
символы разными шрифтами...