Sie sind hier

Klassenoptionen

\documentclass[ngerman,paper=a4]{scrbook}

ngerman wird ja an folgende Pakete weitergereicht. Was passiert mit paper=a4? Wird das von typearea "entsorgt"? Im Gegensatz zu a4paper, was ja intern zu paper=a4 wird und a4paper dann auch an folgende Pakete geht.

Bild von Markus Kohm

Im Gegensatz zu xkeyval entfernt KOMA-Script keine Optionen aus den globalen Optionen. Anderenfalls könnten ja andere Pakete nicht mehr darauf reagieren. So reagieren beispielsweise auch sowohl die KOMA-Script-Klassen als auch typearea als auch scrlayer-scrpage auf headsepline-Angaben, wobei jeder Teil nur das auswertet, was er kennt und wie bei anderen Optionen auch unbekannte Werte soweit möglich wie unbekannte Optionen behandelt, also ignoriert.

xkeyval ist AFAIK das einzige Paket, das globale Optionen aus der Liste entfernt (und dabei IMHO weit über das Ziel hinaus schießt).

Ich gehe also recht in der Annahme, dass ein Paket geometry bei  \documentclass[ngerman,paper=a4]{scrbook} mit paper=a4 nichts anfangen kann, die Seitenmaße aber trotzdem richtig setzt, da es die Vorgaben von typearea bezüglich \paperwidth/\paperheight übernimmt?

Bild von Markus Kohm

Ist keine für geometry bekannte Papiergrößenoption angegeben, so ändert das Paket einfach nichts an der Papiergröße, sondern übernimmt sie, wie vorgefunden.

Wenn Du bezüglich geometry auf Nummer sicher gehen willst, kannst du aber auch \documentclass[ngerman,paper=a4,usegeometry]{scrbook} verwenden. Dann übergibt typeaea einige Einstellungen aktiv an geometry, darunter auch paperwidth und paperheight.

Das mit usegeometry hatte ich schon in der Doku gelesen. Aber bei den vielen Dingen, die man beachten muss, wenn man alles nachvollziehen möchte, kann man schon mal leicht durcheinander kommen ...

Bild von Markus Kohm

Gerade die Optionenverarbeitung ist eine recht heikle Geschichte. Damit hatte ich schon diverse Probleme nicht erst angefangen und auch nicht beendet mit den Knüppeln, die xkeyval mir seinerzeit zwischen die Beine geworfen hat. Erst vor wenigen Versionen musste ich bei der Zusammenarbeit unterschiedlicher Teile von KOMA-Script massiv Hand anlegen und erhebliche Fehler zu beseitigen.

Comments for "Klassenoptionen" abonnieren