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}