从 txfonts 导入数学符号

从 txfonts 导入数学符号

我想使用“\mathcal符号”txfonts,但其他方面都使用标准符号。包括包txfonts会更改所有字体,我想避免这种情况。命令

\DeclareSymbolFont{symbols}{OMS}{txsy}{m}{n}

使用 中的所有数学符号txfonts,但我认为它们太粗(而且量化器看起来很丑),尤其是与现代计算机常用的文本字体相比。可能

\DeclareMathAlphabet{\mathcal}{T1}{TX}{m}{n}

应该可以,其中 TX 必须替换为正确的 txfonts 系列名称。哪一个才是正确的?我已经尝试了一些名称,但到目前为止都没有奏效。

答案1

就这么简单:

\documentclass{article}

\DeclareMathAlphabet{\mathcal}{OMS}{ntxsy}{m}{n}   % or txsy
\SetMathAlphabet{\mathcal}{bold}{OMS}{ntxsy}{b}{n} % or txsy

\begin{document}
$x\mathcal{ABCDEF}y$

\boldmath$x\mathcal{ABCDEF}y$
\end{document}

在此处输入图片描述

解释。TX/NewTX 包不会改变基本数学字体设置,其中\mathcal定义为

\DeclareSymbolFontAlphabet{\mathcal}{symbols}

为了不浪费一个数学组。对于您的目的来说,一个新的数学组显然是必要的,所以我们只需要查看newtxmath.sty数学符号字体​​的定义是什么symbols,我们发现

178 \DeclareSymbolFont{symbols}{OMS}{ntxsy}{m}{n}
179 \SetSymbolFont{symbols}{bold}{OMS}{ntxsy}{b}{n}

(添加了行号以供参考)。因此,只需更改\DeclareSymbolFont{symbols}\DeclareMathAlphabet{\mathcal}和即可。\SetSymbolFont{symbols}\SetMathAlphabet{\mathcal}

最好使用 NewTX 提供的字体,因为与旧版 TX 包相比,其指标更加精细,而且与旧版包不同,其字体也得到了积极维护。

答案2

的标准定义\mathcalfontmath.ltx

\DeclareSymbolFontAlphabet{\mathcal}   {symbols}

因此,要使用不同的字体,我们需要做两件事:

  • 定义一个新的符号字体,并赋予其一个独特的名字(因为我们不希望其他所有内容都来自该txfonts symbol字体);
  • 重新定义\mathcal以便它使用新字体。

那么,让我们使用新字体。在 中symbolstx查找 的定义,我们发现:symbolstxfonts.sty

\DeclareSymbolFont{symbols}{OMS}{txsy}{m}{n}
\SetSymbolFont{symbols}{bold}{OMS}{txsy}{bx}{n}

因此,我们只需要调整这些行来指定symbolstx而不是symbols

\DeclareSymbolFont{symbolstx}{OMS}{txsy}{m}{n}
\SetSymbolFont{symbolstx}{bold}{OMS}{txsy}{bx}{n}

然后我们可以\mathcal相应地定义:

\DeclareSymbolFontAlphabet{\mathcal}{symbolstx}

综上所述:

\documentclass{article}

\DeclareSymbolFont{symbolstx}{OMS}{txsy}{m}{n}
\SetSymbolFont{symbolstx}{bold}{OMS}{txsy}{bx}{n}

\DeclareSymbolFontAlphabet{\mathcal}{symbolstx}

\begin{document}

  \[
    \mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ}
  \]

\end{document}

修改书法数学

相关内容