89

The standard font used for \mathcal does not include any lowercase characters. The Comprehensive LaTeX Symbols List suggests redefining \mathcal to use Zapf Chancery. However I do not particularly like that font. For example the uppercase "I" is very hard do distinguish from the non-mathcal "I". Are there any good alternatives?

6
  • 1
    Why do you want lowercase calligraphic letters in mathematics? Aug 11, 2010 at 20:45
  • @Jonathan: see my answer to your "solution" below.
    – Caramdir
    Aug 11, 2010 at 20:52
  • 2
    I'm looking for lower case calligraphy because it's used to denote lines in Birkhoff, George David (1932) \href{jstor.org/stable/1968336}{ ``A Set of Postulates for Plane Geometry (Based on Scale and Protractors),''} {\it Annals of Mathematics}, Second Series, (Apr., 1932), pp. 329-345.
    – user10834
    Jan 16, 2012 at 5:26
  • @EricRasmusen Welcome to TeX.sx! I converted the non-answer to a comment to the question, because the area below is for actual answers.
    – Stefan Kottwitz
    Jan 16, 2012 at 8:23
  • 1
    @user10834 : The article of Birkhoff your referring to uses lower case italics to denote lines, not lowercase calligraphy. Oct 29, 2014 at 16:51

6 Answers 6

30

I'm a bit surprised that Will Robertson hasn't dropped by and mentioned the STIX fonts as these have the lowercase calligraphic (and lowercase blackboard bold) glyphs.

There doesn't yet seem to be a simple LaTeX package available mapping all the glyphs to particular commands, though. The stix package on CTAN at present seems to be just a copy of the fonts themselves (reorganised into correct texmf tree layout) but no style files as yet. I recall reading on the STIX website that LaTeX-related stuff was intended, but given how long it took the fonts to be released, I'm not holding my breath!


As of 2018, this is now quite easy using luatex or xetex:

\documentclass{article}
%\url{https://tex.stackexchange.com/q/479/86}
\usepackage{amsmath}
\usepackage{fontspec}
\usepackage{unicode-math}
\setmainfont{TeX Gyre Pagella}

% Any of the following work, and probably many more
%\setmathfont{TeX Gyre Pagella Math}
%\setmathfont{TeX Gyre Termes Math}
%\setmathfont{STIX}
\setmathfont{Asana Math}

\begin{document}
\begin{gather*}
{ABCDEFGHIJKLMNOPQRSTUVWXYZ} \\
{abcdefghijklmnopqrstuvwxyz} \\
\mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ} \\
\mathcal{abcdefghijklmnopqrstuvwxyz} \\
\mathscr{ABCDEFGHIJKLMNOPQRSTUVWXYZ} \\
\mathscr{abcdefghijklmnopqrstuvwxyz} \\
\mathbb{ABCDEFGHIJKLMNOPQRSTUVWXYZ} \\
\mathbb{abcdefghijklmnopqrstuvwxyz} \\
\end{gather*}
\end{document}

As pointed out in the comments, you need to use \mathscr (or \let\mathcal=\mathscr).

Various maths fonts

11
  • 3
    No, I deleted my incorrect answer to look at mathrsfs. They don't have lowercase when I thought they did. 8-bit LaTeX for the STIX fonts is indeed intended for their 1.2 release (1.1 is OpenType math, which will then supersede — mostly — the XITS Math font). And you can use the XITS Math font with unicode-math right now, but that requires a relatively radical change to how you might compile your document. So no good answer from me right now :) Jul 30, 2010 at 16:37
  • I accepted this solution because that is what I will try for the notes I'm currently typing. (Note that \mathscr needs to be used instead of \mathcal to produce lowercase letters.)
    – Caramdir
    Aug 2, 2010 at 18:18
  • From the STIX website: “Development is currently underway for the next release of the STIX fonts which will include support for LaTeX. We expect the release date to be no later than July 2012.”
    – Caramdir
    May 26, 2012 at 21:50
  • 2
    @PeterLeFanuLumsdaine: \usepackage{unicode-math}\setmathfont{xits-math.otf} and compile with lualatex or xelatex.
    – Caramdir
    Oct 3, 2012 at 0:20
  • 1
    @einpoklum Nevertheless, I've added code that works as of now. Mar 26, 2018 at 20:58
32

A lowercase L can be done with \ell. But this seems to be the only lowercase letter that is included without loading any packages.

3
  • 6
    The 'calligraphic' lowercase L is an ordinary lowercase L written in a way that reduces confusion with the number 1. Typographically it is calligraphic but mathematically it is not. Aug 11, 2010 at 20:44
  • 3
    @Jonathan Fine This solves the mystery of this sole lowercase letter. Thanks.
    – h0b0
    Aug 12, 2010 at 15:04
  • 1
    I found this question specifically because I didn't like the default 'l', so it was great to see this answer.
    – Kuba
    Jan 5, 2019 at 1:26
16

The font package boondoxo has both lowercase and uppercase calligraphic math symbols, as well as their bold versions. You may load it by \usepackage[cal=boondoxo]{mathalfa}, and see whether you like it.

2
  • It would be nice to have just the lowercase set by this font, and the upper case be the standard cal letters
    – relG
    Aug 18, 2021 at 14:24
  • @relG This strange business is possible in xelatex with some tricks, might be as well in latex. However, the results will not be desirable. You really need to use the same typeface for both upper and lower case letters of the same family.
    – Aydin
    Aug 19, 2021 at 9:27
9

symbols suggests using the calligra package as an alternative to Zapf Chancery. Put

\DeclareMathAlphabet{\mathcalligra}{T1}{calligra}{m}{n}

in the document’s preamble to use \mathcalligra for calligraphic symbols in the Calligra font.

/EDIT: To be honest, I’m not thrilled by the result, and I expect you won’t be either. Still, I’ll leave this here. Perhaps someone can profit from it.

3
  • 1
    When scaled correctly it is not bad, but quite a bit more "curly" than the default \mathcal.
    – Caramdir
    Aug 2, 2010 at 18:15
  • 1
    I put \usepackage{calligra} \DeclareMathAlphabet{\mathcalligra}{T1}{calligra}{m}{n} in my preamble. then wrote $\mathcalligra{r} $. Upon compilation, I received, "! Font T1/calligra/m/n/10=callig15 at 14.40002pt not loadable: Metric (TFM) file not found." Jan 1, 2021 at 6:51
  • 1
    @MichaelLevy The Comprehensive LaTeX Symbol List has a useful comment on this approach below the Table Math Alphabets (Table 316 at the time of writing). Jun 18, 2022 at 14:32
6

Two solutions that work in standard LaTeX, unlike above.

Solution 1: dutchcal = very calligraphic letters. Add this line to the preamble:

\usepackage{dutchcal} % \mathcal: also small letters. \mathbcal = bold ones. 

Very calligraphic (just c,o not clearly non-normal, but the meaning of FIJQTZnrswz may be unclear to reader, as they are so non-normal, unless guessable from the context). Usage:

$\mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ} \\\ 
\mathcal{abcdefghijklmnopqrstuvwxyz} \\\\ 
\mathbcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ} \\\ 
\mathbcal{abcdefghijklmnopqrstuvwxyz}$

Screenshot of output for the above code.

Solution 2: pzccal = only somewhat calligraphic. I,O & some lowercase letters not clearly nonnormal unless next to their normal peers:

\usepackage{pzccal} % \mathpzc (alternate mathcal): also lowercase.
\DeclareFontFamily{OT1}{pzc}{}
\DeclareFontShape{OT1}{pzc}{m}{it}{<-> s * [1.10] pzcmi7t}{}
\DeclareMathAlphabet{\mathpzc}{OT1}{pzc}{m}{it}

Usage:

$\mathpzc{ABCDEFGHIJKLMNOPQRSTUVWXYZ} \\ \mathpzc{abcdefghijklmnopqrstuvwxyz}$

Screenshot of output for the above code.

I'd go with solution 1 if the clarity seems sufficient from the context, else solution 2.

Found here: https://latex.org/forum/viewtopic.php?t=29074

3
-10

Think about meaning. Mathematical symbols are symbols used by mathematicians to carry a particular meaning (which may depend on the subject area). Unicode takes that point of view (more-or-less) by giving each distinct mathematical symbol its own code point.

Typographically, a calligraphic F is an 'F' in a particular font, but mathematically it is mathematical symbol with its own meaning. Ordinarily Unicode does not care about the font, but for math symbols it does.

In my experience, mathematicians don't use lower-case calligraphic symbols, and as far as I know there are no Unicode code points for them. Put another way, Knuth did not create lower-case mathematical calligraphic letters because mathematicians don't use them.

As a mathematician, I don't see a sufficiently good reason to start using them.

11
  • 13
    Algebraic geometers are usually using curly letters to denote sheaves. And there is a definition of Hom(F,G) of sheaves of homomorphisms between sheaves. So "Hom" should be curly to distinguish it from the ordinary Hom-set in the category of sheaves. Similarly e.g. for curly "Ext".
    – Caramdir
    Aug 11, 2010 at 20:48
  • 2
    @Caramdir: Harthorne's Algebraic Geometry (p 67) uses "Hom" with a calligraphic "H" and italic "om" for this concept. The recent Bull. AMS. survey on Perverse Sheaves (de Cataldo and Migliorini) uses uppercase math italic letters for sheaves. Aug 12, 2010 at 5:20
  • 15
    @Jonathan: I know what Hartshorne (and other people) use. But this is a chicken-and-egg problem: As long as there are no lowercase calligraphic letters available nobody will use them. (And in my opinion calligraphic "H" with italic "om" looks terrible.)
    – Caramdir
    Aug 12, 2010 at 8:57
  • 2
    Well, I’ll add another voice in support of Caramdir here. I'm in a similar situation, where I have a class of objects (higher categories) that I’m generally using calligraphic letters for, and I have a functor into these called “Cl”, so I’d like a mathcal “l” for this. (I’m currently using \ell, but it doesn’t quite typographically match the uppercase mathcal letters.) Nov 18, 2010 at 5:14
  • 4
    In computer science it's common to use \ell to range over labels in a labelled transition system. If you want to divide labels into syntactic classes, it's natural to want caligraphic letters other than \ell.
    – Roly
    Feb 8, 2016 at 9:58

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.