
\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
字元採用不同的字體...