有大写和小写的书法和脚本字体吗?

有大写和小写的书法和脚本字体吗?

我需要做什么来定义一个\mathscr可以处理大写和小写字母的它可以处理大写和小写,并且后者尽可能\mathcal接近默认值?\mathcal

\usepackage最好使用简单的方法,只使用一行并提供一些选项。我遇到的所有其他解决方案都涉及\newcommandmakeatletter\newenvironment\setmathfont等,但都失败了。

下面boondox是我能得到的最接近现有的\mathcal。请注意,由于某种原因,我的定义scr不支持小写。

XeLaTeX/PdfLaTeX 在这里没有区别。

我浏览了许多与此主题相关的帖子,但没有一篇对我有用。我可能遇到了无法正确安装字体包的问题?这很神秘。

\documentclass{article}
\usepackage{mathrsfs}
\usepackage[scr=rsfs,cal=boondox]{mathalfa}
\begin{document}
    $$\mathscr{abcdefghijklmnopqrstuvwxyz}$$
    $$\mathscr{ABCDEFGHIJKLMNOPQRST}$$
    $$\mathcal{abcdefghijklmnopqrstuvwxyz}$$
    $$\mathcal{ABCDEFGHIJKLMNOPQRST}$$
\end{document}

在此处输入图片描述

更新:这可能只是字体的问题rsfs。将usepackage上面的代码替换为

\usepackage[scr=esstix,cal=boondox]{mathalfa} 

为所有四行生成结果。我更喜欢rsfs字体 ,esstix也更喜欢 默认\mathcal字体boondox。但如果没有人有其他解决方案,那么我可能只需要采用这个。

答案1

unicode-math软件包支持 OpenType 数学字体,所有字体都有小写脚本字母(以及粗体)。

\mathcal默认情况下,该包会加载与和相同的字体\mathscr,但您可以使用\setmathfont[range={cal,bfcal}, Scale=MatchUppercase]{...}或覆盖它\setmathfont[range={scr,bfscr}, Scale=MatchUppercase]{...}

\documentclass{article}
\usepackage{unicode-math}
% So that the output fits the allowed width on TeX.SX:
\usepackage[paperwidth=10cm]{geometry}

\setmathfont{STIX Two Math}
% Unicode uses the same range for `\mathcal` and `\mathscr` letters, but the
% STIX Two font provides a separate script alphabet as Stylistic Set 01.
\setmathfont[range={scr,bfscr}, StylisticSet=1]{STIX Two Math}

\begin{document}
    \[\mathscr{abcdefghijklmnopqrstuvwxyz}\]
    \[\mathscr{ABCDEFGHIJKLMNOPQRST}\]
    \[\mathcal{abcdefghijklmnopqrstuvwxyz}\]
    \[\mathcal{ABCDEFGHIJKLMNOPQRST}\]
\end{document}

STIX Two 字体示例

其他一些 OpenType 数学字体带有单独的\mathcal字母\mathscr,包括 XITS Math 和 Asana Math。不过,您可以随意混合搭配。例如,您可以添加

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

或者

\setmathfont[range={scr,bfscr},
             Scale=MatchUppercase,
             StylisticSet=1
            ]{STIX Two Math}

在另一个文档中使用上述脚本或书法字母。

有一些传统的 NFSS 数学脚本字体带有小写字母。例如,stix2-mathscr有,但stix2-mathcal没有。mathalfa如果存在小写字母,该包应该能够加载它;您不需要同时加载mathalfa和诸如 之类的包mathrsfs

相关内容