Having written about 60% of my Phd thesis, I gave it to my advisor for review. I used `Pdflatex`

and Latin Modern fonts for text and math. For source code listings, I did not change anything in particular and went with the standard `\texttt{}`

variant of the font. My focus was to get content in quickly.

Now, my adviser knows a lot more about formatting than me, but rather than using `latex`

, he uses `inDesign`

and other WYSIWYG tools for final layout and has challenged me to come up with a contemporary look whilst keeping the overall document's gravitas. Having supervised dozens of students, all producing their thesis with computer modern or latin modern, I guess he is just looking for a fresher alternative. I wish to accept the challenge since I have sufficient time before final submission.

My adviser advised me to use Minion Math, along with Minion/Myriad Pro respectively. He strongly suggested me to use OpenType Unicode fonts and warned that I shall face difficulties when it comes to consistent math typefaces.

It looks like both `xelatex`

or `lualatex`

can handle the basic requirement of using arbitrary system fonts. But my problem is with Minion Math, since it is not free. My adviser said he will pay for it I cannot find an opentype unicode alternative consistent set of text/math/mono fonts.

This puts me in a dilemma. I really wish to use free & open-source fonts for my thesis because of the following reason. My adviser does not use `latex`

and we were using Overleaf to share he document and obtain adviser feedback through its rich text interface, and we both liked this workflow. With proprietary fonts, maintaining this workflow might be difficult.

The only other complete set of open-type Unicode font family with math support seem to be STIX, XITS, STIX TWO, Tex Gyre Variants that all seem to be Times-like. I absolutely do not want to go with Times-like typeface for my thesis.

I recently came across Libertinus, that seems to provide all variants – serif, sans, mono and math, which seems promising. However, the github repository of this font suggests that things are still under development. How risky is it to go for this typeface? Are there other alternatives?

## Best Answer

The situation with fonts is much better than you thought! I absolutely agree with your advisor that you should use OpenType fonts (and therefore, the

`unicode-math`

package on either XeLaTeX or LuaLaTeX). Any OpenType math font will have more-complete and consistent symbol coverage than any combination of legacy LaTeX packages, but the package also allows you to mix-and-match symbols and alphabets freely.One thing I’m not entirely clear on is whether you want a monospaced font for code listings or typewriter-letter math symbols. Any complete OpenType math font contains the latter.

## OpenType Math Fonts

You can find a list of OpenType math fonts, with samples, at this answer. Going over the list there:

`amssymb`

, but has more glyphs. It is the default when you load`unicode-math`

. If you use this, you’ll get something that looks exactly like the default settings of TeX.`mathpazo`

, and its successor,`newpxmath`

.Concrete Mathematics. This font is incomplete and doesn’t ship with TeX Live. It does not have nearly as many glyphs as the other fonts on this list. Therefore, you would need to download it separately, load only the glyphs it supports, and use another font, such as Asana Math or TeX Gyre Pagella, as your fallback font.`cambria_01.ttf`

or as a`ttc`

file. You could also get itgratiswith the PowerPoint 2007 viewer if you’re willing to unpack a few`cab`

files. However, it is the default font for equations in Microsoft Office and looks a lot like Times.You can find a sample of Asana Math here, all the TeX Gyre fonts here, and Libertinus here.

It is also possible to mix-and-match fonts, so as to use the symbols from a math font with the letters from your text font. One popular recommendation, for example, is Neo Euler for math with Palatino for text.

## Font Families

Most of these fonts have a matching text font without

Mathin the name. Asana Math and Neo Euler are good matches for Palatino (and therefore its clone Pagella).Three of the font families I listed above have matching serif, sans serif and monospace fonts: Latin Modern Mono, DejaVu Sans Mono and Libertinus Mono. Latin Modern Mono is a clone of Computer Modern Monospace, which you might or might not find attractive and again looks just like the default

`cmtt`

. Some of the more obscure variants of Computer Modern, such as Upright Italic, are available through Computer Modern Unicode. There is also a monospace font in the TeX Gyre collection, TeX Gyre Cursor, but it is a clone of Courier and therefore not really a match to any of the TeX Gyre Math fonts.If you don’t use one of these, there are a large number of free monospace fonts out there, in addition to the ones that ship with your operating system.

You can also use any OpenType monospaced font you want for your typewriter-letter math symbols with a command such as

`\setmathfont[range=\mathtt]{Inconsolata}`

.You might or might need an accompanying sans-serif font in your document. If you want to use sans-serif throughout, you would have to remap a sans-serif family to the

`up`

,`bfup`

,`it`

and`bfit`

math alphabets, but as an alternative for titles and headers, most of those font families come with small caps.## The Script/Calligraphic Quirk

LaTeX packages historically had separate commands for

`\mathscr`

and`\mathcal`

, which displayed different symbols. The Unicode Consortium decided that these were really just presentation forms and no mathematician used both`\mathcal{I}`

and`\mathscr{I}`

to mean different things in the same text. Therefore, it allocated only one range of codepoints for both alpabets.The

`unicode-math`

package by default sets up`\mathcal`

and`\mathscr`

as synonyms for each other, but it supports loading different alphabets into either (as well as`\mathfrac`

,`\mathbb`

, and so on). Furthermore, several math fonts contain separate`\mathscr`

and`\mathcal`

alphabets intended to be used this way. You can load them with one of the commands`\setmathfont[range={mathcal,mathbfcal},Alternate,Scale=MatchUppercase]{Asana Math}`

or`\setmathfont[range={mathscr,mathbfscr},StylisticSet=1,Scale=MatchUppercase]{XITS Math}`

. Stix Math or Stix Two Math use the same syntax as XITS Math.If you don’t actually use

`\mathcal`

or`\mathbfcal`

in your thesis, you can of course completely ignore this.## My Recommendation

I personally like Asana Math, with Palatino (or a clone such as TeX Gyre Pagella) as the text font. However, you say in the comments that you don’t like its upright style. (I assume you mean the slant of symbols such as the integral; it contains both upright and italic letters, like all the math fonts.) Inconsolata is a free monotype font that I think, as a humanist sans, goes well with it. It ships with TeX Live, but only as a Type 1 font, so you would need to download the newer version. (Either double-click on the file and hit the install button, or on Linux, you can copy it to

`~/.fonts`

or`/usr/local/share/fonts`

.)The official sans-serif companion font for Palatino is the commercial font Palatino Sans, but Optima, its free clone URW Classico, or Gillius No2 (based on Gill Sans) might be a good free alternative, and it ships with TeX Live.

Since you said this is an Engineering thesis, I’ll assume you want to use ISO style, which is the

`math-style=ISO`

option to`unicode-math`

. To get upright letters for constants as it recommends, you can use,e.g.,`\symup{e}`

, but`unicode-math`

defines`\muppi`

for the constant π.I recommend the

`microtype`

package to make the right margins and word spacing look neater, with less hyphenation (I contributed a few improvements to it myself).You also mention the need to support both English and South Asian languages. You should be able to do something like

`\newfontfamily\devanagarifont[Script=Devanagari]{Shobhika}`

for Indic and`\newfontfamily\malayalamfont[Script=Malayalam]{Free Serif}`

for Malayalam. That should enable Sanskrit in Polyglossia, but for Malayalam, you would need to select`\malayalamfont`

manually. However, the code will still work if Polyglossia adds support for Malayalam later.## Legacy Fallback

If you absolutely must use pdflatex, first load

`\usepackage[T1]{fontenc}`

. It wouldn’t hurt to add`\usepackage[utf8]{inputenc}`

, but that’s now the default. The packages`tgpagella`

,`newpxmath`

,`inconsolata`

and`classico`

would set your main, math, monospace and sans-serif font to a combination I like. (The only real problem with it is that Palatino might be overused, but at least it will be taken seriously.) If you want to tweak the math alphabets some more, look at the package options to`newpxmath`

and consider a package such as`mathalfa`

or`isomath`

.If you need to support PDFLaTeX, you can use the

`\iftex`

package to wrap the leagacy NFSS preamble and the modern`unicode-math`

preamble in conditional blocks. Then, you’ll use modern features if your TeX engine supports them.## PS

I have one other quirk in my papers: Math fonts use wildly different symbols for

Q.E.D.I personally like to use the black “tombstone”, introduced by Paul Halmos and used in the 1997 edition ofThe Art of Computer Programmingby DEK. The command for this is`\setmathfont[range="220E]{XITS Math}`

, and to use it with`amsthm`

,`\renewcommand{\qedsymbol}{\ensuremath{\char"220E}}`

.