
Beim Verwenden der Klasse scrbook
und Anpassen der Schriftgröße vor der Verwendung \printbibliography
erhielt ich diese Warnung (und in großen Dokumenten erhielt ich sie mehrmals):
Klasse scrbook Warnung: Es wird eine Fallback-Berechnung zum Einrichten der Schriftgrößen (scrbook) für die Basisgröße „12pt“ in der Eingabezeile 32 verwendet.
MWE:
\documentclass{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[backend = biber]{biblatex}
\renewcommand*{\bibfont}{\normalfont\changefontsizes{12pt}}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@online{GLS:datasheet,
title = "GLS Datasheet",
organization = "Optoelectronics Research Centre",
howpublished = "Website",
date = "2004-09",
urldate = "2013-07-01",
url = "http://www.southampton.XXXX",
address = "Southampton, United Kingdom"
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\KOMAoptions{fontsize=12pt}
\nocite{*}
\printbibliography
\end{document}
Muss ich mit unerwarteten Ergebnissen rechnen? Und wenn das der Fall ist, was kann ich dagegen tun? Wie könnte ich sonst diese Warnungen zum Schweigen bringen?
Antwort1
Diese Meldung teilt Ihnen mit, dass KOMA-Script ein Problem mit der von Ihnen angegebenen Schriftgröße hat (Informationen zum von KOMA-Script verwendeten Mechanismus finden Sie in der Antwort von @cgnieder).
Warum verwenden Sie nicht einfach \documentclass[fontsize=12pt]{scrbook}
? Dann können Sie \KOMAoptions{fontsize=12pt}
und löschen \renewcommand*{\bibfont}{\normalfont\changefontsizes{12pt}}
.
Die Low-Level-Befehle zum Ändern der Schriftgröße sind beispielsweise
\fontsize{12pt}{14.5pt}\selectfont
oder (je nach Schriftart und Standard-Schriftgröße!) \large
für 12 pt Schriftgrößewenn Sie eine 11 pt Standardschrift haben.
Sie können Titelblatt, Inhaltsverzeichnis und Bibliographie beifügen, zum Beispiel mit
{\fontsize{12pt}{14.5pt}\selectfont ...}
um die Standardschriftgröße nur für den Teil zu ändern ...
.
Aber das ist nur ein Hack. Ich würde diese erstaunliche Regel ignorieren und überall 11 pt verwenden ...
Antwort2
Hier einige Hintergrundinformationen zur fontsize
Option von KOMA.
Das Folgende ist ein Zitat aus Abschnitt 3.5 (Auswahl der Schriftgröße im Dokument) der KOMA-Script-Dokumentation.Abonnieren, Hervorhebung von mir:
fontsize=size
Im Gegensatz zu den Standardklassen und den meisten anderen Klassen, die nur eine sehr begrenzte Anzahl von Schriftgrößen zur Verfügung stellen, bieten die KOMA-Script-Klassen die Möglichkeit, jede gewünschte
size
Schriftart für das Hauptdokument auszuwählen. Dabei kann jede bekannte TeX-Maßeinheit verwendet werden, und die Verwendung einer Zahl ohne Maßeinheit bedeutetpt
.Wenn Sie diese Option innerhalb des Dokuments verwenden, ändern sich ab diesem Zeitpunkt die Schriftgröße des Hauptdokuments und alle davon abhängigen Größen. Dies kann beispielsweise sinnvoll sein, wenn ein weiterer Buchstabe insgesamt in kleinerer Schrift gesetzt werden soll.Beachten Sie, dass eine Änderung der Hauptschriftgröße nicht automatisch eine Neuberechnung von Satzspiegel und Rändern bewirkt.(siehe
\recalctypearea
, Abschnitt 2.4, Seite 35).Jede Neuberechnung des Satzspiegels und der Ränder erfolgt dagegen auf Basis der aktuellen Hauptschriftgröße.. Die Auswirkungen einer Änderung der Hauptschriftgröße auf zusätzlich geladene Pakete sind von diesen abhängig. Es können dabei sogar Fehlermeldungen oder Satzfehler auftreten, die nicht als Fehler von KOMA-Script gewertet werden können.
Was nicht erklärt zu sein scheint inAbonnierensondern kann im KOMA-Script-Buch nachgelesen werden.verkauft von Lehmanns Media) macht KOMA-Script, wenn die fontsize
Option aufgerufen wird:
- Beim Aufruf
fontsize=<xx>
sucht KOMA-Script zunächst nach einer Dateiscrsize<xx>.clo
. Existiert diese, werden alle Einstellungen für Schriftgrößen und Listen über diese Datei vorgenommen. Übrigens: Informationen zum Typearea enthält die Datei nicht, dieser wird vomtypearea
Paket gesteuert. - Falls die Datei nicht existiert, sucht KOMA-Script nach einer Datei
scrsize<xx>pt.clo
. Dies ermöglicht dem Benutzer, die Einheit wegzulassenpt
. - Wenn noch keine passende Datei gefunden wurde, sucht KOMA-Script nach passenden Dateien
size<xx>.clo
oderbk<xx>.clo
. Hier<xx>
ist die Größe inpt
ohne Einheit angegeben. Diese Dateien können die aus den Standardklassen oder dieextsizes
Paket. Dieser Schritt entfällt, wenn die Schriftgröße nach dem Laden der Klasse festgelegt wird, da diese Dateien nur geladen werden können, wenn die Klasse geladen wird. Falls noch keine passenden Einstellungen gefunden werden, hat KOMA-Script eine Fallback-Lösung, bei der alle Größen berechnet werden. Wie im KOMA-Script-Buch beschrieben, können diese Berechnungen nicht mit manuell optimierten Einstellungen [wie denen in den
clo
Dateien] mithalten, sondern ähneln denen eines normalen Textverarbeitungsprogramms:Diese Berechnung kann natürlich mit manuell optimierten Einstellungen nicht beibehalten werden. Sie entspricht mehr den Fähigkeiten einer normalen Textverarbeitung.
In diesem Fall weist KOMA-Script den Benutzer mit der von Ihnen beschriebenen Warnung darauf hin, dass er nicht über die optimalen Einstellungen verfügt.
Es steht nicht explizit in der KOMA-Dokumentation, sondern nur implizit bei der einzigen Erwähnung des Makros: Das \changefontsizes
Makro ist dasjenige, das KOMA-Script intern aufruft, wenn die Fallback-Lösung verwendet wird. Das heißt, Sie haben KOMA-Script nicht einmal die Chance gegeben, nach besseren Lösungen zu suchen! Der korrekte Weg, eine KOMA-Script-Option aufzurufen, ist mit \KOMAoption{<option>}{<value list>}
oder \KOMAoptions{<key value list>}
):
\KOMAoption{fontsize}{12pt}
Für Ihr MWE ist die beste Lösung natürlich, die Schriftgröße über die Klassenoption einzustellen, wie bereits in der akzeptierten Antwort angegeben.
Zu Ihrer zweiten Frage, ob Sie Warnungen stumm schalten oder ähnliches, schauen Sie sich diesilence
Paket.