Why the command below don't change the size of the font? I have copied it from book.cls
\documentclass{book}
\makeatletter
\renewcommand*\@ptsize{2}
\makeatother
\newlength{\hallo}
\settowidth{\hallo}{m}
\begin{document}
Hallo World
\the\hallo
\end{document}
Could I have some problem with this way? For example if I put the \@newglobalfontsize{} command after some packgaes in the preamble?
\documentclass{book}
\makeatletter
\DeclareRobustCommand*{\@newglobalfontsize}[1]
{
\let\small\relax
\let\footnotesize\relax
\let\scriptsize\relax
\let\tiny\relax
\let\large\relax
\let\Large\relax
\let\LARGE\relax
\let\huge\relax
\let\Huge\relax
\makeatletter
\input{bk#1.clo}
\makeatother
}
\makeatother
\makeatletter
\@newglobalfontsize{10}
\makeatother
\newlength{\hallo}
\settowidth{\hallo}{m}
\begin{document}
Hallo World
\the\hallo
\end{document}
UPDATE
To avoid all problems this is the best way for me:
\documentclass{scrreprt}
\makeatletter
\DeclareRobustCommand*{\@newglobalfontsize}[1]{\changefontsizes[\dimexpr#1*1.2\relax]{#1}}
\@newglobalfontsize{8pt}
\makeatother
\begin{document}
test
\end{document}