LaTeX script styles for math

When I was writing a paper, I needed a lot of mathematical variables. I had already used up so many letters in both plain text and bold face that I needed more styles for English letters. So I looked for ways of using different types of script styles in LaTeX equations. I already knew about \mathcal, which is used for math calligraphy but it only supports upper case letters when I really needed lower case variables. It turns out that a lot of the script styles in math mode are upper case only. I eventually found several ways of using lower case script letters in LaTeX equations, as well as a few other math mode styles that seem useful. I have listed them in this short tutorial.

Chancery Font

This is actually the best option I found for making upper and lower case script characters in math mode. First, include this in the document's pre-amble (before the \begin{document} command):

% Use Chancery Font
\DeclareMathAlphabet{\mathpzc}{OT1}{pzc}{m}{it}

If you want to make the resulting characters smaller, use this instead:

\DeclareFontFamily{OT1}{pzc}{}
\DeclareFontShape{OT1}{pzc}{m}{it}{<-> s * [0.900] pzcmi7t}{}
\DeclareMathAlphabet{\mathpzc}{OT1}{pzc}{m}{it}

You can then set any alphabetical characters in math mode to use the calligraphic Chancery font by using \mathpzc:

\[\mathpzc{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\]
\[\mathpzc{abcdefghijklmnopqrstuvwxyz}\]

The result looks like this:

Chancery font for calligraphic math script

More about this can be found on this page about maths script fonts.

AMS Fonts

Another option is to use the amsfonts package. First, include the package:

\usepackage{amsfonts}

You now have access to a command called mathfrak. No, it is not meant to help you express your frustration by frakking math. Rather, it is for using the Fraktur font (a Gothic script) for your mathematical characters. You can use it like this:

\[\mathfrak{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\]
\[\mathfrak{abcdefghijklmnopqrstuvwxyz}\]

The mathfrak output looks like:

Math script font with mathfrak

The result is nice, although the upper and lower case Y character are very different from English.

The amsfonts package also includes the \mathbb command that allows double lined upper case characters.

\[\mathbb{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\]

The resulting characters look like the following:

Special math font with mathbb

The R and C from \mathbb could be used for representing the set of reals and set of complex numbers.

Mathcal

Just for completeness, the \mathcal command also creates a script style using the Computer Modern calligraphy font but it only makes sense for upper case letters:

\[\mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\]

The result looks like this:

Calligraphic font with mathcal

Eucal Package

The eucal package uses yet another script font (Euler script) in your equations. First, include the package:

\usepackage[mathscr]{eucal}

The mathscr option lets you use the \mathscr command to use the Euler font. If you omit the mathscr option when including the eucal package, the \mathcal command will be changed to use the Euler script rather than the Computer Modern calligraphic font.

Assuming the mathscr option was specified, you can use the Euler script like this:

\[\mathscr{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\]

Here is the resulting calligraphic alphabet:

Eucal font

Mathrsfs Package

There is yet another script font that can be used in LaTeX for upper case letters. To use it, include the package:

\usepackage{mathrsfs}

This will provide the mathscr command:

\[\mathscr{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\]

The mathrsfs font looks like this:

Mathrsfs font

Note that there can only be one definition of the \mathscr command, so using both \usepackage[mathscr]{eucal} and \usepackage{mathrsfs} together will only let you use one of the two fonts when you issue the \mathscr command.

Calligra Font

I found references to a calligra font that is an additional calligraphy font that can be used in equations. I could not get it working in my installation of MikTeX even after installing the calligra pacakge (MikTeX tells me it cannot find calligra.sty when I include the package). In any case, I am documenting it here for future reference.

The following is in the pre-amble of the document:

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

The calligraphic font can supposedly then be used like this:

\[\mathcalligra{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\]

I will update this page if I can find out how to use this.

Discussion

G√ľnter Milde, 2013/01/24 06:20
For Zapf chancery as script font, you can now use the package "urwchancal"
(http://www.ctan.org/pkg/urwchancal). It uses a font derived from
Zapf Chancery with metrics adapted to mathematical typesetting.

The "eucal" package is no longer available on CTAN.

The minimal example

\documentclass{minimal}
\usepackage{calligra}
\DeclareMathAlphabet{\mathcal}{T1}{calligra}{m}{n}
\begin{document}
Calligra $\mathcal{abc ABC}$
\end{document}

works here (TeXLive 2012 on Linux) without problems.
If you do not get "\usepackage{calligra}" working (in TeXLive this would involve
placing calligra.sty in the TEXPATH and running `texhash`), you can also copy the
font definition commands from there into the document preamble.
I would love to hear your feedback. Enter your comment below [ Terms of Use ]:
CHLAW
 

About Peter Yu I am a research and development professional with expertise in the areas of image processing, remote sensing and computer vision. I received BASc and MASc degrees in Systems Design Engineering at the University of Waterloo. My working experience covers industries ranging from district energy to medical imaging to cinematic visual effects. I like to dabble in 3D artwork, I enjoy cycling recreationally and I am interested in sustainable technology. More about me...

Feel free to contact me with any questions about this site at [user]@[host] where [user]=web and [host]=peteryu.ca

Copyright © 1997 - 2017 Peter Yu