familydefault ignorado quando sbox é definido no preâmbulo

familydefault ignorado quando sbox é definido no preâmbulo

Gostaria de definir meu padrão familiar global uma vez no preâmbulo. Eu também gostaria de definir minhas caixas de salvamento no preâmbulo, mas de alguma forma o último parece não funcionar com o primeiro, pois simplesmente ignora o padrão da família para o texto no sbox. Quando o sbox é definido em \begin{document} ele funciona bem.

Então, minha pergunta é: por que isso não está funcionando e o que posso fazer a respeito?

\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}

Responder1

alterar a macro não altera nenhuma fonte nesse ponto, apenas altera o padrão quando uma fonte é selecionada, você pode, por exemplo, 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}

informação relacionada