Which OpenType Math fonts are available?












68















What OpenType math fonts are there available for usage in TeX/LaTeX, e.g. with the unicode-math package?



Here is a MWE which you can use to show off the font.



documentclass{article}
pagestyle{empty}

usepackage{amsmath}
DeclareMathOperatorRes{Res}
newcommand*diff{mathop{}!mathup{d}}

usepackage{amsthm}
newtheorem{theorem}{Theorem}

usepackage{unicode-math}

%%%
% Set up you text and math fonts
%%%

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 $gammaapprox 0$ in $G$, then
[
frac{1}{2pi i} intlimits_gamma fBigl(x^{mathbf{N}inmathbb{C}^{Ntimes 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)|:zin G^- ,} = max{, |f(z)|:zin partial G ,},.
]
end{theorem}

First some large operators both in text:
$iiintlimits_{Q}f(x,y,z) diff x diff y diff z$
and
$prod_{gammainGamma_{bar{C}}}partial(tilde{X}_gamma)$;
and also on display
[
iiiintlimits_{Q}f(w,x,y,z) diff w diff x diff y diff z
leq
oint_{partial Q} f'Biggl(maxBiggl{
frac{Vert wVert}{vert w^2+x^2vert};
frac{Vert zVert}{vert y^2+z^2vert};
frac{Vert woplus zVert}{vert xoplus yvert}
Biggr}Biggr),.
]

end{document}


Here is a similar MWE for ConTeXt. The images in the answer will only be shown for LaTeX output but the ConTeXt output looks very similar.



%%%
% Set up you text and math fonts
%%%

setupmathlabeltext[Res=Res]
definemathcommand[Res][nolop]{mfunctionlabeltext{Res}}
definemathcommand[diff]{mathop{}!mfunctionlabeltext{diff}}

defineenumeration
[theorem]
[text={Theorem},
style=italic,
title=yes,
titlestyle=normal,
distance=0pt,
titleleft={(},
titleright={).~},
alternative=serried,
width=fit]

starttext

starttheorem[title={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 $gammaapprox 0$ in $G$, then
startformula
frac{1}{2pi i} intlimits_gamma fBigl(x^{{mathbf N}inmathbb{C}^{Ntimes 10}}Bigr)
= sum_{k=1}^m n(gamma;a_k)Res(f;a_k),.
stopformula
stoptheorem

starttheorem[title={Maximum modulus}]
Let $G$ be a bounded open set in $mathbb{C}$ and suppose that $f$ is a
continuous function on $G^-$ which is analytic in $G$. Then
startformula
max{, |f(z)|:zin G^- ,} = max{, |f(z)|:zin partial G ,},.
stopformula
stoptheorem

First some large operators both in text:
$iiintlimits_{Q}f(x,y,z) diff x diff y diff z$
and
$prod_{gammainGamma_{bar{C}}}partial(tilde{X}_gamma)$;
and also on display
startformula
iiiintlimits_{Q}f(w,x,y,z) diff w diff x diff y diff z
leq
oint_{partial Q} f'Biggl(maxBiggl{
frac{Vert wVert}{vert w^2+x^2vert};
frac{Vert zVert}{vert y^2+z^2vert};
frac{Vert woplus zVert}{vert xoplus yvert}
Biggr}Biggr),.
stopformula

stoptext









share|improve this question




















  • 1





    Yep, hehe By the way you could use a software that automatically antialiases pdfs before taking screenshots, I think the would look nicer. Great job in any case.

    – Manuel
    Apr 6 '18 at 9:31








  • 4





    superb effort -- added to "often referenced questions" in meta. comment on tex gyre fonts -- the limits are awfully close to the sum, except for latin modern; i suppose this should be reported to the developers.

    – barbara beeton
    Apr 6 '18 at 15:44






  • 1





    @barbarabeeton also there is glyph collision of f with | in |f(z)| in all four of TeX Gyre {Termes,Pagella,Schola,Bonum} Math. (and near glyph collision of again the f with the subscripted Q in bottom display, possibly because the multiple integrals look definitely text and not display style in thsse math fonts)

    – user4686
    Apr 10 '18 at 14:31






  • 1





    This question and its answer(s?) should be turned into siomething more findable and more durable than a Stack Exchange question... A TuGboat paper ? A monograph adjunction to TeXlive ?

    – user2903730
    Apr 21 '18 at 7:51











  • @HenriMenke started it and wrote the template, and I ended up contributing 75% of the answer, so do you think editing it down and submitting it somewhere would be worthwhile?

    – Davislor
    Apr 22 '18 at 5:15
















68















What OpenType math fonts are there available for usage in TeX/LaTeX, e.g. with the unicode-math package?



Here is a MWE which you can use to show off the font.



documentclass{article}
pagestyle{empty}

usepackage{amsmath}
DeclareMathOperatorRes{Res}
newcommand*diff{mathop{}!mathup{d}}

usepackage{amsthm}
newtheorem{theorem}{Theorem}

usepackage{unicode-math}

%%%
% Set up you text and math fonts
%%%

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 $gammaapprox 0$ in $G$, then
[
frac{1}{2pi i} intlimits_gamma fBigl(x^{mathbf{N}inmathbb{C}^{Ntimes 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)|:zin G^- ,} = max{, |f(z)|:zin partial G ,},.
]
end{theorem}

First some large operators both in text:
$iiintlimits_{Q}f(x,y,z) diff x diff y diff z$
and
$prod_{gammainGamma_{bar{C}}}partial(tilde{X}_gamma)$;
and also on display
[
iiiintlimits_{Q}f(w,x,y,z) diff w diff x diff y diff z
leq
oint_{partial Q} f'Biggl(maxBiggl{
frac{Vert wVert}{vert w^2+x^2vert};
frac{Vert zVert}{vert y^2+z^2vert};
frac{Vert woplus zVert}{vert xoplus yvert}
Biggr}Biggr),.
]

end{document}


Here is a similar MWE for ConTeXt. The images in the answer will only be shown for LaTeX output but the ConTeXt output looks very similar.



%%%
% Set up you text and math fonts
%%%

setupmathlabeltext[Res=Res]
definemathcommand[Res][nolop]{mfunctionlabeltext{Res}}
definemathcommand[diff]{mathop{}!mfunctionlabeltext{diff}}

defineenumeration
[theorem]
[text={Theorem},
style=italic,
title=yes,
titlestyle=normal,
distance=0pt,
titleleft={(},
titleright={).~},
alternative=serried,
width=fit]

starttext

starttheorem[title={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 $gammaapprox 0$ in $G$, then
startformula
frac{1}{2pi i} intlimits_gamma fBigl(x^{{mathbf N}inmathbb{C}^{Ntimes 10}}Bigr)
= sum_{k=1}^m n(gamma;a_k)Res(f;a_k),.
stopformula
stoptheorem

starttheorem[title={Maximum modulus}]
Let $G$ be a bounded open set in $mathbb{C}$ and suppose that $f$ is a
continuous function on $G^-$ which is analytic in $G$. Then
startformula
max{, |f(z)|:zin G^- ,} = max{, |f(z)|:zin partial G ,},.
stopformula
stoptheorem

First some large operators both in text:
$iiintlimits_{Q}f(x,y,z) diff x diff y diff z$
and
$prod_{gammainGamma_{bar{C}}}partial(tilde{X}_gamma)$;
and also on display
startformula
iiiintlimits_{Q}f(w,x,y,z) diff w diff x diff y diff z
leq
oint_{partial Q} f'Biggl(maxBiggl{
frac{Vert wVert}{vert w^2+x^2vert};
frac{Vert zVert}{vert y^2+z^2vert};
frac{Vert woplus zVert}{vert xoplus yvert}
Biggr}Biggr),.
stopformula

stoptext









share|improve this question




















  • 1





    Yep, hehe By the way you could use a software that automatically antialiases pdfs before taking screenshots, I think the would look nicer. Great job in any case.

    – Manuel
    Apr 6 '18 at 9:31








  • 4





    superb effort -- added to "often referenced questions" in meta. comment on tex gyre fonts -- the limits are awfully close to the sum, except for latin modern; i suppose this should be reported to the developers.

    – barbara beeton
    Apr 6 '18 at 15:44






  • 1





    @barbarabeeton also there is glyph collision of f with | in |f(z)| in all four of TeX Gyre {Termes,Pagella,Schola,Bonum} Math. (and near glyph collision of again the f with the subscripted Q in bottom display, possibly because the multiple integrals look definitely text and not display style in thsse math fonts)

    – user4686
    Apr 10 '18 at 14:31






  • 1





    This question and its answer(s?) should be turned into siomething more findable and more durable than a Stack Exchange question... A TuGboat paper ? A monograph adjunction to TeXlive ?

    – user2903730
    Apr 21 '18 at 7:51











  • @HenriMenke started it and wrote the template, and I ended up contributing 75% of the answer, so do you think editing it down and submitting it somewhere would be worthwhile?

    – Davislor
    Apr 22 '18 at 5:15














68












68








68


51






What OpenType math fonts are there available for usage in TeX/LaTeX, e.g. with the unicode-math package?



Here is a MWE which you can use to show off the font.



documentclass{article}
pagestyle{empty}

usepackage{amsmath}
DeclareMathOperatorRes{Res}
newcommand*diff{mathop{}!mathup{d}}

usepackage{amsthm}
newtheorem{theorem}{Theorem}

usepackage{unicode-math}

%%%
% Set up you text and math fonts
%%%

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 $gammaapprox 0$ in $G$, then
[
frac{1}{2pi i} intlimits_gamma fBigl(x^{mathbf{N}inmathbb{C}^{Ntimes 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)|:zin G^- ,} = max{, |f(z)|:zin partial G ,},.
]
end{theorem}

First some large operators both in text:
$iiintlimits_{Q}f(x,y,z) diff x diff y diff z$
and
$prod_{gammainGamma_{bar{C}}}partial(tilde{X}_gamma)$;
and also on display
[
iiiintlimits_{Q}f(w,x,y,z) diff w diff x diff y diff z
leq
oint_{partial Q} f'Biggl(maxBiggl{
frac{Vert wVert}{vert w^2+x^2vert};
frac{Vert zVert}{vert y^2+z^2vert};
frac{Vert woplus zVert}{vert xoplus yvert}
Biggr}Biggr),.
]

end{document}


Here is a similar MWE for ConTeXt. The images in the answer will only be shown for LaTeX output but the ConTeXt output looks very similar.



%%%
% Set up you text and math fonts
%%%

setupmathlabeltext[Res=Res]
definemathcommand[Res][nolop]{mfunctionlabeltext{Res}}
definemathcommand[diff]{mathop{}!mfunctionlabeltext{diff}}

defineenumeration
[theorem]
[text={Theorem},
style=italic,
title=yes,
titlestyle=normal,
distance=0pt,
titleleft={(},
titleright={).~},
alternative=serried,
width=fit]

starttext

starttheorem[title={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 $gammaapprox 0$ in $G$, then
startformula
frac{1}{2pi i} intlimits_gamma fBigl(x^{{mathbf N}inmathbb{C}^{Ntimes 10}}Bigr)
= sum_{k=1}^m n(gamma;a_k)Res(f;a_k),.
stopformula
stoptheorem

starttheorem[title={Maximum modulus}]
Let $G$ be a bounded open set in $mathbb{C}$ and suppose that $f$ is a
continuous function on $G^-$ which is analytic in $G$. Then
startformula
max{, |f(z)|:zin G^- ,} = max{, |f(z)|:zin partial G ,},.
stopformula
stoptheorem

First some large operators both in text:
$iiintlimits_{Q}f(x,y,z) diff x diff y diff z$
and
$prod_{gammainGamma_{bar{C}}}partial(tilde{X}_gamma)$;
and also on display
startformula
iiiintlimits_{Q}f(w,x,y,z) diff w diff x diff y diff z
leq
oint_{partial Q} f'Biggl(maxBiggl{
frac{Vert wVert}{vert w^2+x^2vert};
frac{Vert zVert}{vert y^2+z^2vert};
frac{Vert woplus zVert}{vert xoplus yvert}
Biggr}Biggr),.
stopformula

stoptext









share|improve this question
















What OpenType math fonts are there available for usage in TeX/LaTeX, e.g. with the unicode-math package?



Here is a MWE which you can use to show off the font.



documentclass{article}
pagestyle{empty}

usepackage{amsmath}
DeclareMathOperatorRes{Res}
newcommand*diff{mathop{}!mathup{d}}

usepackage{amsthm}
newtheorem{theorem}{Theorem}

usepackage{unicode-math}

%%%
% Set up you text and math fonts
%%%

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 $gammaapprox 0$ in $G$, then
[
frac{1}{2pi i} intlimits_gamma fBigl(x^{mathbf{N}inmathbb{C}^{Ntimes 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)|:zin G^- ,} = max{, |f(z)|:zin partial G ,},.
]
end{theorem}

First some large operators both in text:
$iiintlimits_{Q}f(x,y,z) diff x diff y diff z$
and
$prod_{gammainGamma_{bar{C}}}partial(tilde{X}_gamma)$;
and also on display
[
iiiintlimits_{Q}f(w,x,y,z) diff w diff x diff y diff z
leq
oint_{partial Q} f'Biggl(maxBiggl{
frac{Vert wVert}{vert w^2+x^2vert};
frac{Vert zVert}{vert y^2+z^2vert};
frac{Vert woplus zVert}{vert xoplus yvert}
Biggr}Biggr),.
]

end{document}


Here is a similar MWE for ConTeXt. The images in the answer will only be shown for LaTeX output but the ConTeXt output looks very similar.



%%%
% Set up you text and math fonts
%%%

setupmathlabeltext[Res=Res]
definemathcommand[Res][nolop]{mfunctionlabeltext{Res}}
definemathcommand[diff]{mathop{}!mfunctionlabeltext{diff}}

defineenumeration
[theorem]
[text={Theorem},
style=italic,
title=yes,
titlestyle=normal,
distance=0pt,
titleleft={(},
titleright={).~},
alternative=serried,
width=fit]

starttext

starttheorem[title={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 $gammaapprox 0$ in $G$, then
startformula
frac{1}{2pi i} intlimits_gamma fBigl(x^{{mathbf N}inmathbb{C}^{Ntimes 10}}Bigr)
= sum_{k=1}^m n(gamma;a_k)Res(f;a_k),.
stopformula
stoptheorem

starttheorem[title={Maximum modulus}]
Let $G$ be a bounded open set in $mathbb{C}$ and suppose that $f$ is a
continuous function on $G^-$ which is analytic in $G$. Then
startformula
max{, |f(z)|:zin G^- ,} = max{, |f(z)|:zin partial G ,},.
stopformula
stoptheorem

First some large operators both in text:
$iiintlimits_{Q}f(x,y,z) diff x diff y diff z$
and
$prod_{gammainGamma_{bar{C}}}partial(tilde{X}_gamma)$;
and also on display
startformula
iiiintlimits_{Q}f(w,x,y,z) diff w diff x diff y diff z
leq
oint_{partial Q} f'Biggl(maxBiggl{
frac{Vert wVert}{vert w^2+x^2vert};
frac{Vert zVert}{vert y^2+z^2vert};
frac{Vert woplus zVert}{vert xoplus yvert}
Biggr}Biggr),.
stopformula

stoptext






math-mode fonts unicode-math opentype






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Aug 29 '18 at 23:51







Henri Menke

















asked Apr 6 '18 at 1:52









Henri MenkeHenri Menke

77.3k8171284




77.3k8171284








  • 1





    Yep, hehe By the way you could use a software that automatically antialiases pdfs before taking screenshots, I think the would look nicer. Great job in any case.

    – Manuel
    Apr 6 '18 at 9:31








  • 4





    superb effort -- added to "often referenced questions" in meta. comment on tex gyre fonts -- the limits are awfully close to the sum, except for latin modern; i suppose this should be reported to the developers.

    – barbara beeton
    Apr 6 '18 at 15:44






  • 1





    @barbarabeeton also there is glyph collision of f with | in |f(z)| in all four of TeX Gyre {Termes,Pagella,Schola,Bonum} Math. (and near glyph collision of again the f with the subscripted Q in bottom display, possibly because the multiple integrals look definitely text and not display style in thsse math fonts)

    – user4686
    Apr 10 '18 at 14:31






  • 1





    This question and its answer(s?) should be turned into siomething more findable and more durable than a Stack Exchange question... A TuGboat paper ? A monograph adjunction to TeXlive ?

    – user2903730
    Apr 21 '18 at 7:51











  • @HenriMenke started it and wrote the template, and I ended up contributing 75% of the answer, so do you think editing it down and submitting it somewhere would be worthwhile?

    – Davislor
    Apr 22 '18 at 5:15














  • 1





    Yep, hehe By the way you could use a software that automatically antialiases pdfs before taking screenshots, I think the would look nicer. Great job in any case.

    – Manuel
    Apr 6 '18 at 9:31








  • 4





    superb effort -- added to "often referenced questions" in meta. comment on tex gyre fonts -- the limits are awfully close to the sum, except for latin modern; i suppose this should be reported to the developers.

    – barbara beeton
    Apr 6 '18 at 15:44






  • 1





    @barbarabeeton also there is glyph collision of f with | in |f(z)| in all four of TeX Gyre {Termes,Pagella,Schola,Bonum} Math. (and near glyph collision of again the f with the subscripted Q in bottom display, possibly because the multiple integrals look definitely text and not display style in thsse math fonts)

    – user4686
    Apr 10 '18 at 14:31






  • 1





    This question and its answer(s?) should be turned into siomething more findable and more durable than a Stack Exchange question... A TuGboat paper ? A monograph adjunction to TeXlive ?

    – user2903730
    Apr 21 '18 at 7:51











  • @HenriMenke started it and wrote the template, and I ended up contributing 75% of the answer, so do you think editing it down and submitting it somewhere would be worthwhile?

    – Davislor
    Apr 22 '18 at 5:15








1




1





Yep, hehe By the way you could use a software that automatically antialiases pdfs before taking screenshots, I think the would look nicer. Great job in any case.

– Manuel
Apr 6 '18 at 9:31







Yep, hehe By the way you could use a software that automatically antialiases pdfs before taking screenshots, I think the would look nicer. Great job in any case.

– Manuel
Apr 6 '18 at 9:31






4




4





superb effort -- added to "often referenced questions" in meta. comment on tex gyre fonts -- the limits are awfully close to the sum, except for latin modern; i suppose this should be reported to the developers.

– barbara beeton
Apr 6 '18 at 15:44





superb effort -- added to "often referenced questions" in meta. comment on tex gyre fonts -- the limits are awfully close to the sum, except for latin modern; i suppose this should be reported to the developers.

– barbara beeton
Apr 6 '18 at 15:44




1




1





@barbarabeeton also there is glyph collision of f with | in |f(z)| in all four of TeX Gyre {Termes,Pagella,Schola,Bonum} Math. (and near glyph collision of again the f with the subscripted Q in bottom display, possibly because the multiple integrals look definitely text and not display style in thsse math fonts)

– user4686
Apr 10 '18 at 14:31





@barbarabeeton also there is glyph collision of f with | in |f(z)| in all four of TeX Gyre {Termes,Pagella,Schola,Bonum} Math. (and near glyph collision of again the f with the subscripted Q in bottom display, possibly because the multiple integrals look definitely text and not display style in thsse math fonts)

– user4686
Apr 10 '18 at 14:31




1




1





This question and its answer(s?) should be turned into siomething more findable and more durable than a Stack Exchange question... A TuGboat paper ? A monograph adjunction to TeXlive ?

– user2903730
Apr 21 '18 at 7:51





This question and its answer(s?) should be turned into siomething more findable and more durable than a Stack Exchange question... A TuGboat paper ? A monograph adjunction to TeXlive ?

– user2903730
Apr 21 '18 at 7:51













@HenriMenke started it and wrote the template, and I ended up contributing 75% of the answer, so do you think editing it down and submitting it somewhere would be worthwhile?

– Davislor
Apr 22 '18 at 5:15





@HenriMenke started it and wrote the template, and I ended up contributing 75% of the answer, so do you think editing it down and submitting it somewhere would be worthwhile?

– Davislor
Apr 22 '18 at 5:15










1 Answer
1






active

oldest

votes


















77
















The TeX Gyre Fonts



Latin Modern



This is the default font family loaded by unicode-math, but can also be set up explicitly. It is an OpenType version of Latin Modern, a clone of DEK’s Computer Modern, based on Monotype Modern, and of the AMS symbol fonts. The default fonts are therefore nearly identical to those of classic LaTeX.



This conversion is the work of the GUST project, which later created the TeX Gyre fonts from the free URW fonts, which were based on the Adobe PostScript fonts. All of these fonts (except TeX Gyre DejaVu Math, a conversion of an existing OpenType font into a math font) have similar repertoires and features. They support all European languages as well as Romanizations of other languages.



The vast majority of the fonts on this page similarly cloned an existing font, but changed the name to avoid confusion or to comply with the license. Some have gone through three or four iterations of this.



GUST is the Polish TeX users’ group. Many of the people most motivated to extend existing fonts were from Southern or Eastern Europe, since fonts that already covered Western European languages and Greek letters for math were almost able to support their native languages.



% LaTeX
setmainfont{Latin Modern Roman}
setmathfont{Latin Modern Math}
% ConTeXt
setupbodyfont[modern]


Latin Modern



TeX Gyre Bonum



This is a clone of Bookman.



% LaTeX
setmainfont{TeX Gyre Bonum}
setmathfont{TeX Gyre Bonum Math}
% ConTeXt
setupbodyfont[bonum]


TeX Gyre Bonum



TeX Gyre Pagella



This is a clone of Palatino.



% LaTeX
setmainfont{TeX Gyre Pagella}
setmathfont{TeX Gyre Pagella Math}
% ConTeXt
setupbodyfont[pagella]


TeX Gyre Pagella



TeX Gyre Schola



This is a clone of Century Schoolbook.



% LaTeX
setmainfont{TeX Gyre Schola}
setmathfont{TeX Gyre Schola Math}
% ConTeXt
setupbodyfont[schola]


TeX Gyre Schola



TeX Gyre Termes



This is a clone of Times.



% LaTeX
setmainfont{TeX Gyre Termes}
setmathfont{TeX Gyre Termes Math}
% ConTeXt
setupbodyfont[termes]


TeX Gyre Termes



TeX Gyre DejaVu Math



This font is an extension of the DejaVu Serif font, which is based on Arev, which is based on Bitstream Vera, which is based on Bitstream Prima.



It is significantly different from the other TeX Gyre fonts, as they were conversions of legacy fonts to Unicode, and this turns an existing, comprehensive Unicode font by someone else into a math font. The DejaVu project was started by Štěpán Roh of the Czech Republic.



% LaTeX
setmainfont{DejaVu Serif}
setmathfont{TeX Gyre DejaVu Math}
% ConTeXt
setupbodyfont[dejavu]


TeX Gyre DejaVu Math



DejaVu Math TeX Gyre



The version of the same font distributed by the DejaVu project rather than the TeX Gyre project.



% LaTeX
setmainfont{DejaVu Serif}
setmathfont[Scale=MatchLowercase]{DejaVu Math TeX Gyre}


DejaVu Math TeX Gyre



Other Free Fonts



STIX Math Regular



One of the first attempts to create a comprehensive set of all scientific, technical and mathematical symbols. STIX was based on Elsevier’s Esstix, and inspired by Monotype’s Times 4-Line Mathematics Series 569, a font from the middle of the century that simplified typesetting mathematics on mechanical printing presses. The OpenType math support is not complete, which led to the XITS Math project being created.



% LaTeX
setmainfont{STIX}
setmathfont{STIX Math}
% ConTeXt
setupbodyfont[stix]


STIX Math Regular



XITS



This is an fork by Khaled Hosny of the STIX font. It is one of only two free math fonts to come in both a regular and a bold weight, meaning that boldmath, mathversion{bold} and boldsymbol will all work with it. The other is his Libertinus family.



% LaTeX
setmainfont{XITS}
setmathfont{XITS Math}
% ConTeXt
setupbodyfont[xits]


XITS



Libertinus



Libertinus is a fork by Khaled Hosny of the Linux Libertine font family by Philipp Poll. It and XITS Math, also by Khaled Hosny, are the two free math fonts that comes in a bold weight.



% LaTeX
setmainfont{Libertinus Serif}
setmathfont{Libertinus Math}
% ConTeXt
setupbodyfont[libertinus]


Libertinus



Asana Math



Asana is a close match for Palatino, and therefore its clones, such as Pagella. You should use one of them as the text font. If you try to make Asana the text font, you will not get either styles or ligatures.



It was created by Apostolos Syropoulos, based on Type 1 fonts by Young Ryu, and is similar in appearance to the pxfonts package.



% LaTeX
setmainfont[Ligatures={Common,Rare,TeX}]{TeX Gyre Pagella}
setmathfont[Scale=MatchUppercase]{Asana Math}
% ConTeXt
setupbodyfont[libertinus] % automatically loads Pagella for text


Asana Math with Pagella



STIX Two



This is the successor to the STIX font of which XITS is a clone. It was added to CTAN, TeX Live and MikTeX in 2018.



% LaTeX
setmainfont{STIX Two Text}
setmathfont{STIX Two Math}
% ConTeXt
setupbodyfont[stixtwo]


STIX Two



GFS Neohellenic



This is one of the newer offerings on CTAN; it has only residual serifs and may be especially useful for presentations. (Although it is possible to load a sans-serif font family with range=up, it, bfup and bfit. The unicode-math documentation also gives an example of how to remap the math sans-serif letters to the main alphabet, but as of 0.81, it’s broken.) It is based on the public-domain font New Hellenic, inspired by a Greek font from Renaissance Venice.



The math version was commissioned from the Greek Fonts Society by the Department of Mathematics at the University of the Aegean.



% LaTeX
setmainfont{GFS Neohellenic}
setmathfont{GFS Neohellenic Math}
% ConTeXt (no ready-made typescript available)
definefontfamily [mainface] [serif] [Latin Modern Roman]
definefontfamily [mainface] [sans] [GFS Neohellenic]
definefontfamily [mainface] [mono] [Latin Modern Mono]
definefontfamily [mainface] [math] [GFS Neohellenic Math]
setupbodyfont[mainface]


GFS Neohellenic



Neo Euler (Free but Incomplete)



A conversion by Khaled Hosny of the AMS Euler font designed by Hermann Zapf for the book DEK co-authored, Concrete Mathematics: A Foundation for Computer Science. It was originally matched with the font Concrete Roman, which is now available from the Computer Modern Unicode project as CMU Concrete. Euler goes well with Zapf’s other famous fonts, the serif font Palatino (and therefore its many clones, including Pagella and Asana) and the sans-serif font Optima (which has an OpenType clone, URW Classico). Linux Libertine and its extension Libertinus are also good matches for it, and Libertinus Math, also by Khaled Hosny, shows some similarities.



Neo Euler was abandoned in 2010 and has a smaller repertoire of glyphs than the other fonts (nor will Zapf, who passed away in 2015, draw any more), so if it is missing any glyph you need, you might want to load it with the range= option, to use it with a fallback font that contains the glyphs it’s missing. The following loads all glyphs defined in Neo Euler, loads CMU Concrete as the text font, and uses Libertinus Math as the fallback for the rest (such as the ratio).



Since Neo Euler has upright glyphs and no italic glyphs, it requires the math-style=upright option of unicode-math. Unfortunately, the font metrics for subscripts and superscripts appear to be broken, so this example turns off script style for letters and numerals. It also makes sure to load the Greek lowercase letters as upright. If you want to use it with the full range of math alphabets, see below for a demo of how to fill in the missing pieces from other fonts.



% LaTeX
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}


Neo Euler with CMU Concrete



Garamond Math



As of June 2018, this font is still under development and not included in TeX distributions. It is available on GitHub. Some versions of EB Garamond are on CTAN, but not the full family, available here.



% LaTeX
setmainfont{EBGaramond-Regular}[
BoldFont = EBGaramond-Bold,
ItalicFont = EBGaramond-Italic,
BoldItalicFont = EBGaramond-BoldItalic
]
setmathfont{Garamond Math}[Scale=MatchUppercase]


Garamond Math with EB Garamond



Berenis ADF Pro (Free but Incomplete)



This is another incomplete font not included with TeX Live. It is available gratis from the foundry. The text font also contains rare ligatures not shown here, as they look out of place in a mathematical text.



Whether this should be considered an “OpenType math font” is debatable. It lacks an OpenType math table, and unicode-math 0.81 will not consider it valid as the main math font. This sample falls back to Latin Modern Math as the default math font, then loads every glyph this font defines over that, which you can do for any TrueType or OpenType font. It contains only upright symbols, so it will only work with the math-style=upright option of unicode-math (or if you kitbash it to import symbols from the text fonts; see below).



Despite being licensed under the GPL2, it does not come with any source files.



% LaTeX
unimathsetup{math-style=upright}
setmainfont[Ligatures={Common,TeX}]{Berenis ADF Pro}
defaultfontfeatures{Scale=MatchLowercase}
setmathfont{Latin Modern Math}
setmathfont[range={"0020-"007E,"00A0-"021F,"0237,"0259,"02C6,"02C7,
"02D8-"02DD,"0311,"0326,"037B-"037E,"0384-"038A,"038C-"045F,"0490-"0491,
"1E10-"1E11,"1E80-"1E85,"1EF2-"1EF3,"2000-"2026,"2030,"2039-"203A,"2044,
"2070,"2074-"207A,"207D-"208A,"208D-"208E,"20AC,"20DD-"20DF,"2102-"2103,
"2109,"210E-"210F,"2113,"2116,"2122,"2126,"212A,"212C-"212E,"2133,"213D,
"2153-"215E,"2190-"219D,"21A4-"21A8,"21AE-"21CA,"21D1-"21EA,"2202-"2212,
"2216-"221E,"2223-"222D,"223C="223D,"2241,"2248-"2249,"224D,"2260,
"2264-"2265,"226A-"226B,"226D-"2275,"227A-"227B,"2280-"2281,"2290-"2294,
"22C4-"22C5,"22E2-"22E3,"22EF,"2302-"2303,"25CA,"FB00-"FB06}
]{Berenis ADF Pro Math Regular}


Berenis ADF Pro



Fira Math



This font is under development. It can be found on CTAN, or at github. It is forked from Fira fonts, which are also free. FiraGO supports many languages and Open Type features, and is available in both TeX Live and MikTeX.



As of October 2018, The Fira Math project a work in progress, and receives frequent updates. You should check that you have the latest version and whether any symbols you need are missing. If so, you can load those from another math font (such as TeX Gyre DejaVu Math) using the range= option of setmathfont.



% LaTeX
setmainfont{FiraGO}
setmathfont{FiraMath-Regular}


Fira Math Specimen



Commercial Fonts



Lucida (Commercial)



Distributed by the TeX User Group. https://tug.org/store/lucida/index.html



% LaTeX
setmainfont[
UprightFont = *,
ItalicFont = *-Italic,
BoldFont = *-Demi,
BoldItalicFont = *-DemiItalic,
]{LucidaBrightOT}
setmathfont{Lucida Bright Math OT}
% ConTeXt
setupbodyfont[lucidaot]


Lucida



Minion Math (Commercial)



Distributed by its designer, Johannes Küster. It comes in four weights and five optical sizes, the most of any OpenType math font (as of 2019).



% LaTeX
setmainfont{Minion Pro}

setmathfont[
SizeFeatures = {
{Size = -6, Font = MinionMath-Tiny, Style = MathScriptScript},
{Size = 6-8.4, Font = MinionMath-Capt, Style = MathScript},
{Size = 8.4-13, Font = MinionMath-Regular},
}]{MinionMath-Regular}
setmathfont{MinionMath-Bold}[range={bfup->up,bfit->it}]
% ConTeXt
setupbodyfont[minion]


Minion Math



Cambria Math (Commercial)



This is the font Microsoft Office uses for its equations. The font ships with Microsoft Windows Vista and later, with MS Office, and an early version was bundled with some versions of the MS Office viewers. Monotype sells licenses to use it on workstations and embed it in webpages, but the most likely way to have a legal copy of it on Linux is with a symbolic link in /usr/local/share/fonts/ or ~/.fonts to cambria_01.ttf on a Windows partition.



% LaTeX
setmainfont{Cambria}
setmathfont{Cambria Math}
% ConTeXt
setupbodyfont[cambria]


Cambria



Stylistic Sets and Alternates



Many of these fonts contain either stylistic sets or stylistic alternates that allow you to select between different versions of some of the symbols in the font. STIX Two has an especially large number, and actually documents them. If a font doesn’t, you can still check what it currently supports by opening it in FontForge. This is in addition to the choices you can make with package options.



For example, both XITS and STIX Two include a Stylistic Set 8 with alternative upright integrals. (In fact, STIX Two supports every stylistic set XITS Math does.) You can select them as follows:



% LaTeX
setmainfont{XITS}
setmathfont{XITS Math}
setmathfont[range={"222B-"2233,"2A0B-"2A1C},StylisticSet=8]{XITS Math}


XITS with upright integrals



For comparison, here is the vanilla XITS example again:



XITS



A common use of these alternative styles is on the script alphabet. Traditionally, LaTeX had separate alphabets for mathcal and mathscr. However, the Unicode consortium decided that no mathematical texts use both of these with different meanings, so they were different presentation forms assigned to the same codepoints.



However, unicode-math allows you to load different alphabets as mathcal and mathscr, and also mathbfcal and mathbfscr. Some fonts, such as XITS, implement this as a stylistic set, some, such as Asana Math, implement it as a stylistic alternative, and others require you to load a different font of you want to do that. For example, to do it with Asana Math:



% LaTeX
documentclass[preview,varwidth]{standalone}
usepackage{microtype}
usepackage{unicode-math}

setmainfont[Ligatures={Common,Rare,TeX}]{Palatino Linotype}
% You might have Palatino or Palatino Linotype installed.
defaultfontfeatures{Scale=MatchLowercase}

setmathfont[Scale=MatchLowercase]{Asana Math}
setmathfont[range={cal,bfcal},
Alternate,
Scale=MatchUppercase]
{Asana Math}

begin{document}
Calligraphic: (mathcal{ABC}) qquad Script: (mathscr{ABC})
end{document}


Asana Math script alphabets



Kitbashing Math Fonts



It is possible to load symbols from any font into a math style, and use them as symbols with symup. For example, nearly all fonts include a QED symbol at U+220E, but what it looks like varies considerably. To get the version in XITS Math (the black tombstone that matches the 1997 edition of The Art of Computer Programming), you can use the commands:



% LaTeX
documentclass[preview,varwidth]{standalone}
usepackage{amsmath,amsthm}
usepackage{unicode-math}

setmathfont[range=`∎]{XITS Math}
DeclareRobustCommandqedsymbol{ensuremath{symup{∎}}}

begin{document}
begin{proof}[Tautology]
True
end{proof}
end{document}


Tautology with QED



Another common request is to combine the letters of a text font family with the symbols of a math font. Since Neo Euler is the math font lacking italic letters at all, it makes a good example. A frequent recommendation is to combine Euler with Hermann Zapf’s other creation, Palatino. Since both Pagella and Asana are clones of Palatino, we can use Pagella as the text fonts and take all the missing glyphs, including italic math letters, from Asana.



This gives us the repertoire to convert the sample to ISO style (a great excuse to show off upright and italic math letters together). Constants such as π and i remain upright (written 2 symup{pi i}, the denominator still shows Euler math letters). Uppercase Greek letters, such as the Gamma function, are now italic rather than upright, but symbols based on Greek letters, such as summation and product, remain the same.



Essentially, this adds a few lines to the bottom of the preamble filling in all the remaining math alphabets and setting up digits to match the text font.



% LaTeX
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}


Neo Euler plus Asana plus Latin Modern with Pagella



Here again is the example with Neo Euler as the math font:



Neo Euler with CMU Concrete



(The eagle-eyed will have noticed one more unexplained line of code, which sets the partial and nabla package options to upright. Neo Euler contains the upright ∂ symbol in U+2202, but not the cursive ∂ symbol at U+1D715, which confuses unicode-math. Otherwise, load U+1D715 from another math font.)



It is often a good idea to set up subscripts, superscripts, sub-subscripts and super-superscripts to use a smaller optical size, to make it more legible at smaller sizes. There are three methods. There might be a companion font designed for smaller sizes. which you would load with script-font=. (The commercial font Aldus is intended as this for Palatino.) Many fonts, including Latin Modern and all the TeX Gyre fonts, come with different optical sizes and you can select a smaller one, e.g. script-features={OpticalSize=8}, sscript-features={OpticalSize=6}. Finally, math fonts support the font features script-features={Script=Math, Style=MathScript}, sscript-features={Script=Math, Style=MathScriptScript}.



For more information, see the documentation of the unicode-math and fontspec packages.






share|improve this answer





















  • 2





    As rationale for not using the default math fonts is often to get better match with text fonts, it would be interesting to mention which scripts are supported by the matching text fonts. For example as a far as I know the TeX Gyre only support the Latin script, which is a serious limitation for use in automated document production where Unicode characters may pop up from Cyrillic, Greek, Hebrew, CJK, ...

    – user4686
    Apr 6 '18 at 6:41






  • 3





    @jfbu This answer is CW with exactly that intention. Please add your improvements.

    – Henri Menke
    Apr 6 '18 at 6:54






  • 2





    I don't know enough about fonts and don't have access to the commercial fonts so I hope the information will be added by someone else.

    – user4686
    Apr 6 '18 at 8:45






  • 1





    There’s also Berenis ADF Pro Math. However, fontspec complains that OpenType feature Style=MathScript (ssty) not available for font BerenisADFProMath with script Math and language Default and the PDF output uses Berenis only for the text fonts, substituting Latin Modern for the math. Someone who knows about making math fonts may want to look into fixing this one (and whether it’s worth fixing).

    – Thérèse
    Apr 8 '18 at 0:52






  • 1





    @jfbu I asked a question about this a long time ago What is the difference between unicode-math and mathspec? It could maybe be linked. Other than that I agree, that this is going beyond the scope.

    – Henri Menke
    Apr 10 '18 at 0:34












Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "85"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f425098%2fwhich-opentype-math-fonts-are-available%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









77
















The TeX Gyre Fonts



Latin Modern



This is the default font family loaded by unicode-math, but can also be set up explicitly. It is an OpenType version of Latin Modern, a clone of DEK’s Computer Modern, based on Monotype Modern, and of the AMS symbol fonts. The default fonts are therefore nearly identical to those of classic LaTeX.



This conversion is the work of the GUST project, which later created the TeX Gyre fonts from the free URW fonts, which were based on the Adobe PostScript fonts. All of these fonts (except TeX Gyre DejaVu Math, a conversion of an existing OpenType font into a math font) have similar repertoires and features. They support all European languages as well as Romanizations of other languages.



The vast majority of the fonts on this page similarly cloned an existing font, but changed the name to avoid confusion or to comply with the license. Some have gone through three or four iterations of this.



GUST is the Polish TeX users’ group. Many of the people most motivated to extend existing fonts were from Southern or Eastern Europe, since fonts that already covered Western European languages and Greek letters for math were almost able to support their native languages.



% LaTeX
setmainfont{Latin Modern Roman}
setmathfont{Latin Modern Math}
% ConTeXt
setupbodyfont[modern]


Latin Modern



TeX Gyre Bonum



This is a clone of Bookman.



% LaTeX
setmainfont{TeX Gyre Bonum}
setmathfont{TeX Gyre Bonum Math}
% ConTeXt
setupbodyfont[bonum]


TeX Gyre Bonum



TeX Gyre Pagella



This is a clone of Palatino.



% LaTeX
setmainfont{TeX Gyre Pagella}
setmathfont{TeX Gyre Pagella Math}
% ConTeXt
setupbodyfont[pagella]


TeX Gyre Pagella



TeX Gyre Schola



This is a clone of Century Schoolbook.



% LaTeX
setmainfont{TeX Gyre Schola}
setmathfont{TeX Gyre Schola Math}
% ConTeXt
setupbodyfont[schola]


TeX Gyre Schola



TeX Gyre Termes



This is a clone of Times.



% LaTeX
setmainfont{TeX Gyre Termes}
setmathfont{TeX Gyre Termes Math}
% ConTeXt
setupbodyfont[termes]


TeX Gyre Termes



TeX Gyre DejaVu Math



This font is an extension of the DejaVu Serif font, which is based on Arev, which is based on Bitstream Vera, which is based on Bitstream Prima.



It is significantly different from the other TeX Gyre fonts, as they were conversions of legacy fonts to Unicode, and this turns an existing, comprehensive Unicode font by someone else into a math font. The DejaVu project was started by Štěpán Roh of the Czech Republic.



% LaTeX
setmainfont{DejaVu Serif}
setmathfont{TeX Gyre DejaVu Math}
% ConTeXt
setupbodyfont[dejavu]


TeX Gyre DejaVu Math



DejaVu Math TeX Gyre



The version of the same font distributed by the DejaVu project rather than the TeX Gyre project.



% LaTeX
setmainfont{DejaVu Serif}
setmathfont[Scale=MatchLowercase]{DejaVu Math TeX Gyre}


DejaVu Math TeX Gyre



Other Free Fonts



STIX Math Regular



One of the first attempts to create a comprehensive set of all scientific, technical and mathematical symbols. STIX was based on Elsevier’s Esstix, and inspired by Monotype’s Times 4-Line Mathematics Series 569, a font from the middle of the century that simplified typesetting mathematics on mechanical printing presses. The OpenType math support is not complete, which led to the XITS Math project being created.



% LaTeX
setmainfont{STIX}
setmathfont{STIX Math}
% ConTeXt
setupbodyfont[stix]


STIX Math Regular



XITS



This is an fork by Khaled Hosny of the STIX font. It is one of only two free math fonts to come in both a regular and a bold weight, meaning that boldmath, mathversion{bold} and boldsymbol will all work with it. The other is his Libertinus family.



% LaTeX
setmainfont{XITS}
setmathfont{XITS Math}
% ConTeXt
setupbodyfont[xits]


XITS



Libertinus



Libertinus is a fork by Khaled Hosny of the Linux Libertine font family by Philipp Poll. It and XITS Math, also by Khaled Hosny, are the two free math fonts that comes in a bold weight.



% LaTeX
setmainfont{Libertinus Serif}
setmathfont{Libertinus Math}
% ConTeXt
setupbodyfont[libertinus]


Libertinus



Asana Math



Asana is a close match for Palatino, and therefore its clones, such as Pagella. You should use one of them as the text font. If you try to make Asana the text font, you will not get either styles or ligatures.



It was created by Apostolos Syropoulos, based on Type 1 fonts by Young Ryu, and is similar in appearance to the pxfonts package.



% LaTeX
setmainfont[Ligatures={Common,Rare,TeX}]{TeX Gyre Pagella}
setmathfont[Scale=MatchUppercase]{Asana Math}
% ConTeXt
setupbodyfont[libertinus] % automatically loads Pagella for text


Asana Math with Pagella



STIX Two



This is the successor to the STIX font of which XITS is a clone. It was added to CTAN, TeX Live and MikTeX in 2018.



% LaTeX
setmainfont{STIX Two Text}
setmathfont{STIX Two Math}
% ConTeXt
setupbodyfont[stixtwo]


STIX Two



GFS Neohellenic



This is one of the newer offerings on CTAN; it has only residual serifs and may be especially useful for presentations. (Although it is possible to load a sans-serif font family with range=up, it, bfup and bfit. The unicode-math documentation also gives an example of how to remap the math sans-serif letters to the main alphabet, but as of 0.81, it’s broken.) It is based on the public-domain font New Hellenic, inspired by a Greek font from Renaissance Venice.



The math version was commissioned from the Greek Fonts Society by the Department of Mathematics at the University of the Aegean.



% LaTeX
setmainfont{GFS Neohellenic}
setmathfont{GFS Neohellenic Math}
% ConTeXt (no ready-made typescript available)
definefontfamily [mainface] [serif] [Latin Modern Roman]
definefontfamily [mainface] [sans] [GFS Neohellenic]
definefontfamily [mainface] [mono] [Latin Modern Mono]
definefontfamily [mainface] [math] [GFS Neohellenic Math]
setupbodyfont[mainface]


GFS Neohellenic



Neo Euler (Free but Incomplete)



A conversion by Khaled Hosny of the AMS Euler font designed by Hermann Zapf for the book DEK co-authored, Concrete Mathematics: A Foundation for Computer Science. It was originally matched with the font Concrete Roman, which is now available from the Computer Modern Unicode project as CMU Concrete. Euler goes well with Zapf’s other famous fonts, the serif font Palatino (and therefore its many clones, including Pagella and Asana) and the sans-serif font Optima (which has an OpenType clone, URW Classico). Linux Libertine and its extension Libertinus are also good matches for it, and Libertinus Math, also by Khaled Hosny, shows some similarities.



Neo Euler was abandoned in 2010 and has a smaller repertoire of glyphs than the other fonts (nor will Zapf, who passed away in 2015, draw any more), so if it is missing any glyph you need, you might want to load it with the range= option, to use it with a fallback font that contains the glyphs it’s missing. The following loads all glyphs defined in Neo Euler, loads CMU Concrete as the text font, and uses Libertinus Math as the fallback for the rest (such as the ratio).



Since Neo Euler has upright glyphs and no italic glyphs, it requires the math-style=upright option of unicode-math. Unfortunately, the font metrics for subscripts and superscripts appear to be broken, so this example turns off script style for letters and numerals. It also makes sure to load the Greek lowercase letters as upright. If you want to use it with the full range of math alphabets, see below for a demo of how to fill in the missing pieces from other fonts.



% LaTeX
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}


Neo Euler with CMU Concrete



Garamond Math



As of June 2018, this font is still under development and not included in TeX distributions. It is available on GitHub. Some versions of EB Garamond are on CTAN, but not the full family, available here.



% LaTeX
setmainfont{EBGaramond-Regular}[
BoldFont = EBGaramond-Bold,
ItalicFont = EBGaramond-Italic,
BoldItalicFont = EBGaramond-BoldItalic
]
setmathfont{Garamond Math}[Scale=MatchUppercase]


Garamond Math with EB Garamond



Berenis ADF Pro (Free but Incomplete)



This is another incomplete font not included with TeX Live. It is available gratis from the foundry. The text font also contains rare ligatures not shown here, as they look out of place in a mathematical text.



Whether this should be considered an “OpenType math font” is debatable. It lacks an OpenType math table, and unicode-math 0.81 will not consider it valid as the main math font. This sample falls back to Latin Modern Math as the default math font, then loads every glyph this font defines over that, which you can do for any TrueType or OpenType font. It contains only upright symbols, so it will only work with the math-style=upright option of unicode-math (or if you kitbash it to import symbols from the text fonts; see below).



Despite being licensed under the GPL2, it does not come with any source files.



% LaTeX
unimathsetup{math-style=upright}
setmainfont[Ligatures={Common,TeX}]{Berenis ADF Pro}
defaultfontfeatures{Scale=MatchLowercase}
setmathfont{Latin Modern Math}
setmathfont[range={"0020-"007E,"00A0-"021F,"0237,"0259,"02C6,"02C7,
"02D8-"02DD,"0311,"0326,"037B-"037E,"0384-"038A,"038C-"045F,"0490-"0491,
"1E10-"1E11,"1E80-"1E85,"1EF2-"1EF3,"2000-"2026,"2030,"2039-"203A,"2044,
"2070,"2074-"207A,"207D-"208A,"208D-"208E,"20AC,"20DD-"20DF,"2102-"2103,
"2109,"210E-"210F,"2113,"2116,"2122,"2126,"212A,"212C-"212E,"2133,"213D,
"2153-"215E,"2190-"219D,"21A4-"21A8,"21AE-"21CA,"21D1-"21EA,"2202-"2212,
"2216-"221E,"2223-"222D,"223C="223D,"2241,"2248-"2249,"224D,"2260,
"2264-"2265,"226A-"226B,"226D-"2275,"227A-"227B,"2280-"2281,"2290-"2294,
"22C4-"22C5,"22E2-"22E3,"22EF,"2302-"2303,"25CA,"FB00-"FB06}
]{Berenis ADF Pro Math Regular}


Berenis ADF Pro



Fira Math



This font is under development. It can be found on CTAN, or at github. It is forked from Fira fonts, which are also free. FiraGO supports many languages and Open Type features, and is available in both TeX Live and MikTeX.



As of October 2018, The Fira Math project a work in progress, and receives frequent updates. You should check that you have the latest version and whether any symbols you need are missing. If so, you can load those from another math font (such as TeX Gyre DejaVu Math) using the range= option of setmathfont.



% LaTeX
setmainfont{FiraGO}
setmathfont{FiraMath-Regular}


Fira Math Specimen



Commercial Fonts



Lucida (Commercial)



Distributed by the TeX User Group. https://tug.org/store/lucida/index.html



% LaTeX
setmainfont[
UprightFont = *,
ItalicFont = *-Italic,
BoldFont = *-Demi,
BoldItalicFont = *-DemiItalic,
]{LucidaBrightOT}
setmathfont{Lucida Bright Math OT}
% ConTeXt
setupbodyfont[lucidaot]


Lucida



Minion Math (Commercial)



Distributed by its designer, Johannes Küster. It comes in four weights and five optical sizes, the most of any OpenType math font (as of 2019).



% LaTeX
setmainfont{Minion Pro}

setmathfont[
SizeFeatures = {
{Size = -6, Font = MinionMath-Tiny, Style = MathScriptScript},
{Size = 6-8.4, Font = MinionMath-Capt, Style = MathScript},
{Size = 8.4-13, Font = MinionMath-Regular},
}]{MinionMath-Regular}
setmathfont{MinionMath-Bold}[range={bfup->up,bfit->it}]
% ConTeXt
setupbodyfont[minion]


Minion Math



Cambria Math (Commercial)



This is the font Microsoft Office uses for its equations. The font ships with Microsoft Windows Vista and later, with MS Office, and an early version was bundled with some versions of the MS Office viewers. Monotype sells licenses to use it on workstations and embed it in webpages, but the most likely way to have a legal copy of it on Linux is with a symbolic link in /usr/local/share/fonts/ or ~/.fonts to cambria_01.ttf on a Windows partition.



% LaTeX
setmainfont{Cambria}
setmathfont{Cambria Math}
% ConTeXt
setupbodyfont[cambria]


Cambria



Stylistic Sets and Alternates



Many of these fonts contain either stylistic sets or stylistic alternates that allow you to select between different versions of some of the symbols in the font. STIX Two has an especially large number, and actually documents them. If a font doesn’t, you can still check what it currently supports by opening it in FontForge. This is in addition to the choices you can make with package options.



For example, both XITS and STIX Two include a Stylistic Set 8 with alternative upright integrals. (In fact, STIX Two supports every stylistic set XITS Math does.) You can select them as follows:



% LaTeX
setmainfont{XITS}
setmathfont{XITS Math}
setmathfont[range={"222B-"2233,"2A0B-"2A1C},StylisticSet=8]{XITS Math}


XITS with upright integrals



For comparison, here is the vanilla XITS example again:



XITS



A common use of these alternative styles is on the script alphabet. Traditionally, LaTeX had separate alphabets for mathcal and mathscr. However, the Unicode consortium decided that no mathematical texts use both of these with different meanings, so they were different presentation forms assigned to the same codepoints.



However, unicode-math allows you to load different alphabets as mathcal and mathscr, and also mathbfcal and mathbfscr. Some fonts, such as XITS, implement this as a stylistic set, some, such as Asana Math, implement it as a stylistic alternative, and others require you to load a different font of you want to do that. For example, to do it with Asana Math:



% LaTeX
documentclass[preview,varwidth]{standalone}
usepackage{microtype}
usepackage{unicode-math}

setmainfont[Ligatures={Common,Rare,TeX}]{Palatino Linotype}
% You might have Palatino or Palatino Linotype installed.
defaultfontfeatures{Scale=MatchLowercase}

setmathfont[Scale=MatchLowercase]{Asana Math}
setmathfont[range={cal,bfcal},
Alternate,
Scale=MatchUppercase]
{Asana Math}

begin{document}
Calligraphic: (mathcal{ABC}) qquad Script: (mathscr{ABC})
end{document}


Asana Math script alphabets



Kitbashing Math Fonts



It is possible to load symbols from any font into a math style, and use them as symbols with symup. For example, nearly all fonts include a QED symbol at U+220E, but what it looks like varies considerably. To get the version in XITS Math (the black tombstone that matches the 1997 edition of The Art of Computer Programming), you can use the commands:



% LaTeX
documentclass[preview,varwidth]{standalone}
usepackage{amsmath,amsthm}
usepackage{unicode-math}

setmathfont[range=`∎]{XITS Math}
DeclareRobustCommandqedsymbol{ensuremath{symup{∎}}}

begin{document}
begin{proof}[Tautology]
True
end{proof}
end{document}


Tautology with QED



Another common request is to combine the letters of a text font family with the symbols of a math font. Since Neo Euler is the math font lacking italic letters at all, it makes a good example. A frequent recommendation is to combine Euler with Hermann Zapf’s other creation, Palatino. Since both Pagella and Asana are clones of Palatino, we can use Pagella as the text fonts and take all the missing glyphs, including italic math letters, from Asana.



This gives us the repertoire to convert the sample to ISO style (a great excuse to show off upright and italic math letters together). Constants such as π and i remain upright (written 2 symup{pi i}, the denominator still shows Euler math letters). Uppercase Greek letters, such as the Gamma function, are now italic rather than upright, but symbols based on Greek letters, such as summation and product, remain the same.



Essentially, this adds a few lines to the bottom of the preamble filling in all the remaining math alphabets and setting up digits to match the text font.



% LaTeX
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}


Neo Euler plus Asana plus Latin Modern with Pagella



Here again is the example with Neo Euler as the math font:



Neo Euler with CMU Concrete



(The eagle-eyed will have noticed one more unexplained line of code, which sets the partial and nabla package options to upright. Neo Euler contains the upright ∂ symbol in U+2202, but not the cursive ∂ symbol at U+1D715, which confuses unicode-math. Otherwise, load U+1D715 from another math font.)



It is often a good idea to set up subscripts, superscripts, sub-subscripts and super-superscripts to use a smaller optical size, to make it more legible at smaller sizes. There are three methods. There might be a companion font designed for smaller sizes. which you would load with script-font=. (The commercial font Aldus is intended as this for Palatino.) Many fonts, including Latin Modern and all the TeX Gyre fonts, come with different optical sizes and you can select a smaller one, e.g. script-features={OpticalSize=8}, sscript-features={OpticalSize=6}. Finally, math fonts support the font features script-features={Script=Math, Style=MathScript}, sscript-features={Script=Math, Style=MathScriptScript}.



For more information, see the documentation of the unicode-math and fontspec packages.






share|improve this answer





















  • 2





    As rationale for not using the default math fonts is often to get better match with text fonts, it would be interesting to mention which scripts are supported by the matching text fonts. For example as a far as I know the TeX Gyre only support the Latin script, which is a serious limitation for use in automated document production where Unicode characters may pop up from Cyrillic, Greek, Hebrew, CJK, ...

    – user4686
    Apr 6 '18 at 6:41






  • 3





    @jfbu This answer is CW with exactly that intention. Please add your improvements.

    – Henri Menke
    Apr 6 '18 at 6:54






  • 2





    I don't know enough about fonts and don't have access to the commercial fonts so I hope the information will be added by someone else.

    – user4686
    Apr 6 '18 at 8:45






  • 1





    There’s also Berenis ADF Pro Math. However, fontspec complains that OpenType feature Style=MathScript (ssty) not available for font BerenisADFProMath with script Math and language Default and the PDF output uses Berenis only for the text fonts, substituting Latin Modern for the math. Someone who knows about making math fonts may want to look into fixing this one (and whether it’s worth fixing).

    – Thérèse
    Apr 8 '18 at 0:52






  • 1





    @jfbu I asked a question about this a long time ago What is the difference between unicode-math and mathspec? It could maybe be linked. Other than that I agree, that this is going beyond the scope.

    – Henri Menke
    Apr 10 '18 at 0:34
















77
















The TeX Gyre Fonts



Latin Modern



This is the default font family loaded by unicode-math, but can also be set up explicitly. It is an OpenType version of Latin Modern, a clone of DEK’s Computer Modern, based on Monotype Modern, and of the AMS symbol fonts. The default fonts are therefore nearly identical to those of classic LaTeX.



This conversion is the work of the GUST project, which later created the TeX Gyre fonts from the free URW fonts, which were based on the Adobe PostScript fonts. All of these fonts (except TeX Gyre DejaVu Math, a conversion of an existing OpenType font into a math font) have similar repertoires and features. They support all European languages as well as Romanizations of other languages.



The vast majority of the fonts on this page similarly cloned an existing font, but changed the name to avoid confusion or to comply with the license. Some have gone through three or four iterations of this.



GUST is the Polish TeX users’ group. Many of the people most motivated to extend existing fonts were from Southern or Eastern Europe, since fonts that already covered Western European languages and Greek letters for math were almost able to support their native languages.



% LaTeX
setmainfont{Latin Modern Roman}
setmathfont{Latin Modern Math}
% ConTeXt
setupbodyfont[modern]


Latin Modern



TeX Gyre Bonum



This is a clone of Bookman.



% LaTeX
setmainfont{TeX Gyre Bonum}
setmathfont{TeX Gyre Bonum Math}
% ConTeXt
setupbodyfont[bonum]


TeX Gyre Bonum



TeX Gyre Pagella



This is a clone of Palatino.



% LaTeX
setmainfont{TeX Gyre Pagella}
setmathfont{TeX Gyre Pagella Math}
% ConTeXt
setupbodyfont[pagella]


TeX Gyre Pagella



TeX Gyre Schola



This is a clone of Century Schoolbook.



% LaTeX
setmainfont{TeX Gyre Schola}
setmathfont{TeX Gyre Schola Math}
% ConTeXt
setupbodyfont[schola]


TeX Gyre Schola



TeX Gyre Termes



This is a clone of Times.



% LaTeX
setmainfont{TeX Gyre Termes}
setmathfont{TeX Gyre Termes Math}
% ConTeXt
setupbodyfont[termes]


TeX Gyre Termes



TeX Gyre DejaVu Math



This font is an extension of the DejaVu Serif font, which is based on Arev, which is based on Bitstream Vera, which is based on Bitstream Prima.



It is significantly different from the other TeX Gyre fonts, as they were conversions of legacy fonts to Unicode, and this turns an existing, comprehensive Unicode font by someone else into a math font. The DejaVu project was started by Štěpán Roh of the Czech Republic.



% LaTeX
setmainfont{DejaVu Serif}
setmathfont{TeX Gyre DejaVu Math}
% ConTeXt
setupbodyfont[dejavu]


TeX Gyre DejaVu Math



DejaVu Math TeX Gyre



The version of the same font distributed by the DejaVu project rather than the TeX Gyre project.



% LaTeX
setmainfont{DejaVu Serif}
setmathfont[Scale=MatchLowercase]{DejaVu Math TeX Gyre}


DejaVu Math TeX Gyre



Other Free Fonts



STIX Math Regular



One of the first attempts to create a comprehensive set of all scientific, technical and mathematical symbols. STIX was based on Elsevier’s Esstix, and inspired by Monotype’s Times 4-Line Mathematics Series 569, a font from the middle of the century that simplified typesetting mathematics on mechanical printing presses. The OpenType math support is not complete, which led to the XITS Math project being created.



% LaTeX
setmainfont{STIX}
setmathfont{STIX Math}
% ConTeXt
setupbodyfont[stix]


STIX Math Regular



XITS



This is an fork by Khaled Hosny of the STIX font. It is one of only two free math fonts to come in both a regular and a bold weight, meaning that boldmath, mathversion{bold} and boldsymbol will all work with it. The other is his Libertinus family.



% LaTeX
setmainfont{XITS}
setmathfont{XITS Math}
% ConTeXt
setupbodyfont[xits]


XITS



Libertinus



Libertinus is a fork by Khaled Hosny of the Linux Libertine font family by Philipp Poll. It and XITS Math, also by Khaled Hosny, are the two free math fonts that comes in a bold weight.



% LaTeX
setmainfont{Libertinus Serif}
setmathfont{Libertinus Math}
% ConTeXt
setupbodyfont[libertinus]


Libertinus



Asana Math



Asana is a close match for Palatino, and therefore its clones, such as Pagella. You should use one of them as the text font. If you try to make Asana the text font, you will not get either styles or ligatures.



It was created by Apostolos Syropoulos, based on Type 1 fonts by Young Ryu, and is similar in appearance to the pxfonts package.



% LaTeX
setmainfont[Ligatures={Common,Rare,TeX}]{TeX Gyre Pagella}
setmathfont[Scale=MatchUppercase]{Asana Math}
% ConTeXt
setupbodyfont[libertinus] % automatically loads Pagella for text


Asana Math with Pagella



STIX Two



This is the successor to the STIX font of which XITS is a clone. It was added to CTAN, TeX Live and MikTeX in 2018.



% LaTeX
setmainfont{STIX Two Text}
setmathfont{STIX Two Math}
% ConTeXt
setupbodyfont[stixtwo]


STIX Two



GFS Neohellenic



This is one of the newer offerings on CTAN; it has only residual serifs and may be especially useful for presentations. (Although it is possible to load a sans-serif font family with range=up, it, bfup and bfit. The unicode-math documentation also gives an example of how to remap the math sans-serif letters to the main alphabet, but as of 0.81, it’s broken.) It is based on the public-domain font New Hellenic, inspired by a Greek font from Renaissance Venice.



The math version was commissioned from the Greek Fonts Society by the Department of Mathematics at the University of the Aegean.



% LaTeX
setmainfont{GFS Neohellenic}
setmathfont{GFS Neohellenic Math}
% ConTeXt (no ready-made typescript available)
definefontfamily [mainface] [serif] [Latin Modern Roman]
definefontfamily [mainface] [sans] [GFS Neohellenic]
definefontfamily [mainface] [mono] [Latin Modern Mono]
definefontfamily [mainface] [math] [GFS Neohellenic Math]
setupbodyfont[mainface]


GFS Neohellenic



Neo Euler (Free but Incomplete)



A conversion by Khaled Hosny of the AMS Euler font designed by Hermann Zapf for the book DEK co-authored, Concrete Mathematics: A Foundation for Computer Science. It was originally matched with the font Concrete Roman, which is now available from the Computer Modern Unicode project as CMU Concrete. Euler goes well with Zapf’s other famous fonts, the serif font Palatino (and therefore its many clones, including Pagella and Asana) and the sans-serif font Optima (which has an OpenType clone, URW Classico). Linux Libertine and its extension Libertinus are also good matches for it, and Libertinus Math, also by Khaled Hosny, shows some similarities.



Neo Euler was abandoned in 2010 and has a smaller repertoire of glyphs than the other fonts (nor will Zapf, who passed away in 2015, draw any more), so if it is missing any glyph you need, you might want to load it with the range= option, to use it with a fallback font that contains the glyphs it’s missing. The following loads all glyphs defined in Neo Euler, loads CMU Concrete as the text font, and uses Libertinus Math as the fallback for the rest (such as the ratio).



Since Neo Euler has upright glyphs and no italic glyphs, it requires the math-style=upright option of unicode-math. Unfortunately, the font metrics for subscripts and superscripts appear to be broken, so this example turns off script style for letters and numerals. It also makes sure to load the Greek lowercase letters as upright. If you want to use it with the full range of math alphabets, see below for a demo of how to fill in the missing pieces from other fonts.



% LaTeX
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}


Neo Euler with CMU Concrete



Garamond Math



As of June 2018, this font is still under development and not included in TeX distributions. It is available on GitHub. Some versions of EB Garamond are on CTAN, but not the full family, available here.



% LaTeX
setmainfont{EBGaramond-Regular}[
BoldFont = EBGaramond-Bold,
ItalicFont = EBGaramond-Italic,
BoldItalicFont = EBGaramond-BoldItalic
]
setmathfont{Garamond Math}[Scale=MatchUppercase]


Garamond Math with EB Garamond



Berenis ADF Pro (Free but Incomplete)



This is another incomplete font not included with TeX Live. It is available gratis from the foundry. The text font also contains rare ligatures not shown here, as they look out of place in a mathematical text.



Whether this should be considered an “OpenType math font” is debatable. It lacks an OpenType math table, and unicode-math 0.81 will not consider it valid as the main math font. This sample falls back to Latin Modern Math as the default math font, then loads every glyph this font defines over that, which you can do for any TrueType or OpenType font. It contains only upright symbols, so it will only work with the math-style=upright option of unicode-math (or if you kitbash it to import symbols from the text fonts; see below).



Despite being licensed under the GPL2, it does not come with any source files.



% LaTeX
unimathsetup{math-style=upright}
setmainfont[Ligatures={Common,TeX}]{Berenis ADF Pro}
defaultfontfeatures{Scale=MatchLowercase}
setmathfont{Latin Modern Math}
setmathfont[range={"0020-"007E,"00A0-"021F,"0237,"0259,"02C6,"02C7,
"02D8-"02DD,"0311,"0326,"037B-"037E,"0384-"038A,"038C-"045F,"0490-"0491,
"1E10-"1E11,"1E80-"1E85,"1EF2-"1EF3,"2000-"2026,"2030,"2039-"203A,"2044,
"2070,"2074-"207A,"207D-"208A,"208D-"208E,"20AC,"20DD-"20DF,"2102-"2103,
"2109,"210E-"210F,"2113,"2116,"2122,"2126,"212A,"212C-"212E,"2133,"213D,
"2153-"215E,"2190-"219D,"21A4-"21A8,"21AE-"21CA,"21D1-"21EA,"2202-"2212,
"2216-"221E,"2223-"222D,"223C="223D,"2241,"2248-"2249,"224D,"2260,
"2264-"2265,"226A-"226B,"226D-"2275,"227A-"227B,"2280-"2281,"2290-"2294,
"22C4-"22C5,"22E2-"22E3,"22EF,"2302-"2303,"25CA,"FB00-"FB06}
]{Berenis ADF Pro Math Regular}


Berenis ADF Pro



Fira Math



This font is under development. It can be found on CTAN, or at github. It is forked from Fira fonts, which are also free. FiraGO supports many languages and Open Type features, and is available in both TeX Live and MikTeX.



As of October 2018, The Fira Math project a work in progress, and receives frequent updates. You should check that you have the latest version and whether any symbols you need are missing. If so, you can load those from another math font (such as TeX Gyre DejaVu Math) using the range= option of setmathfont.



% LaTeX
setmainfont{FiraGO}
setmathfont{FiraMath-Regular}


Fira Math Specimen



Commercial Fonts



Lucida (Commercial)



Distributed by the TeX User Group. https://tug.org/store/lucida/index.html



% LaTeX
setmainfont[
UprightFont = *,
ItalicFont = *-Italic,
BoldFont = *-Demi,
BoldItalicFont = *-DemiItalic,
]{LucidaBrightOT}
setmathfont{Lucida Bright Math OT}
% ConTeXt
setupbodyfont[lucidaot]


Lucida



Minion Math (Commercial)



Distributed by its designer, Johannes Küster. It comes in four weights and five optical sizes, the most of any OpenType math font (as of 2019).



% LaTeX
setmainfont{Minion Pro}

setmathfont[
SizeFeatures = {
{Size = -6, Font = MinionMath-Tiny, Style = MathScriptScript},
{Size = 6-8.4, Font = MinionMath-Capt, Style = MathScript},
{Size = 8.4-13, Font = MinionMath-Regular},
}]{MinionMath-Regular}
setmathfont{MinionMath-Bold}[range={bfup->up,bfit->it}]
% ConTeXt
setupbodyfont[minion]


Minion Math



Cambria Math (Commercial)



This is the font Microsoft Office uses for its equations. The font ships with Microsoft Windows Vista and later, with MS Office, and an early version was bundled with some versions of the MS Office viewers. Monotype sells licenses to use it on workstations and embed it in webpages, but the most likely way to have a legal copy of it on Linux is with a symbolic link in /usr/local/share/fonts/ or ~/.fonts to cambria_01.ttf on a Windows partition.



% LaTeX
setmainfont{Cambria}
setmathfont{Cambria Math}
% ConTeXt
setupbodyfont[cambria]


Cambria



Stylistic Sets and Alternates



Many of these fonts contain either stylistic sets or stylistic alternates that allow you to select between different versions of some of the symbols in the font. STIX Two has an especially large number, and actually documents them. If a font doesn’t, you can still check what it currently supports by opening it in FontForge. This is in addition to the choices you can make with package options.



For example, both XITS and STIX Two include a Stylistic Set 8 with alternative upright integrals. (In fact, STIX Two supports every stylistic set XITS Math does.) You can select them as follows:



% LaTeX
setmainfont{XITS}
setmathfont{XITS Math}
setmathfont[range={"222B-"2233,"2A0B-"2A1C},StylisticSet=8]{XITS Math}


XITS with upright integrals



For comparison, here is the vanilla XITS example again:



XITS



A common use of these alternative styles is on the script alphabet. Traditionally, LaTeX had separate alphabets for mathcal and mathscr. However, the Unicode consortium decided that no mathematical texts use both of these with different meanings, so they were different presentation forms assigned to the same codepoints.



However, unicode-math allows you to load different alphabets as mathcal and mathscr, and also mathbfcal and mathbfscr. Some fonts, such as XITS, implement this as a stylistic set, some, such as Asana Math, implement it as a stylistic alternative, and others require you to load a different font of you want to do that. For example, to do it with Asana Math:



% LaTeX
documentclass[preview,varwidth]{standalone}
usepackage{microtype}
usepackage{unicode-math}

setmainfont[Ligatures={Common,Rare,TeX}]{Palatino Linotype}
% You might have Palatino or Palatino Linotype installed.
defaultfontfeatures{Scale=MatchLowercase}

setmathfont[Scale=MatchLowercase]{Asana Math}
setmathfont[range={cal,bfcal},
Alternate,
Scale=MatchUppercase]
{Asana Math}

begin{document}
Calligraphic: (mathcal{ABC}) qquad Script: (mathscr{ABC})
end{document}


Asana Math script alphabets



Kitbashing Math Fonts



It is possible to load symbols from any font into a math style, and use them as symbols with symup. For example, nearly all fonts include a QED symbol at U+220E, but what it looks like varies considerably. To get the version in XITS Math (the black tombstone that matches the 1997 edition of The Art of Computer Programming), you can use the commands:



% LaTeX
documentclass[preview,varwidth]{standalone}
usepackage{amsmath,amsthm}
usepackage{unicode-math}

setmathfont[range=`∎]{XITS Math}
DeclareRobustCommandqedsymbol{ensuremath{symup{∎}}}

begin{document}
begin{proof}[Tautology]
True
end{proof}
end{document}


Tautology with QED



Another common request is to combine the letters of a text font family with the symbols of a math font. Since Neo Euler is the math font lacking italic letters at all, it makes a good example. A frequent recommendation is to combine Euler with Hermann Zapf’s other creation, Palatino. Since both Pagella and Asana are clones of Palatino, we can use Pagella as the text fonts and take all the missing glyphs, including italic math letters, from Asana.



This gives us the repertoire to convert the sample to ISO style (a great excuse to show off upright and italic math letters together). Constants such as π and i remain upright (written 2 symup{pi i}, the denominator still shows Euler math letters). Uppercase Greek letters, such as the Gamma function, are now italic rather than upright, but symbols based on Greek letters, such as summation and product, remain the same.



Essentially, this adds a few lines to the bottom of the preamble filling in all the remaining math alphabets and setting up digits to match the text font.



% LaTeX
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}


Neo Euler plus Asana plus Latin Modern with Pagella



Here again is the example with Neo Euler as the math font:



Neo Euler with CMU Concrete



(The eagle-eyed will have noticed one more unexplained line of code, which sets the partial and nabla package options to upright. Neo Euler contains the upright ∂ symbol in U+2202, but not the cursive ∂ symbol at U+1D715, which confuses unicode-math. Otherwise, load U+1D715 from another math font.)



It is often a good idea to set up subscripts, superscripts, sub-subscripts and super-superscripts to use a smaller optical size, to make it more legible at smaller sizes. There are three methods. There might be a companion font designed for smaller sizes. which you would load with script-font=. (The commercial font Aldus is intended as this for Palatino.) Many fonts, including Latin Modern and all the TeX Gyre fonts, come with different optical sizes and you can select a smaller one, e.g. script-features={OpticalSize=8}, sscript-features={OpticalSize=6}. Finally, math fonts support the font features script-features={Script=Math, Style=MathScript}, sscript-features={Script=Math, Style=MathScriptScript}.



For more information, see the documentation of the unicode-math and fontspec packages.






share|improve this answer





















  • 2





    As rationale for not using the default math fonts is often to get better match with text fonts, it would be interesting to mention which scripts are supported by the matching text fonts. For example as a far as I know the TeX Gyre only support the Latin script, which is a serious limitation for use in automated document production where Unicode characters may pop up from Cyrillic, Greek, Hebrew, CJK, ...

    – user4686
    Apr 6 '18 at 6:41






  • 3





    @jfbu This answer is CW with exactly that intention. Please add your improvements.

    – Henri Menke
    Apr 6 '18 at 6:54






  • 2





    I don't know enough about fonts and don't have access to the commercial fonts so I hope the information will be added by someone else.

    – user4686
    Apr 6 '18 at 8:45






  • 1





    There’s also Berenis ADF Pro Math. However, fontspec complains that OpenType feature Style=MathScript (ssty) not available for font BerenisADFProMath with script Math and language Default and the PDF output uses Berenis only for the text fonts, substituting Latin Modern for the math. Someone who knows about making math fonts may want to look into fixing this one (and whether it’s worth fixing).

    – Thérèse
    Apr 8 '18 at 0:52






  • 1





    @jfbu I asked a question about this a long time ago What is the difference between unicode-math and mathspec? It could maybe be linked. Other than that I agree, that this is going beyond the scope.

    – Henri Menke
    Apr 10 '18 at 0:34














77












77








77









The TeX Gyre Fonts



Latin Modern



This is the default font family loaded by unicode-math, but can also be set up explicitly. It is an OpenType version of Latin Modern, a clone of DEK’s Computer Modern, based on Monotype Modern, and of the AMS symbol fonts. The default fonts are therefore nearly identical to those of classic LaTeX.



This conversion is the work of the GUST project, which later created the TeX Gyre fonts from the free URW fonts, which were based on the Adobe PostScript fonts. All of these fonts (except TeX Gyre DejaVu Math, a conversion of an existing OpenType font into a math font) have similar repertoires and features. They support all European languages as well as Romanizations of other languages.



The vast majority of the fonts on this page similarly cloned an existing font, but changed the name to avoid confusion or to comply with the license. Some have gone through three or four iterations of this.



GUST is the Polish TeX users’ group. Many of the people most motivated to extend existing fonts were from Southern or Eastern Europe, since fonts that already covered Western European languages and Greek letters for math were almost able to support their native languages.



% LaTeX
setmainfont{Latin Modern Roman}
setmathfont{Latin Modern Math}
% ConTeXt
setupbodyfont[modern]


Latin Modern



TeX Gyre Bonum



This is a clone of Bookman.



% LaTeX
setmainfont{TeX Gyre Bonum}
setmathfont{TeX Gyre Bonum Math}
% ConTeXt
setupbodyfont[bonum]


TeX Gyre Bonum



TeX Gyre Pagella



This is a clone of Palatino.



% LaTeX
setmainfont{TeX Gyre Pagella}
setmathfont{TeX Gyre Pagella Math}
% ConTeXt
setupbodyfont[pagella]


TeX Gyre Pagella



TeX Gyre Schola



This is a clone of Century Schoolbook.



% LaTeX
setmainfont{TeX Gyre Schola}
setmathfont{TeX Gyre Schola Math}
% ConTeXt
setupbodyfont[schola]


TeX Gyre Schola



TeX Gyre Termes



This is a clone of Times.



% LaTeX
setmainfont{TeX Gyre Termes}
setmathfont{TeX Gyre Termes Math}
% ConTeXt
setupbodyfont[termes]


TeX Gyre Termes



TeX Gyre DejaVu Math



This font is an extension of the DejaVu Serif font, which is based on Arev, which is based on Bitstream Vera, which is based on Bitstream Prima.



It is significantly different from the other TeX Gyre fonts, as they were conversions of legacy fonts to Unicode, and this turns an existing, comprehensive Unicode font by someone else into a math font. The DejaVu project was started by Štěpán Roh of the Czech Republic.



% LaTeX
setmainfont{DejaVu Serif}
setmathfont{TeX Gyre DejaVu Math}
% ConTeXt
setupbodyfont[dejavu]


TeX Gyre DejaVu Math



DejaVu Math TeX Gyre



The version of the same font distributed by the DejaVu project rather than the TeX Gyre project.



% LaTeX
setmainfont{DejaVu Serif}
setmathfont[Scale=MatchLowercase]{DejaVu Math TeX Gyre}


DejaVu Math TeX Gyre



Other Free Fonts



STIX Math Regular



One of the first attempts to create a comprehensive set of all scientific, technical and mathematical symbols. STIX was based on Elsevier’s Esstix, and inspired by Monotype’s Times 4-Line Mathematics Series 569, a font from the middle of the century that simplified typesetting mathematics on mechanical printing presses. The OpenType math support is not complete, which led to the XITS Math project being created.



% LaTeX
setmainfont{STIX}
setmathfont{STIX Math}
% ConTeXt
setupbodyfont[stix]


STIX Math Regular



XITS



This is an fork by Khaled Hosny of the STIX font. It is one of only two free math fonts to come in both a regular and a bold weight, meaning that boldmath, mathversion{bold} and boldsymbol will all work with it. The other is his Libertinus family.



% LaTeX
setmainfont{XITS}
setmathfont{XITS Math}
% ConTeXt
setupbodyfont[xits]


XITS



Libertinus



Libertinus is a fork by Khaled Hosny of the Linux Libertine font family by Philipp Poll. It and XITS Math, also by Khaled Hosny, are the two free math fonts that comes in a bold weight.



% LaTeX
setmainfont{Libertinus Serif}
setmathfont{Libertinus Math}
% ConTeXt
setupbodyfont[libertinus]


Libertinus



Asana Math



Asana is a close match for Palatino, and therefore its clones, such as Pagella. You should use one of them as the text font. If you try to make Asana the text font, you will not get either styles or ligatures.



It was created by Apostolos Syropoulos, based on Type 1 fonts by Young Ryu, and is similar in appearance to the pxfonts package.



% LaTeX
setmainfont[Ligatures={Common,Rare,TeX}]{TeX Gyre Pagella}
setmathfont[Scale=MatchUppercase]{Asana Math}
% ConTeXt
setupbodyfont[libertinus] % automatically loads Pagella for text


Asana Math with Pagella



STIX Two



This is the successor to the STIX font of which XITS is a clone. It was added to CTAN, TeX Live and MikTeX in 2018.



% LaTeX
setmainfont{STIX Two Text}
setmathfont{STIX Two Math}
% ConTeXt
setupbodyfont[stixtwo]


STIX Two



GFS Neohellenic



This is one of the newer offerings on CTAN; it has only residual serifs and may be especially useful for presentations. (Although it is possible to load a sans-serif font family with range=up, it, bfup and bfit. The unicode-math documentation also gives an example of how to remap the math sans-serif letters to the main alphabet, but as of 0.81, it’s broken.) It is based on the public-domain font New Hellenic, inspired by a Greek font from Renaissance Venice.



The math version was commissioned from the Greek Fonts Society by the Department of Mathematics at the University of the Aegean.



% LaTeX
setmainfont{GFS Neohellenic}
setmathfont{GFS Neohellenic Math}
% ConTeXt (no ready-made typescript available)
definefontfamily [mainface] [serif] [Latin Modern Roman]
definefontfamily [mainface] [sans] [GFS Neohellenic]
definefontfamily [mainface] [mono] [Latin Modern Mono]
definefontfamily [mainface] [math] [GFS Neohellenic Math]
setupbodyfont[mainface]


GFS Neohellenic



Neo Euler (Free but Incomplete)



A conversion by Khaled Hosny of the AMS Euler font designed by Hermann Zapf for the book DEK co-authored, Concrete Mathematics: A Foundation for Computer Science. It was originally matched with the font Concrete Roman, which is now available from the Computer Modern Unicode project as CMU Concrete. Euler goes well with Zapf’s other famous fonts, the serif font Palatino (and therefore its many clones, including Pagella and Asana) and the sans-serif font Optima (which has an OpenType clone, URW Classico). Linux Libertine and its extension Libertinus are also good matches for it, and Libertinus Math, also by Khaled Hosny, shows some similarities.



Neo Euler was abandoned in 2010 and has a smaller repertoire of glyphs than the other fonts (nor will Zapf, who passed away in 2015, draw any more), so if it is missing any glyph you need, you might want to load it with the range= option, to use it with a fallback font that contains the glyphs it’s missing. The following loads all glyphs defined in Neo Euler, loads CMU Concrete as the text font, and uses Libertinus Math as the fallback for the rest (such as the ratio).



Since Neo Euler has upright glyphs and no italic glyphs, it requires the math-style=upright option of unicode-math. Unfortunately, the font metrics for subscripts and superscripts appear to be broken, so this example turns off script style for letters and numerals. It also makes sure to load the Greek lowercase letters as upright. If you want to use it with the full range of math alphabets, see below for a demo of how to fill in the missing pieces from other fonts.



% LaTeX
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}


Neo Euler with CMU Concrete



Garamond Math



As of June 2018, this font is still under development and not included in TeX distributions. It is available on GitHub. Some versions of EB Garamond are on CTAN, but not the full family, available here.



% LaTeX
setmainfont{EBGaramond-Regular}[
BoldFont = EBGaramond-Bold,
ItalicFont = EBGaramond-Italic,
BoldItalicFont = EBGaramond-BoldItalic
]
setmathfont{Garamond Math}[Scale=MatchUppercase]


Garamond Math with EB Garamond



Berenis ADF Pro (Free but Incomplete)



This is another incomplete font not included with TeX Live. It is available gratis from the foundry. The text font also contains rare ligatures not shown here, as they look out of place in a mathematical text.



Whether this should be considered an “OpenType math font” is debatable. It lacks an OpenType math table, and unicode-math 0.81 will not consider it valid as the main math font. This sample falls back to Latin Modern Math as the default math font, then loads every glyph this font defines over that, which you can do for any TrueType or OpenType font. It contains only upright symbols, so it will only work with the math-style=upright option of unicode-math (or if you kitbash it to import symbols from the text fonts; see below).



Despite being licensed under the GPL2, it does not come with any source files.



% LaTeX
unimathsetup{math-style=upright}
setmainfont[Ligatures={Common,TeX}]{Berenis ADF Pro}
defaultfontfeatures{Scale=MatchLowercase}
setmathfont{Latin Modern Math}
setmathfont[range={"0020-"007E,"00A0-"021F,"0237,"0259,"02C6,"02C7,
"02D8-"02DD,"0311,"0326,"037B-"037E,"0384-"038A,"038C-"045F,"0490-"0491,
"1E10-"1E11,"1E80-"1E85,"1EF2-"1EF3,"2000-"2026,"2030,"2039-"203A,"2044,
"2070,"2074-"207A,"207D-"208A,"208D-"208E,"20AC,"20DD-"20DF,"2102-"2103,
"2109,"210E-"210F,"2113,"2116,"2122,"2126,"212A,"212C-"212E,"2133,"213D,
"2153-"215E,"2190-"219D,"21A4-"21A8,"21AE-"21CA,"21D1-"21EA,"2202-"2212,
"2216-"221E,"2223-"222D,"223C="223D,"2241,"2248-"2249,"224D,"2260,
"2264-"2265,"226A-"226B,"226D-"2275,"227A-"227B,"2280-"2281,"2290-"2294,
"22C4-"22C5,"22E2-"22E3,"22EF,"2302-"2303,"25CA,"FB00-"FB06}
]{Berenis ADF Pro Math Regular}


Berenis ADF Pro



Fira Math



This font is under development. It can be found on CTAN, or at github. It is forked from Fira fonts, which are also free. FiraGO supports many languages and Open Type features, and is available in both TeX Live and MikTeX.



As of October 2018, The Fira Math project a work in progress, and receives frequent updates. You should check that you have the latest version and whether any symbols you need are missing. If so, you can load those from another math font (such as TeX Gyre DejaVu Math) using the range= option of setmathfont.



% LaTeX
setmainfont{FiraGO}
setmathfont{FiraMath-Regular}


Fira Math Specimen



Commercial Fonts



Lucida (Commercial)



Distributed by the TeX User Group. https://tug.org/store/lucida/index.html



% LaTeX
setmainfont[
UprightFont = *,
ItalicFont = *-Italic,
BoldFont = *-Demi,
BoldItalicFont = *-DemiItalic,
]{LucidaBrightOT}
setmathfont{Lucida Bright Math OT}
% ConTeXt
setupbodyfont[lucidaot]


Lucida



Minion Math (Commercial)



Distributed by its designer, Johannes Küster. It comes in four weights and five optical sizes, the most of any OpenType math font (as of 2019).



% LaTeX
setmainfont{Minion Pro}

setmathfont[
SizeFeatures = {
{Size = -6, Font = MinionMath-Tiny, Style = MathScriptScript},
{Size = 6-8.4, Font = MinionMath-Capt, Style = MathScript},
{Size = 8.4-13, Font = MinionMath-Regular},
}]{MinionMath-Regular}
setmathfont{MinionMath-Bold}[range={bfup->up,bfit->it}]
% ConTeXt
setupbodyfont[minion]


Minion Math



Cambria Math (Commercial)



This is the font Microsoft Office uses for its equations. The font ships with Microsoft Windows Vista and later, with MS Office, and an early version was bundled with some versions of the MS Office viewers. Monotype sells licenses to use it on workstations and embed it in webpages, but the most likely way to have a legal copy of it on Linux is with a symbolic link in /usr/local/share/fonts/ or ~/.fonts to cambria_01.ttf on a Windows partition.



% LaTeX
setmainfont{Cambria}
setmathfont{Cambria Math}
% ConTeXt
setupbodyfont[cambria]


Cambria



Stylistic Sets and Alternates



Many of these fonts contain either stylistic sets or stylistic alternates that allow you to select between different versions of some of the symbols in the font. STIX Two has an especially large number, and actually documents them. If a font doesn’t, you can still check what it currently supports by opening it in FontForge. This is in addition to the choices you can make with package options.



For example, both XITS and STIX Two include a Stylistic Set 8 with alternative upright integrals. (In fact, STIX Two supports every stylistic set XITS Math does.) You can select them as follows:



% LaTeX
setmainfont{XITS}
setmathfont{XITS Math}
setmathfont[range={"222B-"2233,"2A0B-"2A1C},StylisticSet=8]{XITS Math}


XITS with upright integrals



For comparison, here is the vanilla XITS example again:



XITS



A common use of these alternative styles is on the script alphabet. Traditionally, LaTeX had separate alphabets for mathcal and mathscr. However, the Unicode consortium decided that no mathematical texts use both of these with different meanings, so they were different presentation forms assigned to the same codepoints.



However, unicode-math allows you to load different alphabets as mathcal and mathscr, and also mathbfcal and mathbfscr. Some fonts, such as XITS, implement this as a stylistic set, some, such as Asana Math, implement it as a stylistic alternative, and others require you to load a different font of you want to do that. For example, to do it with Asana Math:



% LaTeX
documentclass[preview,varwidth]{standalone}
usepackage{microtype}
usepackage{unicode-math}

setmainfont[Ligatures={Common,Rare,TeX}]{Palatino Linotype}
% You might have Palatino or Palatino Linotype installed.
defaultfontfeatures{Scale=MatchLowercase}

setmathfont[Scale=MatchLowercase]{Asana Math}
setmathfont[range={cal,bfcal},
Alternate,
Scale=MatchUppercase]
{Asana Math}

begin{document}
Calligraphic: (mathcal{ABC}) qquad Script: (mathscr{ABC})
end{document}


Asana Math script alphabets



Kitbashing Math Fonts



It is possible to load symbols from any font into a math style, and use them as symbols with symup. For example, nearly all fonts include a QED symbol at U+220E, but what it looks like varies considerably. To get the version in XITS Math (the black tombstone that matches the 1997 edition of The Art of Computer Programming), you can use the commands:



% LaTeX
documentclass[preview,varwidth]{standalone}
usepackage{amsmath,amsthm}
usepackage{unicode-math}

setmathfont[range=`∎]{XITS Math}
DeclareRobustCommandqedsymbol{ensuremath{symup{∎}}}

begin{document}
begin{proof}[Tautology]
True
end{proof}
end{document}


Tautology with QED



Another common request is to combine the letters of a text font family with the symbols of a math font. Since Neo Euler is the math font lacking italic letters at all, it makes a good example. A frequent recommendation is to combine Euler with Hermann Zapf’s other creation, Palatino. Since both Pagella and Asana are clones of Palatino, we can use Pagella as the text fonts and take all the missing glyphs, including italic math letters, from Asana.



This gives us the repertoire to convert the sample to ISO style (a great excuse to show off upright and italic math letters together). Constants such as π and i remain upright (written 2 symup{pi i}, the denominator still shows Euler math letters). Uppercase Greek letters, such as the Gamma function, are now italic rather than upright, but symbols based on Greek letters, such as summation and product, remain the same.



Essentially, this adds a few lines to the bottom of the preamble filling in all the remaining math alphabets and setting up digits to match the text font.



% LaTeX
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}


Neo Euler plus Asana plus Latin Modern with Pagella



Here again is the example with Neo Euler as the math font:



Neo Euler with CMU Concrete



(The eagle-eyed will have noticed one more unexplained line of code, which sets the partial and nabla package options to upright. Neo Euler contains the upright ∂ symbol in U+2202, but not the cursive ∂ symbol at U+1D715, which confuses unicode-math. Otherwise, load U+1D715 from another math font.)



It is often a good idea to set up subscripts, superscripts, sub-subscripts and super-superscripts to use a smaller optical size, to make it more legible at smaller sizes. There are three methods. There might be a companion font designed for smaller sizes. which you would load with script-font=. (The commercial font Aldus is intended as this for Palatino.) Many fonts, including Latin Modern and all the TeX Gyre fonts, come with different optical sizes and you can select a smaller one, e.g. script-features={OpticalSize=8}, sscript-features={OpticalSize=6}. Finally, math fonts support the font features script-features={Script=Math, Style=MathScript}, sscript-features={Script=Math, Style=MathScriptScript}.



For more information, see the documentation of the unicode-math and fontspec packages.






share|improve this answer

















The TeX Gyre Fonts



Latin Modern



This is the default font family loaded by unicode-math, but can also be set up explicitly. It is an OpenType version of Latin Modern, a clone of DEK’s Computer Modern, based on Monotype Modern, and of the AMS symbol fonts. The default fonts are therefore nearly identical to those of classic LaTeX.



This conversion is the work of the GUST project, which later created the TeX Gyre fonts from the free URW fonts, which were based on the Adobe PostScript fonts. All of these fonts (except TeX Gyre DejaVu Math, a conversion of an existing OpenType font into a math font) have similar repertoires and features. They support all European languages as well as Romanizations of other languages.



The vast majority of the fonts on this page similarly cloned an existing font, but changed the name to avoid confusion or to comply with the license. Some have gone through three or four iterations of this.



GUST is the Polish TeX users’ group. Many of the people most motivated to extend existing fonts were from Southern or Eastern Europe, since fonts that already covered Western European languages and Greek letters for math were almost able to support their native languages.



% LaTeX
setmainfont{Latin Modern Roman}
setmathfont{Latin Modern Math}
% ConTeXt
setupbodyfont[modern]


Latin Modern



TeX Gyre Bonum



This is a clone of Bookman.



% LaTeX
setmainfont{TeX Gyre Bonum}
setmathfont{TeX Gyre Bonum Math}
% ConTeXt
setupbodyfont[bonum]


TeX Gyre Bonum



TeX Gyre Pagella



This is a clone of Palatino.



% LaTeX
setmainfont{TeX Gyre Pagella}
setmathfont{TeX Gyre Pagella Math}
% ConTeXt
setupbodyfont[pagella]


TeX Gyre Pagella



TeX Gyre Schola



This is a clone of Century Schoolbook.



% LaTeX
setmainfont{TeX Gyre Schola}
setmathfont{TeX Gyre Schola Math}
% ConTeXt
setupbodyfont[schola]


TeX Gyre Schola



TeX Gyre Termes



This is a clone of Times.



% LaTeX
setmainfont{TeX Gyre Termes}
setmathfont{TeX Gyre Termes Math}
% ConTeXt
setupbodyfont[termes]


TeX Gyre Termes



TeX Gyre DejaVu Math



This font is an extension of the DejaVu Serif font, which is based on Arev, which is based on Bitstream Vera, which is based on Bitstream Prima.



It is significantly different from the other TeX Gyre fonts, as they were conversions of legacy fonts to Unicode, and this turns an existing, comprehensive Unicode font by someone else into a math font. The DejaVu project was started by Štěpán Roh of the Czech Republic.



% LaTeX
setmainfont{DejaVu Serif}
setmathfont{TeX Gyre DejaVu Math}
% ConTeXt
setupbodyfont[dejavu]


TeX Gyre DejaVu Math



DejaVu Math TeX Gyre



The version of the same font distributed by the DejaVu project rather than the TeX Gyre project.



% LaTeX
setmainfont{DejaVu Serif}
setmathfont[Scale=MatchLowercase]{DejaVu Math TeX Gyre}


DejaVu Math TeX Gyre



Other Free Fonts



STIX Math Regular



One of the first attempts to create a comprehensive set of all scientific, technical and mathematical symbols. STIX was based on Elsevier’s Esstix, and inspired by Monotype’s Times 4-Line Mathematics Series 569, a font from the middle of the century that simplified typesetting mathematics on mechanical printing presses. The OpenType math support is not complete, which led to the XITS Math project being created.



% LaTeX
setmainfont{STIX}
setmathfont{STIX Math}
% ConTeXt
setupbodyfont[stix]


STIX Math Regular



XITS



This is an fork by Khaled Hosny of the STIX font. It is one of only two free math fonts to come in both a regular and a bold weight, meaning that boldmath, mathversion{bold} and boldsymbol will all work with it. The other is his Libertinus family.



% LaTeX
setmainfont{XITS}
setmathfont{XITS Math}
% ConTeXt
setupbodyfont[xits]


XITS



Libertinus



Libertinus is a fork by Khaled Hosny of the Linux Libertine font family by Philipp Poll. It and XITS Math, also by Khaled Hosny, are the two free math fonts that comes in a bold weight.



% LaTeX
setmainfont{Libertinus Serif}
setmathfont{Libertinus Math}
% ConTeXt
setupbodyfont[libertinus]


Libertinus



Asana Math



Asana is a close match for Palatino, and therefore its clones, such as Pagella. You should use one of them as the text font. If you try to make Asana the text font, you will not get either styles or ligatures.



It was created by Apostolos Syropoulos, based on Type 1 fonts by Young Ryu, and is similar in appearance to the pxfonts package.



% LaTeX
setmainfont[Ligatures={Common,Rare,TeX}]{TeX Gyre Pagella}
setmathfont[Scale=MatchUppercase]{Asana Math}
% ConTeXt
setupbodyfont[libertinus] % automatically loads Pagella for text


Asana Math with Pagella



STIX Two



This is the successor to the STIX font of which XITS is a clone. It was added to CTAN, TeX Live and MikTeX in 2018.



% LaTeX
setmainfont{STIX Two Text}
setmathfont{STIX Two Math}
% ConTeXt
setupbodyfont[stixtwo]


STIX Two



GFS Neohellenic



This is one of the newer offerings on CTAN; it has only residual serifs and may be especially useful for presentations. (Although it is possible to load a sans-serif font family with range=up, it, bfup and bfit. The unicode-math documentation also gives an example of how to remap the math sans-serif letters to the main alphabet, but as of 0.81, it’s broken.) It is based on the public-domain font New Hellenic, inspired by a Greek font from Renaissance Venice.



The math version was commissioned from the Greek Fonts Society by the Department of Mathematics at the University of the Aegean.



% LaTeX
setmainfont{GFS Neohellenic}
setmathfont{GFS Neohellenic Math}
% ConTeXt (no ready-made typescript available)
definefontfamily [mainface] [serif] [Latin Modern Roman]
definefontfamily [mainface] [sans] [GFS Neohellenic]
definefontfamily [mainface] [mono] [Latin Modern Mono]
definefontfamily [mainface] [math] [GFS Neohellenic Math]
setupbodyfont[mainface]


GFS Neohellenic



Neo Euler (Free but Incomplete)



A conversion by Khaled Hosny of the AMS Euler font designed by Hermann Zapf for the book DEK co-authored, Concrete Mathematics: A Foundation for Computer Science. It was originally matched with the font Concrete Roman, which is now available from the Computer Modern Unicode project as CMU Concrete. Euler goes well with Zapf’s other famous fonts, the serif font Palatino (and therefore its many clones, including Pagella and Asana) and the sans-serif font Optima (which has an OpenType clone, URW Classico). Linux Libertine and its extension Libertinus are also good matches for it, and Libertinus Math, also by Khaled Hosny, shows some similarities.



Neo Euler was abandoned in 2010 and has a smaller repertoire of glyphs than the other fonts (nor will Zapf, who passed away in 2015, draw any more), so if it is missing any glyph you need, you might want to load it with the range= option, to use it with a fallback font that contains the glyphs it’s missing. The following loads all glyphs defined in Neo Euler, loads CMU Concrete as the text font, and uses Libertinus Math as the fallback for the rest (such as the ratio).



Since Neo Euler has upright glyphs and no italic glyphs, it requires the math-style=upright option of unicode-math. Unfortunately, the font metrics for subscripts and superscripts appear to be broken, so this example turns off script style for letters and numerals. It also makes sure to load the Greek lowercase letters as upright. If you want to use it with the full range of math alphabets, see below for a demo of how to fill in the missing pieces from other fonts.



% LaTeX
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}


Neo Euler with CMU Concrete



Garamond Math



As of June 2018, this font is still under development and not included in TeX distributions. It is available on GitHub. Some versions of EB Garamond are on CTAN, but not the full family, available here.



% LaTeX
setmainfont{EBGaramond-Regular}[
BoldFont = EBGaramond-Bold,
ItalicFont = EBGaramond-Italic,
BoldItalicFont = EBGaramond-BoldItalic
]
setmathfont{Garamond Math}[Scale=MatchUppercase]


Garamond Math with EB Garamond



Berenis ADF Pro (Free but Incomplete)



This is another incomplete font not included with TeX Live. It is available gratis from the foundry. The text font also contains rare ligatures not shown here, as they look out of place in a mathematical text.



Whether this should be considered an “OpenType math font” is debatable. It lacks an OpenType math table, and unicode-math 0.81 will not consider it valid as the main math font. This sample falls back to Latin Modern Math as the default math font, then loads every glyph this font defines over that, which you can do for any TrueType or OpenType font. It contains only upright symbols, so it will only work with the math-style=upright option of unicode-math (or if you kitbash it to import symbols from the text fonts; see below).



Despite being licensed under the GPL2, it does not come with any source files.



% LaTeX
unimathsetup{math-style=upright}
setmainfont[Ligatures={Common,TeX}]{Berenis ADF Pro}
defaultfontfeatures{Scale=MatchLowercase}
setmathfont{Latin Modern Math}
setmathfont[range={"0020-"007E,"00A0-"021F,"0237,"0259,"02C6,"02C7,
"02D8-"02DD,"0311,"0326,"037B-"037E,"0384-"038A,"038C-"045F,"0490-"0491,
"1E10-"1E11,"1E80-"1E85,"1EF2-"1EF3,"2000-"2026,"2030,"2039-"203A,"2044,
"2070,"2074-"207A,"207D-"208A,"208D-"208E,"20AC,"20DD-"20DF,"2102-"2103,
"2109,"210E-"210F,"2113,"2116,"2122,"2126,"212A,"212C-"212E,"2133,"213D,
"2153-"215E,"2190-"219D,"21A4-"21A8,"21AE-"21CA,"21D1-"21EA,"2202-"2212,
"2216-"221E,"2223-"222D,"223C="223D,"2241,"2248-"2249,"224D,"2260,
"2264-"2265,"226A-"226B,"226D-"2275,"227A-"227B,"2280-"2281,"2290-"2294,
"22C4-"22C5,"22E2-"22E3,"22EF,"2302-"2303,"25CA,"FB00-"FB06}
]{Berenis ADF Pro Math Regular}


Berenis ADF Pro



Fira Math



This font is under development. It can be found on CTAN, or at github. It is forked from Fira fonts, which are also free. FiraGO supports many languages and Open Type features, and is available in both TeX Live and MikTeX.



As of October 2018, The Fira Math project a work in progress, and receives frequent updates. You should check that you have the latest version and whether any symbols you need are missing. If so, you can load those from another math font (such as TeX Gyre DejaVu Math) using the range= option of setmathfont.



% LaTeX
setmainfont{FiraGO}
setmathfont{FiraMath-Regular}


Fira Math Specimen



Commercial Fonts



Lucida (Commercial)



Distributed by the TeX User Group. https://tug.org/store/lucida/index.html



% LaTeX
setmainfont[
UprightFont = *,
ItalicFont = *-Italic,
BoldFont = *-Demi,
BoldItalicFont = *-DemiItalic,
]{LucidaBrightOT}
setmathfont{Lucida Bright Math OT}
% ConTeXt
setupbodyfont[lucidaot]


Lucida



Minion Math (Commercial)



Distributed by its designer, Johannes Küster. It comes in four weights and five optical sizes, the most of any OpenType math font (as of 2019).



% LaTeX
setmainfont{Minion Pro}

setmathfont[
SizeFeatures = {
{Size = -6, Font = MinionMath-Tiny, Style = MathScriptScript},
{Size = 6-8.4, Font = MinionMath-Capt, Style = MathScript},
{Size = 8.4-13, Font = MinionMath-Regular},
}]{MinionMath-Regular}
setmathfont{MinionMath-Bold}[range={bfup->up,bfit->it}]
% ConTeXt
setupbodyfont[minion]


Minion Math



Cambria Math (Commercial)



This is the font Microsoft Office uses for its equations. The font ships with Microsoft Windows Vista and later, with MS Office, and an early version was bundled with some versions of the MS Office viewers. Monotype sells licenses to use it on workstations and embed it in webpages, but the most likely way to have a legal copy of it on Linux is with a symbolic link in /usr/local/share/fonts/ or ~/.fonts to cambria_01.ttf on a Windows partition.



% LaTeX
setmainfont{Cambria}
setmathfont{Cambria Math}
% ConTeXt
setupbodyfont[cambria]


Cambria



Stylistic Sets and Alternates



Many of these fonts contain either stylistic sets or stylistic alternates that allow you to select between different versions of some of the symbols in the font. STIX Two has an especially large number, and actually documents them. If a font doesn’t, you can still check what it currently supports by opening it in FontForge. This is in addition to the choices you can make with package options.



For example, both XITS and STIX Two include a Stylistic Set 8 with alternative upright integrals. (In fact, STIX Two supports every stylistic set XITS Math does.) You can select them as follows:



% LaTeX
setmainfont{XITS}
setmathfont{XITS Math}
setmathfont[range={"222B-"2233,"2A0B-"2A1C},StylisticSet=8]{XITS Math}


XITS with upright integrals



For comparison, here is the vanilla XITS example again:



XITS



A common use of these alternative styles is on the script alphabet. Traditionally, LaTeX had separate alphabets for mathcal and mathscr. However, the Unicode consortium decided that no mathematical texts use both of these with different meanings, so they were different presentation forms assigned to the same codepoints.



However, unicode-math allows you to load different alphabets as mathcal and mathscr, and also mathbfcal and mathbfscr. Some fonts, such as XITS, implement this as a stylistic set, some, such as Asana Math, implement it as a stylistic alternative, and others require you to load a different font of you want to do that. For example, to do it with Asana Math:



% LaTeX
documentclass[preview,varwidth]{standalone}
usepackage{microtype}
usepackage{unicode-math}

setmainfont[Ligatures={Common,Rare,TeX}]{Palatino Linotype}
% You might have Palatino or Palatino Linotype installed.
defaultfontfeatures{Scale=MatchLowercase}

setmathfont[Scale=MatchLowercase]{Asana Math}
setmathfont[range={cal,bfcal},
Alternate,
Scale=MatchUppercase]
{Asana Math}

begin{document}
Calligraphic: (mathcal{ABC}) qquad Script: (mathscr{ABC})
end{document}


Asana Math script alphabets



Kitbashing Math Fonts



It is possible to load symbols from any font into a math style, and use them as symbols with symup. For example, nearly all fonts include a QED symbol at U+220E, but what it looks like varies considerably. To get the version in XITS Math (the black tombstone that matches the 1997 edition of The Art of Computer Programming), you can use the commands:



% LaTeX
documentclass[preview,varwidth]{standalone}
usepackage{amsmath,amsthm}
usepackage{unicode-math}

setmathfont[range=`∎]{XITS Math}
DeclareRobustCommandqedsymbol{ensuremath{symup{∎}}}

begin{document}
begin{proof}[Tautology]
True
end{proof}
end{document}


Tautology with QED



Another common request is to combine the letters of a text font family with the symbols of a math font. Since Neo Euler is the math font lacking italic letters at all, it makes a good example. A frequent recommendation is to combine Euler with Hermann Zapf’s other creation, Palatino. Since both Pagella and Asana are clones of Palatino, we can use Pagella as the text fonts and take all the missing glyphs, including italic math letters, from Asana.



This gives us the repertoire to convert the sample to ISO style (a great excuse to show off upright and italic math letters together). Constants such as π and i remain upright (written 2 symup{pi i}, the denominator still shows Euler math letters). Uppercase Greek letters, such as the Gamma function, are now italic rather than upright, but symbols based on Greek letters, such as summation and product, remain the same.



Essentially, this adds a few lines to the bottom of the preamble filling in all the remaining math alphabets and setting up digits to match the text font.



% LaTeX
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}


Neo Euler plus Asana plus Latin Modern with Pagella



Here again is the example with Neo Euler as the math font:



Neo Euler with CMU Concrete



(The eagle-eyed will have noticed one more unexplained line of code, which sets the partial and nabla package options to upright. Neo Euler contains the upright ∂ symbol in U+2202, but not the cursive ∂ symbol at U+1D715, which confuses unicode-math. Otherwise, load U+1D715 from another math font.)



It is often a good idea to set up subscripts, superscripts, sub-subscripts and super-superscripts to use a smaller optical size, to make it more legible at smaller sizes. There are three methods. There might be a companion font designed for smaller sizes. which you would load with script-font=. (The commercial font Aldus is intended as this for Palatino.) Many fonts, including Latin Modern and all the TeX Gyre fonts, come with different optical sizes and you can select a smaller one, e.g. script-features={OpticalSize=8}, sscript-features={OpticalSize=6}. Finally, math fonts support the font features script-features={Script=Math, Style=MathScript}, sscript-features={Script=Math, Style=MathScriptScript}.



For more information, see the documentation of the unicode-math and fontspec packages.







share|improve this answer














share|improve this answer



share|improve this answer








edited Mar 26 at 16:04


























community wiki





72 revs, 8 users 74%
Davislor









  • 2





    As rationale for not using the default math fonts is often to get better match with text fonts, it would be interesting to mention which scripts are supported by the matching text fonts. For example as a far as I know the TeX Gyre only support the Latin script, which is a serious limitation for use in automated document production where Unicode characters may pop up from Cyrillic, Greek, Hebrew, CJK, ...

    – user4686
    Apr 6 '18 at 6:41






  • 3





    @jfbu This answer is CW with exactly that intention. Please add your improvements.

    – Henri Menke
    Apr 6 '18 at 6:54






  • 2





    I don't know enough about fonts and don't have access to the commercial fonts so I hope the information will be added by someone else.

    – user4686
    Apr 6 '18 at 8:45






  • 1





    There’s also Berenis ADF Pro Math. However, fontspec complains that OpenType feature Style=MathScript (ssty) not available for font BerenisADFProMath with script Math and language Default and the PDF output uses Berenis only for the text fonts, substituting Latin Modern for the math. Someone who knows about making math fonts may want to look into fixing this one (and whether it’s worth fixing).

    – Thérèse
    Apr 8 '18 at 0:52






  • 1





    @jfbu I asked a question about this a long time ago What is the difference between unicode-math and mathspec? It could maybe be linked. Other than that I agree, that this is going beyond the scope.

    – Henri Menke
    Apr 10 '18 at 0:34














  • 2





    As rationale for not using the default math fonts is often to get better match with text fonts, it would be interesting to mention which scripts are supported by the matching text fonts. For example as a far as I know the TeX Gyre only support the Latin script, which is a serious limitation for use in automated document production where Unicode characters may pop up from Cyrillic, Greek, Hebrew, CJK, ...

    – user4686
    Apr 6 '18 at 6:41






  • 3





    @jfbu This answer is CW with exactly that intention. Please add your improvements.

    – Henri Menke
    Apr 6 '18 at 6:54






  • 2





    I don't know enough about fonts and don't have access to the commercial fonts so I hope the information will be added by someone else.

    – user4686
    Apr 6 '18 at 8:45






  • 1





    There’s also Berenis ADF Pro Math. However, fontspec complains that OpenType feature Style=MathScript (ssty) not available for font BerenisADFProMath with script Math and language Default and the PDF output uses Berenis only for the text fonts, substituting Latin Modern for the math. Someone who knows about making math fonts may want to look into fixing this one (and whether it’s worth fixing).

    – Thérèse
    Apr 8 '18 at 0:52






  • 1





    @jfbu I asked a question about this a long time ago What is the difference between unicode-math and mathspec? It could maybe be linked. Other than that I agree, that this is going beyond the scope.

    – Henri Menke
    Apr 10 '18 at 0:34








2




2





As rationale for not using the default math fonts is often to get better match with text fonts, it would be interesting to mention which scripts are supported by the matching text fonts. For example as a far as I know the TeX Gyre only support the Latin script, which is a serious limitation for use in automated document production where Unicode characters may pop up from Cyrillic, Greek, Hebrew, CJK, ...

– user4686
Apr 6 '18 at 6:41





As rationale for not using the default math fonts is often to get better match with text fonts, it would be interesting to mention which scripts are supported by the matching text fonts. For example as a far as I know the TeX Gyre only support the Latin script, which is a serious limitation for use in automated document production where Unicode characters may pop up from Cyrillic, Greek, Hebrew, CJK, ...

– user4686
Apr 6 '18 at 6:41




3




3





@jfbu This answer is CW with exactly that intention. Please add your improvements.

– Henri Menke
Apr 6 '18 at 6:54





@jfbu This answer is CW with exactly that intention. Please add your improvements.

– Henri Menke
Apr 6 '18 at 6:54




2




2





I don't know enough about fonts and don't have access to the commercial fonts so I hope the information will be added by someone else.

– user4686
Apr 6 '18 at 8:45





I don't know enough about fonts and don't have access to the commercial fonts so I hope the information will be added by someone else.

– user4686
Apr 6 '18 at 8:45




1




1





There’s also Berenis ADF Pro Math. However, fontspec complains that OpenType feature Style=MathScript (ssty) not available for font BerenisADFProMath with script Math and language Default and the PDF output uses Berenis only for the text fonts, substituting Latin Modern for the math. Someone who knows about making math fonts may want to look into fixing this one (and whether it’s worth fixing).

– Thérèse
Apr 8 '18 at 0:52





There’s also Berenis ADF Pro Math. However, fontspec complains that OpenType feature Style=MathScript (ssty) not available for font BerenisADFProMath with script Math and language Default and the PDF output uses Berenis only for the text fonts, substituting Latin Modern for the math. Someone who knows about making math fonts may want to look into fixing this one (and whether it’s worth fixing).

– Thérèse
Apr 8 '18 at 0:52




1




1





@jfbu I asked a question about this a long time ago What is the difference between unicode-math and mathspec? It could maybe be linked. Other than that I agree, that this is going beyond the scope.

– Henri Menke
Apr 10 '18 at 0:34





@jfbu I asked a question about this a long time ago What is the difference between unicode-math and mathspec? It could maybe be linked. Other than that I agree, that this is going beyond the scope.

– Henri Menke
Apr 10 '18 at 0:34


















draft saved

draft discarded




















































Thanks for contributing an answer to TeX - LaTeX Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f425098%2fwhich-opentype-math-fonts-are-available%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

How to change which sound is reproduced for terminal bell?

Title Spacing in Bjornstrup Chapter, Removing Chapter Number From Contents

Can I use Tabulator js library in my java Spring + Thymeleaf project?