familydefault se ignora cuando sbox se define en el preámbulo

familydefault se ignora cuando sbox se define en el preámbulo

Me gustaría definir mi valor predeterminado familiar global una vez en el preámbulo. También me gustaría definir mis cuadros de guardado en el preámbulo, pero de alguna manera este último no parece funcionar con el primero, ya que simplemente ignora el valor predeterminado de la familia para el texto en el sbox. Cuando el sbox está definido dentro de \begin{document}, funciona bien.

Entonces mi pregunta es: ¿Por qué esto no funciona y qué puedo hacer al respecto?

\documentclass[11pt,a4paper]{scrartcl}
\usepackage[nopar]{lipsum}

\renewcommand{\familydefault}{\sfdefault} % set default font to cmss

\newsavebox{\testbox}
\sbox{\testbox}{
    Hello World!
}

\begin{document}
    \usebox{\testbox}\\
    \lipsum
\end{document}

Respuesta1

cambiar la macro no cambia ninguna fuente en ese momento, solo cambia el valor predeterminado cuando se selecciona una fuente; puede, por ejemplo, usar \normalfont.

\documentclass[11pt,a4paper]{scrartcl}
\usepackage[nopar]{lipsum}

\renewcommand{\familydefault}{\sfdefault} % set default font to cmss
\normalfont
\newsavebox{\testbox}
\sbox{\testbox}{
    Hello World!
}

\begin{document}
    \usebox{\testbox}\\
    \lipsum
\end{document}

información relacionada