我正在使用 pdflatex,我想从包中加载特定字体。例如,我只想使用from的mathfrak
、mathcal
和mathscr
字体(而不使用其他字体)。整个包可以通过以下方式加载stickstoo
newtxmath
\usepackage[stickstoo,vvarbb]{newtxmath}
但这会加载许多其他东西,而不仅仅是那些字体。
以前,我做过类似的事情:通过命令加载 Euler caligraphic 字体
\DeclareMathAlphabet{\eur}{U}{zeus}{m}{n}
\newcommand{\matheur}[1]{\eur{#1}}
我在互联网上找到了它,然后复制粘贴。现在,序列
{U}{zeus}{m}{n}
对我来说这看起来完全是神秘的。所以我想问一下:
- 具体来说,如何实现上述目标(有选择地使用那些字体
newtxmath
)? - 更一般地说,我怎样才能知道该往
\DeclareMathAlphabet
自己身上放什么?
谢谢!
答案1
在 PDFLaTeX 中,使用mathalfa
包来选择单个脚本字母。例如
\usepackage[cal=txupr ,
frak=pxtx ,
scr=pxtx
]{mathalfa}
假设您想要 TX 直立字母表为\mathcal
。如果这些字体的高度不适合您的数学字体,还请提供calscaled=
、frakscaled=
和scrscaled=
。 包选项。
Euler Scriptmathalfa
也可通过软件包获得。如果您不想使用mathalfa
,我建议您通过传统软件包eucal
、euscript
和加载这些字母表eufrak
,它们是 的一部分amsfonts
。(请注意,euscript
和分别eucal
使相同的 Euler Script 字母表可用作\mathscr
或\mathcal
。)与 兼容的 OpenType 版本unicode-math
是 Neo Euler。
选择更传统的数学字母(例如直立、斜体和粗体)的 PDFTeX 兼容方法是isomath
。
借助现代工具链,Asana Math 提供基于 Young Ryupx
字体的数学字母表。(它还包含不同的脚本字母表作为风格替代,因此您可以同时使用\mathcal
和\mathscr
。)TeX Gyre Termes Math 也与 相当相似newtx
。使用unicode-math
,您可以给出以下选项之一:
\setmathfont[Scale = MatchUppercase, range={cal, bfcal, frak, bffrak}]{Asana Math}