當 sbox 在序言中定義時,familydefault 被忽略

當 sbox 在序言中定義時,familydefault 被忽略

我想在序言中定義我的全球家庭預設行為。我還想在序言中定義我的保存框,但不知何故,後者似乎不適用於前者,因為它只是忽略了 sbox 中文字的系列預設值。當 sbox 在 \begin{document} 中定義時,它可以正常運作。

所以我的問題是:為什麼這不起作用,我該怎麼辦?

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

答案1

更改巨集不會更改此時的任何字體,它只是更改選擇字體時的預設值,例如您可以使用\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}

相關內容