
Estou procurando uma maneira de redefinir a fonte \mathcal
usada no modo matemático. Gostaria que todos os caracteres que usam a \mathcal{}
função fossem escritos, por exemplo, na fonte Asana Math, e todos os outros textos matemáticos fossem escritos no texto padrão. Até agora, eu tenho:
\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}
como meu MWE.
Responder1
Ao definir uma fonte matemática com \setmathfont
, você pode usar a range
opção para especificar qual alfabeto matemático deseja alterar, desde que tenha definido uma fonte matemática principal. Isso funciona bem com unicode-math
fontes, mas como outros disseram nos comentários, na maioria dos casos o pacote mathalpha
é realmente bom para alterar , mathcal
e fontes .mathscr
mathbb
mathfrak
O exemplo a seguir usa o alfabeto padrão usado por unicode-math
(Latin Modern Math) e depois define a \mathscr
fonte como 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}
Responder2
Tente com \usepackage{eucal}
, isso faz com que os \mathcal
caracteres fiquem em fontes diferentes...