是否存在一种广泛使用的书法字体,其 (1) 包含小写字母,并且 (2) 具有可识别的书法大写字母 O?
背景. (1)在数学(代数几何)中,可以区分某些结构的“全局”和“层”版本(Ext、Hom……),后者以书法字体书写(捆的标准符号)。然而,大多数书最终将捆排版如下
从完全不同的字体的斜体中提取小字母。
(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}}
@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}}
答案1
您可以尝试mathc
字体( 的一部分)。它并不完美,例如,我可能会在和mathabx
之间添加一些负空间,但它有一个明显的 O 和小写字母:E
x
\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 的外观,它们提供小写书法字母。