How do I use AMS Euler?
Just add either \usepackage{euler}
or \usepackage{eulervm}
to your document's preamble:
\documentclass{article}
\usepackage{euler}
\begin{document}
This is good integration.
\[
\int x \,dx = \frac{x^2}{2}+c
\]
\end{document}
The eulervm
package includes many revisions by Zapf to the original Euler fonts. If you use the eulervm
package, you will probably want to load it with the options euler-digits
and euler-hat-accent
, i.e., as
\usepackage[euler-digits,euler-hat-accent]{eulervm}
Incidentally, the use of $$ ... $$
to generate display-math equations is heavily deprecated; it's much better to use \[
and \]
, as I do in the example above. For much more on this subject, please see the postings Why is \[ ... \]
preferable to $$
and What are the differences between $$
, \[
, align, equation and displaymath?
Addendum: There is no text font that's matched perfectly to AMS Euler
. If you provide the directive \usepackage{concrete}
in the preamble, you'll get the Concrete Roman
text font family. Concrete Roman
and AMS Euler
were used together (very successfully, I'd say) in the textbook Concrete Mathematics, 1st ed. 1988, 2nd. ed. 1994, by Ronald Graham, Donald Knuth, and Oren Patashnik. However, be forewarned that Concrete Roman
is a "raster font" and therefore won't look very good on screen. If the font is generated at 600 dpi, it'll look just fine in print; it's only the on-screen look that will likely disappoint. Other text fonts that are known to work well with AMS Euler
are Palatino
, Aldus
, and Melior
; perhaps not coincidentally, all three are creations of Hermann Zapf, the designer of the AMS Euler
fonts. To set Palatino
as the text font of your document, you could, e.g., issue the command \usepackage{newpxtext}
.
Euler in Modern Toolchains
Today, there exists an OpenType edition of Euler, Neo Euler, by Khaled Hosny. However, it was abandoned in 2011. If you download Neo Euler from its GitHub page, it is possible to use with either LuaLaTeX or XeLaTeX, but there are a few gotchas.
This is lengthy because I give many complex examples that you can cut and paste into your preamble. They should just about cover all the use cases I’ve ever heard anyone recommend.
The Classic Look
Neo Euler, like AMS Euler, contains only glyphs for upright math. To get the classic look of the euler
and eulervm
packages, or the book Concrete Mathematics, you’ll want to set the unicode-math
option math-style=upright
.
Then, you want to load only the glyphs Neo Euler provides, with a fallback math font for the rest. Here, I use Khaled Hosny’s newer math font, Libertinus Math. It shows some influence from Euler, especially in its integrals. Finally, make sure to load the Greek letters as the upright math alphabet, since unicode-math
expects lowercase Greek letters to be slanted. It sets up the other alphabets the euler
package does, including Euler Script as both \mathcal
and \mathscr
, but not all the alphabets unicode-math
supports. Legacy documents should still compile with this preamble.
For the text font, this sets up the Computer Modern Unicode version of Concrete. (Note that the CMU Concrete Bold font is a recent addition. DEK did not create a bold face for Concrete Roman, and used Computer Modern Roman Bold Extended in Concrete Mathematics instead. The beton
documentation traditionally recommended Computer Modern Sans Serif Demibold Condensed. Today, you might try Gill Sans/Gillius ADF and see if you like it.)
\documentclass{article}
\pagestyle{empty}
\usepackage{amsmath}
\DeclareMathOperator\Res{Res}
\newcommand*\diff{\mathop{}\!\mathup{d}}
\usepackage{amsthm}
\newtheorem{theorem}{Theorem}
\usepackage{unicode-math}
%%%
% Set up you text and math fonts
%%%
\unimathsetup{math-style=upright}
\setmainfont{CMU Concrete}
\defaultfontfeatures{Scale=MatchLowercase}
\setmathfont{Libertinus Math}
\setmathfont[range={"0000-"0001,"0020-"007E,
"00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
"00D7,"00F7,
"0131,
"0237,"02C6-"02C7,"02D8-"02DA,"02DC,
"0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
"0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
"03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
"2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
"2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
"210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
"212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
"21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
"2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
"2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
"2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
"2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
"22DC-"22DD,"22EF,"22F0-"22F1,
"2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
"23DC-"23DF,
"27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
"1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
"1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
"1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
"1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
"1D6DF,"1D6E1,"1D7CE-"1D7D7
}]{Neo Euler}
\setmathfont[range=up/{greek,Greek}, script-features={}, sscript-features={}
]{Neo Euler}
\setmathfont[range=up/{latin,Latin,num}, script-features={}, sscript-features={}
]{Neo Euler}
\begin{document}
\begin{theorem}[Residue theorem]
Let $f$ be analytic in the region $G$ except for the isolated
singularities $a_1,a_2,\dots,a_m$. If $\gamma$ is a closed
rectifiable curve in $G$ which does not pass through any of the
points $a_k$ and if $\gamma\approx 0$ in $G$, then
\[
\frac{1}{2\symup{\pi i}} \int\limits_\gamma f\Bigl(x^{\mathbf{N}\in\mathbb{C}^{N\times 10}}\Bigr)
= \sum_{k=1}^m n(\gamma;a_k)\Res(f;a_k)\,.
\]
\end{theorem}
\begin{theorem}[Maximum modulus]
Let $G$ be a bounded open set in $\BbbC$ and suppose that $f$ is a
continuous function on $G^-$ which is analytic in $G$. Then
\[
\max\{\, |f(z)|:z\in G^- \,\} = \max\{\, |f(z)|:z\in \partial G \,\}\,.
\]
\end{theorem}
First some large operators both in text:
$\iiint\limits_{Q}f(x,y,z) \diff x \diff y \diff z$
and
$\prod_{\gamma\in\Gamma_{\bar{C}}}\partial(\tilde{X}_\gamma)$;\
and also on display
\[
\iiiint\limits_{Q}f(w,x,y,z) \diff w \diff x \diff y \diff z
\leq
\oint_{\partial Q} f'\Biggl(\max\Biggl\{
\frac{\Vert w\Vert}{\vert w^2+x^2\vert};
\frac{\Vert z\Vert}{\vert y^2+z^2\vert};
\frac{\Vert w\oplus z\Vert}{\vert x\oplus y\vert}
\Biggr\}\Biggr)\,.
\]
\end{document}
This is a variant of the classic “Survey of Free Math Fonts for TeX and LaTeX.”
Extending to ISO Style with Concrete
If you want to get the full range of math alphabets, you would need to kitbash the Euler math font with others to supply the missing glyphs. Here is a version that selects ISO style (upright sum and product symbols, constants π and i, and numerals; Italic Γ function and variables), retains the upright ∂ from Neo Euler, keeps all the math alphabets that exist in Neo Euler (except the digits, which ought to match the text font and have bad spacing as superscripts anyway), and supplies the missing pieces of it
, bf
, bfup
and bfit
from the CMU Concrete family.
\unimathsetup{math-style=ISO, partial=upright, nabla=upright}
\setmainfont{CMU Concrete}
\defaultfontfeatures{Scale=MatchLowercase}
\setmathfont{Libertinus Math}
\setmathfont[range={"0000-"0001,"0020-"007E,
"00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
"00D7,"00F7,
"0131,
"0237,"02C6-"02C7,"02D8-"02DA,"02DC,
"0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
"0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
"03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
"2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
"2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
"210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
"212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
"21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
"2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
"2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
"2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
"2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
"22DC-"22DD,"22EF,"22F0-"22F1,
"2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
"23DC-"23DF,
"27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
"1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
"1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
"1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
"1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
"1D6DF,"1D6E1,"1D7CE-"1D7D7
}]{Neo Euler}
\setmathfont[range=up/{greek,Greek}, script-features={}, sscript-features={}
]{Neo Euler}
\setmathfont[range=up/{latin,Latin,num}, script-features={}, sscript-features={}
]{Neo Euler}
\setmathfont[range=up/num]{CMU Concrete}
\setmathfont[range=it/{latin,Latin,greek,Greek}]{CMU Concrete Italic}
\setmathfont[range=bfup/{Greek}]{CMU Concrete Bold}
\setmathfont[range=bfit/{latin,Latin,greek,Greek}]{CMU Concrete Bold Italic}
Euler plus Palatino (My Personal Favorite)
Here is the version that, after a lot of trial and error, I like the best.
Another common recommendation, including in the earlier answer, is to combine Euler math symbols with Palatino text. It sets the text font to Palatino, or one of its many clones, in this case Pagella (although you might have the original Palatino or Palatino Linotype). It then fills in all the missing parts of Neo Euler with another Palatino clone, Asana Math. It sets up \mathcal
as Euler Script, \mathbfcal
from the alternate style of Asana, \mathbb
from Latin Modern Math (more legible and more similar to classic amsfonts
), digits from Asana (as these need to match the main text) and all other symbols not defined in Euler from Asana.
We now have complete coverage of all Unicode math symbols, which allows us to set this example in ISO style. This uses italic math letters as the default, including uppercase Greek such as the Gamma function, but leaves symbols such as ∑ and ∏ intact and sets constants such as 2πi in the denominator as upright. (Observe that unicode-math
is smart enough to set \symup{\pi i}
as Euler and \mathrm
and operator names in the text font.) It keeps the upright partial derivative and nabla, as Euler does not define cursive forms.
You can change back to math-style=upright
to get a more classic look that still allows you to use all the math alphabets.
\unimathsetup{math-style=ISO, partial=upright, nabla=upright}
\setmainfont{TeX Gyre Pagella}
\defaultfontfeatures{Scale=MatchLowercase}
\setmathfont{Asana Math}
\setmathfont[range={"0000-"0001,"0020-"007E,
"00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
"00D7,"00F7,
"0131,
"0237,"02C6-"02C7,"02D8-"02DA,"02DC,
"0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
"0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
"03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
"2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
"2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
"210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
"212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
"21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
"2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
"2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
"2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
"2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
"22DC-"22DD,"22EF,"22F0-"22F1,
"2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
"23DC-"23DF,
"27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
"1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
"1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
"1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
"1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
"1D6DF,"1D6E1,"1D7CE-"1D7D7
}]{Neo Euler}
\setmathfont[range=up/{greek,Greek}, script-features={}, sscript-features={}
]{Neo Euler}
\setmathfont[range=up/{latin,Latin}, script-features={}, sscript-features={}
]{Neo Euler}
\setmathfont[range={bfup/{latin, Latin, greek, Greek}, frak, bffrak, cal},
script-features={}, sscript-features={}
]{Neo Euler}
\setmathfont[range={up/num, bfup/num, it, bfit, scr, bfscr,
sfup, sfit, bfsfup, bfsfit, tt}
]{Asana Math}
\setmathfont[range=bfcal, Scale=MatchUppercase, Alternate]{Asana Math}
\setmathfont[range=bb, Scale=MatchUppercase]{Latin Modern Math}
Euler Symbols, Palatino Letters
This alternative uses use only the math symbols from Neo Euler and overwrite all its math alphabets, for the most consistency between text and math modes.
\unimathsetup{math-style=ISO, partial=upright, nabla=upright}
\setmainfont{TeX Gyre Pagella}
\defaultfontfeatures{Scale=MatchLowercase}
\setmathfont{Asana Math}
\setmathfont[range={"0000-"0001,"0020-"007E,
"00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
"00D7,"00F7,
"0131,
"0237,"02C6-"02C7,"02D8-"02DA,"02DC,
"0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
"0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
"03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
"2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
"2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
"210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
"212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
"21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
"2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
"2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
"2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
"2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
"22DC-"22DD,"22EF,"22F0-"22F1,
"2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
"23DC-"23DF,
"27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
"1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
"1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
"1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
"1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
"1D6DF,"1D6E1,"1D7CE-"1D7D7
}]{Neo Euler}
\setmathfont[range={up/{latin, Latin, greek, Greek, num},
it, bfup, bfit, bb, bbit, scr, bfscr, frak, bffrak,
sfup, sfit, bfsfup, bfsfit, tt }
]{Asana Math}
\setmathfont[Alternate, range={cal, bfcal}]{Asana Math}
Backward-Compatiblity with PDFTeX
If you cannot use unicode-math
, it is still possible to get Type 1 fonts, bold math symbols, upright Greek, and more. Here is a sample:
\documentclass{article}
\pagestyle{empty}
\usepackage{amsmath}
\DeclareMathOperator\Res{Res}
\newcommand*\diff{\mathop{}\!\mathrm{d}}
\usepackage{amsthm}
\newtheorem{theorem}{Theorem}
%%%
% Set up you text and math fonts
%%%
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage[utf8]{inputenc}
\usepackage{amssymb}
\usepackage{ccfonts}
\usepackage{eucal}
\usepackage{eufrak}
\usepackage{eulervm}
\newcommand\BbbC{\ensuremath{\mathbb{C}}}
\DeclareSymbolFont{eulerup}{U}{zeur}{m}{n}
\DeclareMathSymbol{\uppi}{\mathord}{eulerup}{"19}
\DeclareMathSymbol{\upi}{\mathord}{eulerup}{"69}
\begin{document}
\begin{theorem}[Residue theorem]
Let $f$ be analytic in the region $G$ except for the isolated
singularities $a_1,a_2,\dots,a_m$. If $\gamma$ is a closed
rectifiable curve in $G$ which does not pass through any of the
points $a_k$ and if $\gamma\approx 0$ in $G$, then
\[
\frac{1}{2 \uppi \upi} \int\limits_\gamma f\Bigl(x^{\mathbold{N}\in\mathbb{C}^{N\times 10}}\Bigr)
= \sum_{k=1}^m n(\gamma;a_k)\Res(f;a_k)\,.
\]
\end{theorem}
\begin{theorem}[Maximum modulus]
Let $G$ be a bounded open set in $\BbbC$ and suppose that $f$ is a
continuous function on $G^-$ which is analytic in $G$. Then
\[
\max\{\, |f(z)|:z\in G^- \,\} = \max\{\, |f(z)|:z\in \partial G \,\}\,.
\]
\end{theorem}
First some large operators both in text:
$\iiint\limits_{Q}f(x,y,z) \diff x \diff y \diff z$
and
$\prod_{\gamma\in\Gamma_{\bar{C}}}\partial(\tilde{X}_\gamma)$;\
and also on display
\[
\iiiint\limits_{Q}f(w,x,y,z) \diff w \diff x \diff y \diff z
\leq
\oint_{\partial Q} f'\Biggl(\max\Biggl\{
\frac{\Vert w\Vert}{\vert w^2+x^2\vert};
\frac{\Vert z\Vert}{\vert y^2+z^2\vert};
\frac{\Vert w\oplus z\Vert}{\vert x\oplus y\vert}
\Biggr\}\Biggr)\,.
\]
\end{document}
Note that \mathrm
selects the text font and \mathbf
doesn’t work, so I instead define \uppi
and \upi
(\mathnormal
would work until you changed the math font to something other than Euler, whereas these select upright Greek letters from Euler in any document) and use the \mathbold
command from eulervm
.
Euler Plus Palatino with NFSS
The popular combination of AMS Euler with Palatino (or one of its clones) is also available as a NFSS package, backward-compatible with PDFLaTeX. It was last updated in 2017, years more recently than any of the other packages I’ve shown off. This uses the math letters from Euler, but symbols from newpx
(on which the Asana Math font is also based), and uses the digits from the text font, which I set to Pagella. It’s similar to the Pagella/Neo Euler/Asana Math sample above, if you pass the math-style=upright
option to unicode-math
.
The package does not load the Euler calligraphic or Fraktur math alphabets, so I set those up afterward. If you want to add matching sans-serif and monospaced fonts, Optima (URW Classico) and Inconsolata might be good choices available for NFSS.
\documentclass{article}
\pagestyle{empty}
\usepackage{amsmath}
\DeclareMathOperator\Res{Res}
\newcommand*\diff{\mathop{}\!\mathrm{d}}
\usepackage{amsthm}
\newtheorem{theorem}{Theorem}
%%%
% Set up you text and math fonts
%%%
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage[utf8]{inputenc} % The default since 2018.
\usepackage{tgpagella}
\usepackage{eulerpx}
\usepackage{eucal}
\usepackage{eufrak}
\newcommand\BbbC{\ensuremath{\mathbb{C}}}
\DeclareSymbolFont{eulerup}{U}{zeur}{m}{n}
\DeclareMathSymbol{\uppi}{\mathalpha}{eulerup}{"19}
\DeclareMathSymbol{\upi}{\mathalpha}{eulerup}{"69}
\begin{document}
\begin{theorem}[Residue theorem]
Let $f$ be analytic in the region $G$ except for the isolated
singularities $a_1,a_2,\dots,a_m$. If $\gamma$ is a closed
rectifiable curve in $G$ which does not pass through any of the
points $a_k$ and if $\gamma\approx 0$ in $G$, then
\[
\frac{1}{2 \uppi \upi} \int\limits_\gamma f\Bigl(x^{\mathbf{N}\in\mathbb{C}^{N\times 10}}\Bigr)
= \sum_{k=1}^m n(\gamma;a_k)\Res(f;a_k)\,.
\]
\end{theorem}
\begin{theorem}[Maximum modulus]
Let $G$ be a bounded open set in $\BbbC$ and suppose that $f$ is a
continuous function on $G^-$ which is analytic in $G$. Then
\[
\max\{\, |f(z)|:z\in G^- \,\} = \max\{\, |f(z)|:z\in \partial G \,\}\,.
\]
\end{theorem}
First some large operators both in text:
$\iiint\limits_{Q}f(x,y,z) \diff x \diff y \diff z$
and
$\prod_{\gamma\in\Gamma_{\bar{C}}}\partial(\tilde{X}_\gamma)$;\
and also on display
\[
\iiiint\limits_{Q}f(w,x,y,z) \diff w \diff x \diff y \diff z
\leq
\oint_{\partial Q} f'\Biggl(\max\Biggl\{
\frac{\Vert w\Vert}{\vert w^2+x^2\vert};
\frac{\Vert z\Vert}{\vert y^2+z^2\vert};
\frac{\Vert w\oplus z\Vert}{\vert x\oplus y\vert}
\Biggr\}\Biggr)\,.
\]
\end{document}
There are a few oddities here, such as the spacing of ∊ and ℂ, but it’s a simple and attractive setup.