[Tex/LaTex] How to i change the fontsize with KOMA-script

floatsfontsizekoma-scriptwarnings

I need to change the fontsize to 11pt inside a table environment. The default setting of the document is 12pt using scrartcl, but I need to change this to exact 11pt in the float (the reason is that there are dozens of tables that have been created to fit exactly 11pt before).

I use KOMA's \changefontsizes{11pt} to do this, but this generates dozens of warnings:

Using fallback calculation to setup font sizes for basic size '11pt' on input line…

This is a bit confusing, because if I change the whole document to 11pt these warnings go away, hence 11pt should exist. I thought the changefontsizes command was created for exactly this purpose. So if anyone could tell me how to do this properly I would be grateful.

\documentclass{scrartcl}[12pt]

\usepackage{lipsum}

\begin{document}

\lipsum[1]

\begin{table}\centering
\changefontsizes{11pt}\footnotesize
\begin{tabular}{|c|c|c|}
  \hline
  1 & 2 & 3 \\
  4 & 5 & 6 \\
  7 & 8 & 9 \\
  \hline
\end{tabular}
\end{table}

\end{document}

Best Answer

You mention "tables that have been created to fit exactly 11pt before". If you didn't receive "dozens of warnings" then, I suppose you created those tables using the (default) 11pt document class option. This option, however, is not identical to issuing \changefontsizes{11pt}:

  • With the 11pt option, you load the file scrsize11pt.clo which, among other things, includes the definition of the various font size switching commands. (\normalsize, BTW, issues \@setfontsize\normalsize\@xipt{13.6}, with \@xipt translating into 10.95, not 11pt.) All those commands use point sizes which are available in the (non-scalable) default font Computer Modern.

  • With \changefontsizes{11pt} OTOH, \normalsize features a point size of exactly 11pt, and the point size of all other switching commands is calculated based on that of \normalsize. Because of that, size substitutions become necessary with Computer Modern, and this is what the "dozens of warnings" are about.

The solution is to use a scalable font (e.g., Latin Modern) instead of Computer Modern. This will relase you from all but one warning (from the class, "Using fallback calculation to set up font sizes"). (If you're daring, issue \makeatletter\input{scrsize11pt.clo}\makeatother inside floats, but .clo files weren't designed to be loaded mid-document, so no guarantees.)