Sie sind hier

Bekannte Probleme und Änderungen in KOMA-Script 3.18

Bild von Markus Kohm

Diese Version wurde inzwischen durch Version 3.19 ersetzt. Es wird empfohlen, bei Problemen auf die neuste Version zu updaten. Wenden Sie sich ggf. an Ihren Distributor oder Administrator.

Bekannte Probleme:

scrartcl, scrreprt, scrbook, scrlttr2
  • Bei den Optionen parskip=half*, parskip=half+, parskip=full* und parskip=full+ wird \parfillskip falsch berechnet. Dadurch enden alle Absätze mit einer Winzigzeile und es kommt teilweise auch zu vielen »overfull \hbox«-Meldungen.
    Workaround: In der Dokumentpräambel bei Verwendung einer der genannten Optionen unmittelbar nach dem Laden der Klasse bzw. nach der Anweisung zum Setzen der Option
    \makeatletter
    \ifx\par@update\default@par@update\else
    \AtBeginDocument{\par@updaterelative}
    \fi
    \makeatother
    einfügen.
    Hinweis: Der Fehler ist in der aktuellen Bugfix-Release bereits behoben.
scrbase
  • Bei der Deklaration von Schlüsseln ohne Säumniswert wird in die Ausführung des Codes für den Schlüssel ein störendes Leerzeichen am Ende eingefügt.
    Hinweis: Theoretisch könnte man das Leerzeichen mit einem \ignorespaces am Ende des Codes beseitigen. Allerdings betrifft der Fehler eben nicht nur \DefineFamilyKey, sondern auch alle davon abgeleiteten Befehle wie \FamilyBoolKey. Daher ist das keine wirkliche Lösung.
    Hinweis: Im Quellcode und in der aktuellen Bugfix-Release ist das Problem bereits beseitigt.
typearea
  • Bei Verwendung von Option pagesize=automedia kann u. U. eine Fehlermeldung wegen nicht definiertem \set@pdftextpagesize auftreten.
    Workaround: \makeatletter\def\set@pdftextpagesize{\set@pdftexpagesize}\makeatother in der Dokumentpräambel einfügen. Dieser Workaround stört auch nicht, wenn der Fehler in der nächsten Release behoben sein wird.
    Hinweis: Der Fehler ist in der aktuellen Bugfix-Release bereits behoben.

Wichtige Änderungen:

scrbase
  • Das Paket kann bereits vor \documentclass geladen werden.
  • Mit der Anweisung \BeforeFamilyProcessOptions[Mitglied]{Familie}{Code} kann man (ggf. auch bereits bevor das Paket oder die Klasse geladen ist) Code unmittelbar vor die Ausführung von \FamilyProcessOptions in dem Paket oder Klasse des angegebenen Mitglieds ausführen lassen. Ist das Mitglied leer (aber angegeben), so wird Code für jedes Mitglied der Familie ausgeführt.
scrbook, scrreprt:
  • Mit der Anweisung \IfChapterUsesPrefixLine{Dann-Code}{Sonst-Code} kann Code in Abhängigkeit davon ausgeführt werden, ob Überschriften im Stil chapter mit einer Präfixzeile gesetzt werden oder nicht. Dabei wird auf Option chapterprefix bzw. appendixprefix getestet, so dass die Anweisung im Gegensatz zu \IfUsePrefixLine auch außerhalb von Gliederungsbefehlen gültig ist.
  • \addchap wurde komplett neu implementiert und verwendet intern nun \chapter[]{}. Daher verwendet es (im Gegensatz zu \addchap*) auch nicht mehr \addchapmark sondern (indirekt) \chaptermark.
  • \DeclareSectionCommand kennt für den Stil part zusätzlich die Eigenschaft innerskip, die den Abstand zwischen Präfixzeile und Überschriftentext festlegt und für die Definition von Überschriften dieses Stils zwingend ist.
  • \DeclareSectionCommand kennt für den Stil part zusätzlich die Eigenschaft pagestyle, die den Seitenstil der Startseite festlegt und für die Definition von Überschriften dieses Stils zwingend ist.
  • \DeclareSectionCommand kennt für den Stil chapter zusätzlich die Eigenschaft pagestyle, die den Seitenstil der Startseite festlegt und für die Definition von Überschriften dieses Stils zwingend ist.
  • Der Überschriftenstil chapter ist so weit vervollständigt, dass man beispielsweise den Stil von \section in chapter ändern kann oder eine umdefinierte Anweisung \chapter mit \RedeclareSectionCommand{chapter} wieder auf ihre ursprüngliche Definition zurück ändern kann.
  • Die beforeskip-Voreinstellung von \chapter wurde negiert. Damit entfällt nach \RedeclareSectionCommand[style=section]{chapter} der Einzug nach der Überschrift genau wie bei den vordefinierten Überschriften im Stil section.
scrbook, scrreprt und scrartcl
  • Entgegen jeglicher Überzeugung und verm. ohne jegliche Dokumentation werden die Optionen index=numbered, index=leveldown, index=standardlevel und toc=indexnumbered nun doch verstanden. Support gibt es dafür aber nicht!
  • \part und \part* werden per \DeclareSectionCommand definiert. Dazu wird der Stil part vollständig unterstützt.
  • \addpart wurde komplett neu implementiert und verwendet intern nun \part[]{}. Daher verwendet es (im Gegensatz zu \addpart*) auch nicht mehr \addpartmark sondern (indirekt) \partmark und wenn dieses \@gobble ist sogar \@mkboth{}{} (\addpart* macht das auch, aber verwendet derzeit überflüssiger Weise zusätzlich \addpartmark{}).
  • \addsec wurde komplett neu implementiert und verwendet intern nun \section[]{}. Daher verwendet es (im Gegensatz zu \addsec*) auch nicht mehr \addsecmark sondern (indirekt) \sectionmark.
scrlayer:
  • Von \ForEachLayerOfPageSyle gibt es eine Sternvariante, bei der die eigentliche Ausführung nicht mehr innerhalb einer Gruppe erfolgt. Mit der Sternvariante sind dann Aufrufe wie unlängst auf goLaTeX vorgeschlagen möglich.
  • Neues Ebenenattribut backandforeground, das die Einschränkung auf Vorder- oder Hintergrund aufhebt. Dieses Attribute ist wenig sinnvoll und besteht nur aus Gründen der Vollständigkeit.
  • Neues Ebenenattribut oddorevenpage, das die Einschränkung auf gerade oder ungerade Seiten aufhebt.
  • Neues Ebenenattribut floatornonfloatpage, das die Einschränkung auf Gleitumgebungsseiten oder Nicht-Geitumgebungsseiten aufhebt.
  • Neues Ebenenattribut everypage, das oddorevenpage und floatornonfloatpage vereint.
  • Neues Ebenenattribute everyside, das die Einschränkung auf einseitige- oder doppelseitige Dokumente aufhebt.
  • Neues Ebenenattribut unrestricted, das alle einschränkenden Attribute aufhebt. Da dies auch die Einschränkung auf Vorder- oder Hintergrund einschließt, ist es sinnvoll, danach wiederum background oder foreground explizit zu setzen.
typearea:
  • Mit den Anweisungen \BeforeRestoreareas{Code} und \AfterRestoreareas{Code} kann Code am Anfang bzw. Ende der mit \storeareas definierten Anweisungen ausgeführt werden. Es gibt auch jeweils eine Sternvariante der Befehle, die sich nur auf zukünftig per \storeareas definierte Anweisungen auswirken.
Comments for "Bekannte Probleme und Änderungen in KOMA-Script 3.18" abonnieren