Sie sind hier

Bekannte Probleme und Änderungen in der zukünftigen KOMA-Script-Version

Dies wird die zukünftige Release, die bisher allenfalls im Source-Repository auf SourceForge und eventuell teilweise auch bereits als aktuelle Prerelease zur Installation für TeX Live und MiKTeX bereit steht.

Geplante Änderungen:

Diese Änderungen sind geplant und ggf. im Quellcode-Repository bereits enthalten, jedoch noch nicht offiziell. Möglicherweise werden sie auf eine spätere Release verschoben, noch geändert oder wieder entfernt.

scrartcl:
  • Verzeichniseinträge im Stil part oder section beachten Option tocindent von \DeclareSectionCommand etc.
    Hinweis: Im Quellcode-Repository ist diese Änderung bereits enthalten und kann getestet werden.
  • \DeclareSectionCommand etc. bekommen eine neue Option tocstyle=Verzeichnisstil, mit dem sich der Stil des Verzeichniseintrags bestimmten lässt. Zunächst wird es die folgenden Stile geben, wobei die Namen noch nicht abschließend feststehen:
    part
    üblicher Stil für Teile und andere Gliederungsbefehle in demselben Gliederungsstil; dieser Stil unterstützt kein tocindent,
    section
    üblicher Stil für Abschnitte; dieser Stil unterstützt kein tocindent,
    subsection
    üblicher Stil für Unterabschnitte und andere Gliederungsbefehle im Gliederungsstil section außer für Abschnitte selbst,
    default
    verwendet den Stil subsection; dieser Stil ist voreingestellt,
    gobble
    der Verzeichniseintrag wird nicht ausgegeben, sondern quasi vernichtet.
    Mit der Definition der Option wird der Verzeichnisbefehl durch \DeclareSectionComand etc. grundsätzlich entsprechend dem Wert neu definiert. Setzt man für Verzeichnisstil allerdings einen leeren Wert ein, also beispielsweise tocstyle= oder tocstyle={}, so wird die Verwaltung des Verzeichniseintrags KOMA-Script entzogen. Falls noch kein Befehl für den Verzeichniseintrag existiert, definiert KOMA-Script ihn aber auch dann zur Sicherheit im default-Stil.
scrartcl, scrbook, scrreprt:
  • Während \DeclareSectionCommands etc. weiterhin alle für irgendwelche Stile definierten Optionen akzeptieren, melden \DeclareSectionCommand etc. Optionen, die für den aktuellen Stil nicht definiert sind, als Fehler.
    Diese Änderung ist im Quellcode-Repository bereits enthalten und kann getestet werden.
  • Wie bereits durch entsprechende Warnungen seit KOMA-Script 3.12 angekündigt werden die seit zwanzig Jahren vom LaTeX-Kern selbst nicht mehr bereitgestellten veralteten Font-Anweisungen \rm, \sf, \tt, \bf, \it, \sl, \sc und \sfb nicht mehr angeboten bzw. melden nun einen Fehler. In der Hilfe zur Fehlermeldung wird ausführlich erklärt, wie man den Fehler ggf. los wird. Dazu gehört für Notfälle auch die vorübergehende Bereitstellung einer Option, die aus der Fehlermeldung wieder eine Warnung macht. Außerdem wird aber auch das Problem beseitigt, das auftritt, falls jemand eine veraltete Version von TeX4ht verwendet.
scrbase:
  • Auch bei Verwendung von polyglossia werden nun die für die Sprachen ngerman, austrian, naustrian, swiss oder nswiss in \captions definierten Begriffe verwendet, wenn bei polyglossia die Sprache german mit den entsprechenden Einstellungen für variant und spelling gewählt wird. Das hat beispielsweise Auswirkungen auf die Ausgabe von \phonename in scrlttr2 oder scrletter.
  • Neue Anweisung \ifislengthprimitiv{Anweisung}{Dann-Code}{Sonst-Code} führt Dann-Code genau dann aus, wenn Anweisung eines der Primitive \baselineskip, \parskip, \parindent, \hsize, \vsize, \pdfpagewidth, \pdfpageheight gefolgt von beliebig vielen \relax ist. Anderenfalls wird Sonst-Code ausgeführt. Weitere Primitiven werden ggf. folgen.
    Hinweis: Die neue Implementierung ist bereits im Quellcode-Repository und kann getestet werden.
  • Neue Anweisung \ifisdefchar{Anweisung}{Dann-Code}{Sonst-Code} führt Dann-Code genau dann aus, wenn Anweisung eine mit \chardef definierte Zeichennummer ist. Anderenfalls wird Sonst-Code ausgeführt.
    Hinweis: Die neue Implementierung ist bereits im Quellcode-Repository und kann getestet werden.
  • \ifisdimension wurde neu implementiert. Der Test kann nun etwas zuverlässiger prüfen, ob das erste Argument als Wert für ein \dimen-Register taugt. Allerdings führen viele Syntaxfehler noch immer zu Fehlermeldungen, da nach wie vor eine Heuristik verwendet wird. Eine wirklich zuverlässige Implementierung, die mit der Zuverlässigkeit von \ifisinteger vergleichbar wäre, war mir schlicht zu aufwändig.
    Hinweis: Die neue Implementierung ist bereits im Quellcode-Repository und kann getestet werden.
  • \ifisglue wurde neu implementiert. Der Test kann nun etwas zuverlässiger prüfen, ob das erste Argument als Wert für eine LaTeX-Länge oder ein \skip-Register taugt. Allerdings führen viele Syntaxfehler noch immer zu Fehlermeldungen, da nach wie vor eine Heuristik verwendet wird. Eine wirklich zuverlässige Implementierung, die mit der Zuverlässigkeit von \ifisinteger vergleichbar wäre, war mir schlicht zu aufwändig.
    Hinweis: Die neue Implementierung ist bereits im Quellcode-Repository und kann getestet werden.
  • \ifisinteger wurde neu implementiert. Der Test kann nun sehr zuverlässig überprüfen, ob das erste Argument (ggf. über mehrere Stufen) genau zu einer ganzen Zahl gefolgt von beliebig vielen \relax expandiert. Die alte Implementierung hatte dagegen beispielsweise mit nicht voll expandierbaren Anweisungen im ersten Argument erhebliche Probleme. Nach wie vor ist die Anweisung selbst nicht voll expandierbar.
    Hinweis: Die neue Implementierung ist bereits im Quellcode-Repository und kann getestet werden.
  • \ifisnumexpr wurde neu implementiert. Der Test kann nun sehr zuverlässig überprüfen, ob das erste Argument (ggf. über mehrere Stufen) genau zu einer \numexpr gefolgt von beliebig vielen \relax expandiert. Die alte Implementierung hatte dagegen beispielsweise mit nicht voll expandierbaren Anweisungen im ersten Argument erhebliche Probleme. Nach wie vor ist die Anweisung selbst nicht voll expandierbar und führt bei fehlerhaften Ausdrücken zu Fehlermeldungen.
    Hinweis: Die neue Implementierung ist bereits im Quellcode-Repository und kann getestet werden.
  • \ifisglueexpr wurde neu implementiert. Der Test kann nun sehr zuverlässig überprüfen, ob das erste Argument (ggf. über mehrere Stufen) genau zu einer \glueexpr gefolgt von beliebig vielen \relax expandiert. Die alte Implementierung hatte dagegen beispielsweise mit nicht voll expandierbaren Anweisungen im ersten Argument erhebliche Probleme. Nach wie vor ist die Anweisung selbst nicht voll expandierbar und führt bei fehlerhaften Ausdrücken zu Fehlermeldungen.
    Hinweis: Die neue Implementierung ist bereits im Quellcode-Repository und kann getestet werden.
  • \ifisdimexpr wurde neu implementiert. Der Test kann nun sehr zuverlässig überprüfen, ob das erste Argument (ggf. über mehrere Stufen) genau zu einer \dimexpr gefolgt von beliebig vielen \relax expandiert. Die alte Implementierung hatte dagegen beispielsweise mit nicht voll expandierbaren Anweisungen im ersten Argument erhebliche Probleme. Nach wie vor ist die Anweisung selbst nicht voll expandierbar und führt bei fehlerhaften Ausdrücken zu Fehlermeldungen.
    Hinweis: Die neue Implementierung ist bereits im Quellcode-Repository und kann getestet werden.
  • \ifisdimen wurde neu implementiert. Der Test kann nun sehr zuverlässig überprüfen, ob das erste Argument (ggf. über mehrere Stufen) genau zu einem \dimen-Register gefolgt von beliebig vielen \relax expandiert. Die alte Implementierung hatte dagegen beispielsweise mit nicht voll expandierbaren Anweisungen im ersten Argument erhebliche Probleme. Nach wie vor ist die Anweisung selbst nicht voll expandierbar!
    Hinweis: Die neue Implementierung ist bereits im Quellcode-Repository und kann getestet werden.
  • \ifisskip wurde neu implementiert. Der Test kann nun sehr zuverlässig überprüfen, ob das erste Argument (ggf. über mehrere Stufen) genau zu einem \skip-Register gefolgt von beliebig vielen \relax expandiert. Die alte Implementierung hatte dagegen beispielsweise mit nicht voll expandierbaren Anweisungen im ersten Argument erhebliche Probleme. Nach wie vor ist die Anweisung selbst nicht voll expandierbar! Wie angedeutet werden \baselineskip und \parskip nicht länger als \skip-Register akzeptiert.
    Hinweis: Die neue Implementierung ist bereits im Quellcode-Repository und kann getestet werden.
  • \ifiscount wurde neu implementiert. Der Test kann nun sehr zuverlässig überprüfen, ob das erste Argument (ggf. über mehrere Stufen) genau zu einem \count-Register gefolgt von beliebig vielen \relax expandiert. Die alte Implementierung hatte dagegen beispielsweise mit nicht voll expandierbaren Anweisungen im ersten Argument erhebliche Probleme. Nach wie vor ist die Anweisung selbst nicht voll expandierbar!
    Hinweis: Die neue Implementierung ist bereits im Quellcode-Repository und kann getestet werden.
scrbook, scrreprt:
  • Verzeichniseinträge im Stil part oder chapter beachten Option tocindent von \DeclareSectionCommand etc.
    Hinweis: Im Quellcode-Repository ist diese Änderung bereits enthalten und kann getestet werden.
  • \DeclareSectionCommand etc. bekommen eine neue Option tocstyle=Verzeichnisstil, mit dem sich des Stil der Verzeichniseintrags bestimmten lässt. Zunächst wird es die folgenden Stile geben, wobei die Namen noch nicht abschließend feststehen:
    part
    üblicher Stil für Teile und andere Gliederungsbefehle in demselben Gliederungsstil; dieser Stil unterstützt kein tocindent,
    chapter
    üblicher Stil für Kapitel und andere Gliederungsbefehle in demselben Gliederungsstil; dieser Stil unterstützt kein tocindent,
    section
    üblicher Stil für Abschnitte und andere Gliederungsbefehle in demselben Gliederungsstil
    default
    verwendet den Stil section; dieser Stil ist voreingestellt,
    gobble
    der Verzeichniseintrag wird nicht ausgegeben, sondern quasi vernichtet.
    Mit der Definition der Option wird der Verzeichnisbefehl durch \DeclareSectionComand etc. grundsätzlich entsprechend dem Wert neu definiert. Setzt man für Verzeichnisstil allerdings einen leeren Wert ein, also beispielsweise tocstyle= oder tocstyle={}, so wird die Verwaltung des Verzeichniseintrags KOMA-Script entzogen. Falls noch kein Befehl für den Verzeichniseintrag existiert, definiert KOMA-Script ihn aber auch dann zur Sicherheit im default- Stil.
typearea:
  • Es soll eine neue Option geben, mit der Einstellungen von typearea an geometry weitergereicht werden, falls das Paket geometry geladen wird. Das wird es theoretisch auch ermöglichen, das Seitenformat bzw. die Seitenausrichtung im Dokument über typearea zu ändern, die Verteilung der Ränder und die Größe des Satzspiegels dann aber mit \newgeometry zu verändern (geometry alleine bietet das nicht). Ebenso kann man dann mit typearea grundsätzliche Einstellungen vornehmen, aber anschließend über geometry beispielsweise nur den linken und rechten Rand ändern. Desweiteren wird bei Verwendung der Option das alleinige Laden von geometry nicht mehr die Aufteilung von Satzspiegel und Rändern ändern. Ob das wirklich zuverlässig funktioniert, ist noch nicht raus. Ebenso steht der Name der Option noch nicht abschließend fest. Außerdem ist noch nicht raus, ob diese Option Voreinstellung wird (verm. abgesichert über Option version). Kommentare dazu gerne an meine Support-Adresse oder bei den beiden zurvor verlinkten Umfragen.
    Hinweis: Im Quellcoderepository ist das ganze bereits als Option usegeometry zu finden. Beta-Tester können es also bereits ausprobieren.
    Die Änderung ist in der aktuellen Release zwar bereits enthalten aber dort noch nicht offiziell. Sie kann sich noch jederzeit ändern.
Comments for " Bekannte Probleme und Änderungen in der zukünftigen KOMA-Script-Version" abonnieren