8

Is there a widely available calligraphic font that (1) contains small (lowercase) letters and (2) has a recognizably calligraphic capital letter O?

Background. (1) In mathematics (algebraic geometry), one distinguishes "global" and "sheaf" versions certain constructions (Ext, Hom, ...), the latter being written in calligraphic script (standard notation for sheaves). However, most books end up typesetting the sheaf as follows

global Ext, sheaf Ext

pulling the small letters from the italics of a completely different font.

(2) The calligraphic capital letter O plays a special role in algebraic geometry, too, and most authors insist on it being recognizably calligraphic (i.e. not just a closed round loop)


Edit. The following are achieved with extra kerning from @egreg's and @UlrikeFischer's answers (in chronological order)


@egreg's answer

\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's answer


@UlrikeFischer's answer

\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's answer

  • 1
    There are lots and lots of options for math-calligraphic and math-script fonts out there. (The screenshot you posted appears to feature the Computer Modern version of math-calligraphic uppercase letters.) I suggest you take a look at the user guide of the mathalfa package to obtain an overview of available fonts -- many of which, happily, do provide lowercase calligraphic letters too. – Mico Jun 6 '17 at 8:54
  • You can take a look my answer to how-to-get-the-lowercase-calligraphic-symbols for three calligraphic typefaces with lowercase letters. – Bernard Jun 6 '17 at 8:58
13

You could try the mathc font (part of mathabx). It is not perfect, e.g. I would probably add a bit negative space between the E and the x but it has a distinct O and lowercases:

\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}

enter image description here

  • Could you explain what the line {<->s*[1.03] mathc10}{} does? I can't exactly google it – RexYuan May 2 at 13:07
  • @RexYuan Don't ping single people in comments like this. Ask a proper new question. – Ulrike Fischer May 2 at 13:13
8

The STIX fonts have a full fledged script alphabet:

\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}

enter image description here

  • 1
    You can get them also with the BOONDOX package, but imho the spacing isn't suitable for "three-letter-variables" – Ulrike Fischer Jun 6 '17 at 9:06
  • Great suggestion by egref...I've seen many of your answers, those are very useful...thanks a lot... – MadyYuvi Jun 6 '17 at 9:14
  • @UlrikeFischer The spacing isn't perfect and the font looks like it isn't meant for writing words, but with extra kerning I think it's a viable alternative (see the update to my question). – Earthliŋ Jun 6 '17 at 16:53
  • the stix fonts should also have a full calligraphic alphabet, which doesn't have the curlicues of the script. the stix script is quite unsuited to be used for "words". – barbara beeton Mar 7 '18 at 19:57
  • @barbarabeeton I fully agree – egreg Mar 7 '18 at 20:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.