使用 fontspec 生成 Mathematica 脚本

使用 fontspec 生成 Mathematica 脚本

我正在尝试生成这个特点使用字体规范从 Mathematica 生成。我可以生成一个直立版本,但希望它稍微倾斜以匹配字体。

\documentclass{article}
\usepackage[no-math]{fontspec}
\setmainfont{TeX Gyre Termes}
\usepackage{unicode-math}
\setmathfont{TeX Gyre Termes Math}
\usepackage[cal=txupr]{mathalpha}
%\usepackage[cal=mma]{mathalpha}
\begin{document}
$\mathcal{W}$
\end{document} 

我尝试添加“cal=mma”选项,但没有效果。我该怎么做?

答案1

由于您正在使用unicode-math,因此您需要找到一种字体,其符号版本看起来更符合您的要求。

你可以得到一些字体样本来自文档。例如,如果您认为 STIX Two Math 中的脚本字母看起来更好,则可以添加以下行

\setmathfont{STIX Two Math}[
  range={cal,bfcal},
  Scale=MatchUppercase ]

数学字体有第二个脚本字母表作为样式集或替代方案是相对常见的。Unicode 13.0 只有一个常规粗细的数学脚本字母表,unicode-math用于和\mathcal\mathscr但是,例如,STIX Two 有两个单独的字母表您可以通过风格集加载。

\setmathfont{STIX Two Math} % Includes \mathcal, \mathbfcal
\setmathfont{STIX Two Math}[
   StylisticSet=1,
   range={scr,bfscr} ]

您还可以加载您选择的任何脚本字体来代替数学字体,在这种情况下,您将获得其拉丁字母。例如,

\setmathfont{TeX Gyre Chorus}[
  range=cal, Scale=MatchUppercase]

加载\usepackage[cal=mma]{mathalpha}无法与 一起使用unicode-math,因为unicode-math会在序言完成后重新定义所有数学符号。但是,您可以在 中重新定义符号,\AtBeginDocument以便在运行后获得挂钩unicode-math。即便如此,要使用 Mathematica 字体,您也需要商业软件包。

答案2

简单的解决方案往往是最好的......

\documentclass{article}
\usepackage[no-math]{fontspec}
\setmainfont{TeX Gyre Termes}
\usepackage{unicode-math}
\setmathfont{TeX Gyre Termes Math}
\usepackage[cal=pxtx]{mathalpha}
\begin{document}
$\mathcal{W}$
\end{document} 

字体不一样,但是非常接近。

相关内容