Scrbook: Using fallback calculation to setup font sizes

Here is a bit of background regarding KOMA's fontsize option.

The following quotes section 3.5 (Selection of Document Font Size) of KOMA-Script's documentation scrguien, emphasis by me:

fontsize=size

In contrast to the standard classes and most other classes that provide only a very limited number of font sizes, the KOMA-Script classes offer the feature of selection of any desired size for the main document font. In this context, any well known TeX unit of measure may be used and using a number without unit of measure means pt.

If you use this option inside the document, the main document font size and all dependent sizes will change from this point. This may be useful, e.g., if one more letter should be set using smaller fonts on the whole. It should be noted that changing the main font size does not result in an automatic recalculation of type area and margins (see \recalctypearea, section 2.4, page 35). On the other hand, each recalculation of type area and margins will be done on the basis of the current main font size. The effects of changing the main font size to other additionally loaded packages depend on those packages. This may even result in error messages or typesetting errors, which cannot be considered a fault of KOMA-Script.

What doesn't seem to be explained in scrguien but can be read in the KOMA-Script book (available only in German, sold by Lehmanns media) is what KOMA-Script does when the fontsize option is called:

  1. If you call fontsize=<xx> KOMA-Script first looks for a file scrsize<xx>.clo. If it exists all settings for font sizes and lists are set through this file. By the way: the file does not contain information about the typearea, which is instead controlled by the typearea package.
  2. If the file does not exist KOMA-Script looks for a file scrsize<xx>pt.clo. This enables the user to leave out the unit pt.
  3. If no suiting file has been found, yet, KOMA-Script looks for suiting files size<xx>.clo or bk<xx>.clo. Here <xx> is the size in pt without unit. Those files could be the ones from the standard classes or the extsizes package. This step is omitted when the font size is set after loading the class as these files can only be loaded when the class is loaded.
  4. If no suiting settings are found, yet, KOMA-Script has a fallback solution which means all sizes are calculated. As stated in the KOMA-Script book these calculations cannot compete with manually optimized settings [like those in the clo files] but are similar to those of a normal word processing program:

    Diese Berechnung kann natürlich mit manuell optimierten Einstellungen nicht mithalten. Sie entspricht mehr den Fähigkeiten einer normalen Textverarbeitung.

    In this case KOMA-Script informs the user that he or she does not have the best possible settings with the warning you described.

It isn't stated explicitly in KOMA's documentation but only implicitly at the only mention of the macro: the \changefontsizes macro is the one called by KOMA-Script internally when the fallback solution is used. This means you didn't even give KOMA-Script the chance to look for better solutions! The proper way to call a KOMA-Script option is with \KOMAoption{<option>}{<value list>} or \KOMAoptions{<key value list>}):

\KOMAoption{fontsize}{12pt}

For your MWE the best solution is of course to set the font size via class option as already stated in the accepted answer.


As to your second question about silencing warnings and the like: have a look at the silence package.


This message tells you that KOMA-Script has a problem with your given fontsize (see the answer of @cgnieder for the mechanism KOMA-Script uses).

Why do you not only use \documentclass[fontsize=12pt]{scrbook}? Then you can delete \KOMAoptions{fontsize=12pt} and \renewcommand*{\bibfont}{\normalfont\changefontsizes{12pt}}.

The low level commands to change the fontsize are for example

\fontsize{12pt}{14.5pt}\selectfont

or (depending on your font and standard fontsize!) you can use \large for 12 pt fontsize if you have a 11 pt standard font.

You can enclose titlepage, table of contence and bibliography with for example

{\fontsize{12pt}{14.5pt}\selectfont ...} 

to change the standard font size only for the part ... .

But that is only a hack. I would oversee this astonishing rule and use 11 pt everywhere ...