TeX Gyre Termes and TeX Gyre Heros might be a bad match, at least when used in a direct way:

\setmainfont{TeX Gyre Termes}
\setsansfont{TeX Gyre Heros}
\setmonofont{TeX Gyre Cursor}
\setmathfont{TeX Gyre Termes Math}
\setmathfont[range={\setminus}]{Asana Math}

Serif \(\mathsf{sans}\) serif.


As we see, the text typeset in Heros is too high. Am I missing some option to shrink the height of the Heros font? If not: Is there any better OTF sans font to be used with TeX Gyre Termes? Freely available fonts are preferred, of course.

I found that \setsansfont{TeX Gyre Heros}[Scale=MatchLowercase] or \setsansfont{TeX Gyre Heros}[Scale=0.85] (suggestion of @egreg) produce a bit too small uppercase letters. On the contrary, \setsansfont{TeX Gyre Heros}[Scale=MatchUppercase] produces too large lowercase letters. I guess, one cannot have both heights right, can one? Or something like Scale=(MatchUpperCase+MatchLowerCase)/2, perhaps?

  • 1
    \setsansfont{TeX Gyre Heros}[Scale=0.85], for example.
    – egreg
    Nov 4, 2016 at 0:44
  • 1
    Is the look generated by \setsansfont{TeX Gyre Adventor}[Scale=MatchLowercase] to your liking? Or, give \setsansfont{Myriad Pro}[Scale=MatchLowercase] a try.
    – Mico
    Nov 16, 2016 at 20:00

1 Answer 1


I'm a fan of the Linux Libertine/Biolinum combination. TeX Gyre Termes is very similar to Linux Libertine, so you may find the Termes/Biolinum combo suits your needs. Or not!

Edit: Added MWE. Note that I use LuaLaTeX. I updated the example to show OldStyle and Lining numbers. The numbers for Biolinum are a bit smaller but could be fixed with a scaling factor. Or not!



\setmainfont[Ligatures={TeX}, BoldFont={* Bold}, ItalicFont={* Italic}, BoldItalicFont={* Bold Italic}, Numbers={Proportional, OldStyle}]{TeX Gyre Termes}
\setsansfont[Ligatures=TeX, Numbers = {OldStyle, Proportional}]{Linux Biolinum O}
\newfontface{\biolining}[Numbers=Lining]{Linux Biolinum O}
\newfontface{\gyrelining}[Numbers=Lining]{TeX Gyre Termes}
\newfontface{\libertine}{Linux Libertine O}


{\Large Serif {\sffamily sans} serif.}

{\large\sffamily Linux Biolinum O}


Here are some words in \TeX{} Gyre Termes. \\
{\sffamily Here are some words in Linux Biolinum O}. \\
I'm a fan of the Linux Libertine/{\sffamily Biolinum} combination. \\
TeX Gyre Termes is very similar to Linux Libertine, so you may \\
find the Termes/{\sffamily Biolinum} combo suits your needs.  Or not!

{\libertine For comparison, this line is Linux Libertine O}

OldStyle Numbers:\\
{\sffamily Biolinum: 0123456789}\\
Termes: 0123456789

Lining Numbers:\\
{\biolining Biolinum: 0123456789}\\
{\gyrelining Termes: 0123456789}


enter image description here

  • 2
    I updated my answer but did not include monospaced or math. I can (later). I use TeX Gyre Pagella Math for the math font and Linux Libertine Mono O for monospaced. Some like Inconsolata as a monospaced. Linux Libertine has a very rich character set (over 2000 glyphs, if I recall). Nov 16, 2016 at 20:57
  • 1
    I've made the change although it does not seem to matter, at least for my set up. I got bold italic Termes both ways. Thanks! Nov 16, 2016 at 22:10

You must log in to answer this question.