45

For creating the graphics for my thesis (function graphs, flow charts, line art sketches) I've chosen to use the sans serif font by

\renewcommand\familydefault{\sfdefault} 

However when I use mathematical symbols like $p_{s}$, they are still typeset in roman font and that looks weird:

screenshot of example

So I wonder:

  • how could I force mathematical expressions also be typeset in \sfdefault
  • if I do, are there any negative sideeffects to expect (with greek signs or other special symbols?)

  • OR should I typeset all "mathematical" graphs (axis labels etc.) in roman font, and only make the other graphics like flow charts and sketches with sans serif font?

27

I've been looking into this myself as well, but it seems a lot trickier to get it working for math fonts than for regular text font. Apparently the math fonts have some 'metric' used for kerning that is not present in regular fonts. Some (partial) solutions I found:

Like this:

\setmathrm{Arial}
\setmathsf{Arial}
\setmathtt{Arial}
\setboldmathrm[BoldFont={Optima ExtraBlack}]{Optima Bold}

However this does not change the italic math font for some reason (and there does not seem to be an option to do this(?)).

  • Use sfmath, which comes with a couple of pre-packaged fonts

\usepackage[cm]{sfmath}

\usepackage{cmbright}

This works fairly well, but the choice of fonts is limited.

For example:

\usepackage{unicode-math}
%\usepackage[math-style=ISO]{unicode-math}
\setmainfont{XITS}
\setmathfont{XITS Math}
%\setmathfont[range=\mathit/{latin,Latin}]{Adobe Garamond Pro}

Although this has the problem that \setmathfont{} gives a bug when used in combination with amsmath...

  • 1
    If you put two spaces after each link, there will be a linebreak an it becomes a little more readable – Tobi Jul 25 '11 at 10:37
  • @Tobi: thanks, didn't know that – Tim Jul 25 '11 at 11:01
  • 1
    For sfmath: note that you don't need to use its pre-packaged fonts. E.g. if you load libertine, make sf the default family, then sfmath, you'll get Biolinum in math mode. I'd also suggest loading euler prior to any of the other font packages to get less "seriffy" symbols. – frabjous Jan 6 '15 at 18:02
16

For whole document:

\usepackage{arev}

or

\usepackage{cmbright}

See A Survey of Free Math Fonts for TeX and LaTeX

For only some letters and numbers in part of a document, use \mathsf.

13

The easiest way I've found to do this is to use \mathsf. So I write

$ 7\times \rho = \mathsf{c_1} $
11

I use the sansmath package. It has the advantage that I can switch back and forth between serif and sans math within a single document. Here http://dtrx.de/od/tex/sfmath.html#comparison is a comparison of the different methods of doing math in sans serif.

  • 3
    The page you quote clearly states: "After including the package sfmath.sty, all maths is displayed with sans serif fonts; there is no way to switch back to the original behavior." Can you please give more detail on how to switch back and forth? – Michaël Apr 1 '15 at 13:21
  • 1
    Use the command \sansmath inside curly brakets: {\sansmath Sans: $\alpha = Fml$}. It affects only the local environment. I create a whole example as a new answer. – Juha Mar 9 '16 at 23:27
  • I forgot to say: Include sansmath, not sfmath – Juha Mar 9 '16 at 23:36
7

Here is an example how to use sansmath package in a document and switch between sans and serif.

\documentclass{article}
\usepackage{sansmath}
\begin{document}

{\sansmath Sans: $\alpha = Fml$}
Serif: $\alpha = Fml$

\end{document}

The output is:

Example of sansmath command

You might be interested also in SI-units and latex rendering in python: https://stackoverflow.com/questions/2537868/sans-serif-math-with-latex-in-matplotlib

4

There's a new package, newtxsf. It would fine just to load it, but read its documentation for more options.

3

For me (with font set to \usepackage{helvet}), the packages mathastext and isomath did the job to get a consistent appearance (text in mathmode in same style as default text):

\usepackage[italic]{mathastext}
% 'isomath' sets upper case greek letters italic in accordance with 
% the International Standard ISO 80000-2
\usepackage{isomath}

(copied from https://tex.stackexchange.com/a/268944/9075, but I had success with that, too)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.