小写字母的书法字体

小写字母的书法字体

是否存在一种广泛使用的书法字体,其 (1) 包含小写字母,并且 (2) 具有可识别的书法大写字母 O?

背景. (1)在数学(代数几何)中,可以区分某些结构的“全局”和“层”版本(Ext、Hom……),后者以书法字体书写(捆的标准符号)。然而,大多数书最终将捆排版如下

全局 Ext、层 Ext

从完全不同的字体的斜体中提取小字母。

(2)书法大写字母 O 在代数几何中也扮演着特殊角色,大多数作者坚持认为它是可识别的书法(即不仅仅是一个闭合的圆环)


编辑。以下内容是通过@egreg 和@UlrikeFischer 的答案中的额外字距调整实现的(按时间顺序排列)


@egreg 的回答

\makeatletter
\DeclareFontEncoding{LS1}{}{}
\DeclareFontSubstitution{LS1}{stix}{m}{n}
\DeclareMathAlphabet{\mathcal}{LS1}{stixscr}{m}{n}
\makeatother

\DeclareMathOperator{\sHom}{\mathcal{H\mkern-7mu o\mkern-2.5mu m\mkern-1.5mu}}
\DeclareMathOperator{\sExt}{\mathcal{E\mkern-4.5mu x\mkern-2.5mu t\mkern-1mu}}
\DeclareMathOperator{\sEnd}{\mathcal{E\mkern-4mu n\mkern-4.5mu d\mkern-1mu}}

egreg 的回答


@UlrikeFischer 的回答

\DeclareFontFamily{U}{mathc}{}
\DeclareFontShape{U}{mathc}{m}{it}%
{<->s*[1.03] mathc10}{}
\DeclareMathAlphabet{\mathcal}{U}{mathc}{m}{it}

\DeclareMathOperator{\sHom}{\mathcal{H\mkern-3mu om}}
\DeclareMathOperator{\sExt}{\mathcal{E\mkern-3mu xt}}
\DeclareMathOperator{\sEnd}{\mathcal{E\mkern-3mu nd}}

UlrikeFischer 的回答

答案1

您可以尝试mathc字体( 的一部分)。它并不完美,例如,我可能会在和mathabx之间添加一些负空间,但它有一个明显的 O 和小写字母:Ex

\documentclass{scrbook}
\usepackage{amsmath}
\DeclareFontFamily{U}{mathc}{}
\DeclareFontShape{U}{mathc}{m}{it}%
{<->s*[1.03] mathc10}{}

\DeclareMathAlphabet{\mathscr}{U}{mathc}{m}{it}

\DeclareMathOperator{\Hom}{Hom}
\DeclareMathOperator{\Ext}{Ext}
\DeclareMathOperator{\sHomA}{\mathscr{Hom}}
\DeclareMathOperator{\sExtA}{\mathscr{Ext}}


\begin{document}


\begin{gather*}
\mathscr{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\\
\mathscr{abcdefghijklmnopqrstuvwxyz}\\
\Hom(A,B) \leftrightarrow \sHomA(\mathscr{A},\mathscr{B}) \\
\Ext(A,B) \leftrightarrow \sExtA(\mathscr{A},\mathscr{B}) \\
\end{gather*}

\end{document}

在此处输入图片描述

答案2

STIX 字体具有完整的脚本字母表:

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\DeclareFontEncoding{LS1}{}{}
\DeclareFontSubstitution{LS1}{stix}{m}{n}
\DeclareMathAlphabet{\mathscr}{LS1}{stixscr}{m}{n}
\makeatother

\newcommand{\textscr}[1]{%
  \text{\usefont{LS1}{stixscr}{m}{n}#1}%
}

\DeclareMathOperator{\Hom}{Hom}
\DeclareMathOperator{\Ext}{Ext}
\DeclareMathOperator{\sHom}{\textscr{Hom}}
\DeclareMathOperator{\sExt}{\textscr{Ext}}

\begin{document}

\begin{gather*}
\Hom(A,B) \leftrightarrow \sHom(\mathscr{A},\mathscr{B}) \\
\Ext(A,B) \leftrightarrow \sExt(\mathscr{A},\mathscr{B}) \\
\mathscr{O}
\end{gather*}

\end{document}

在此处输入图片描述

答案3

万一您希望 Hom、Ext 和 End 直立,这里有一个变体。

\documentclass{article}
\usepackage{concmath-otf}

Code taken from https://tex.stackexchange.com/a/63188/128462

\usepackage{luatex85}
\newsavebox{\foobox}
\newcommand{\slantbox}[2][.5]
{%
    \mbox
    {%
        \sbox{\foobox}{#2}%
        \hskip\wd\foobox
        \pdfsave
        \pdfsetmatrix{1 0 #1 1}%
        \llap{\usebox{\foobox}}%
        \pdfrestore
    }%
}

\DeclareMathOperator{\Hom}{Hom}
\DeclareMathOperator{\Ext}{Ext}
\DeclareMathOperator{\End}{Ext}
\DeclareMathOperator{\sHomA}{\slantbox[-0.2]{\(\symcal{H}\)\kern-0.9pt\textit{om}}}
\DeclareMathOperator{\sExtA}{\slantbox[-0.2]{\(\symcal{E}\)\kern-0.7pt\textit{xt}}}
\DeclareMathOperator{\sEndA}{\slantbox[-0.2]{\(\symcal{E}\)\kern-0.8pt\textit{n\hspace{-0.2pt}d}}}

\begin{document}

    \begin{gather*}
        \mathscr{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\\
        \mathscr{abcdefghijklmnopqrstuvwxyz}\\
        \Hom(A,B) \leftrightarrow \sHomA(\mathscr{A},\mathscr{B}) \\
        \Ext(A,B) \leftrightarrow \sExtA(\mathscr{A},\mathscr{B}) \\
        \sExtA(\symscr{F}, \symscr{G}) \qquad \sEndA(\symscr{X})\\
        \symbf{R}^q\sHomA_{\symscr{O}}(F,-) = \sExtA^q_{\symscr{O}}(F,-)\\
        \symbb{R}^q\sHomA_{\symscr{O}}(F,-) = \sExtA^q_{\symscr{O}}(F,-)
    \end{gather*}

\end{document}

具体数学书法

现在,Concrete Math 确实没有小写书法字体,但我认为斜体字体匹配得很好,除了笔划宽度有非常轻微的差异。此外,书法 H 似乎略低于 o 和 m,但我不知道如何解决这个问题。以下是 Libertinus 和 STIX Two 的外观,它们提供小写书法字母。

自由书法

stix 两个书法

相关内容