Why babel produce warnings about \rmfamily and \ttfamily with \babelfont

The main purpose of \babelfont is to define at once in a multilingual document the fonts required by the different languages, with their corresponding language systems (script and language). So, if you load, say, 4 languages, \babelfont{rm}{FreeSerif} defines 4 fonts (with their variants, of course), which are switched with the language by babel. It's just a tool to make things easier and transparent to the user.

There is no real need to use \babelfont in a monolingual document, if you set the language system in \setmainfont (or not, depending on what you want).

babel assumes (actually, I assume :-)) that if you are using \babelfont for a family, very likely you want to define the rest of them. If you don't, you can find some inconsistencies between families. This checking is done at the beginning of the document, at a point where we cannot know which families will be used.

As the message explains, there is nothing intrinsically wrong with not defining all the families. In fact, there is nothing intrinsically wrong with not using \babelfont at all. But you must be aware that this may lead to some problems. And this is the very reason of the warning.


The package babel is informing you that you lack definitions for the serif family and the mono family.

\documentclass{beamer}
\usefonttheme{professionalfonts}
\usepackage[english]{babel}
\babelfont{rm}[Language=Default]{DejaVu Serif}
\babelfont{sf}[Language=Default]{DejaVu Serif}
\babelfont{tt}[Language=Default]{DejaVu Sans Mono}

\begin{document}
\begin{frame}{}
Test
\end{frame}

\end{document}