我正在寻找一种方法来重新定义数学模式中使用的字体\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
下面的示例使用 (Latin Modern Math) 使用的默认字母unicode-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
字符采用不同的字体......