Sie sind hier

Bekannte Probleme und Änderungen in KOMA-Script 3.08

Bild von Markus Kohm

Der Support für diese Version ist definitiv eingestellt. Wenden Sie sich ggf. an Ihren Distributor oder Administrator.

Mögliche Probleme:

  • Die englische Anleitung hat teilweise noch den alten Aufbau und gibt noch nicht alle neuen Möglichkeiten von KOMA-Script 3 an.
  • Leider wurde vergessen, die unten beschriebene Änderung bezüglich \firsthead, \firstfoot, \nexthead, \nextfoot in der Anleitung zu dokumentieren.
    Hinweis: Problem im SVN behoben.
  • Bei Verwendung von ntheorem.sty gibt es die Fehlermeldung:
    ERROR: LaTeX Error: Command \@gobbleopt already defined.

    Ursache: Das Paket definiert diese Anweisung, die auch von scrlfile definiert wird, ebenfalls und verwendet dabei \newcommand. Denselben Fehler gibt es übrigens, wenn man bei Verwendung einer beliebigen Klasse das Paket nohyperref vor ntheorem lädt.
    Workaround: Folgendes noch vor dem Laden von ntheorem sollte helfen:

    \makeatletter
    \BeforePackage{ntheorem}{%
      \let\@gobbleopt\relax
      \AtEndOfPackage{\renewcommand{\@gobbleopt}[1][]{}}%
    }
    \makeatother

    Abhilfe: Nächste Version von KOMA-Script verwenden.
    Hinweis: Problem im SVN bereits behoben.

Wichtige Änderungen:

scrartcl:
  • parskip=never: Diese neue Einstellung fügt im Gegensatz zu parskip=false auch dann keinen vertikalen Abstand zwischen den Absätzen ein, wenn dies für den vertikalen Ausgleich (siehe Anweisung \flushbottom) notwendig wäre.
  • parskip=…: Änderungen an der Absatzauszeichnung führen ein implizites \selectfont aus und sind deshalb ab dem nächsten Absatz verfügbar.
scrbase:
  • In der Optionenliste bzw. Werteliste von \FamilyOptions und \FamilyOption sind leere Elemente erlaubt. Dies widerspricht eindeutig der Spezifikation und Dokumentation der Befehle und wurde entgegen meiner Überzeugung nur implementiert, damit ich endlich meine Ruhe vor entsprechenden Anfragen habe.
  • \FamilyStringKey[Familienmitglied]{Familie}{Schlüssel}{\Makroname}: Abkürzung für \DefineFamilyKey[Familienmitglied]{Familie}{Schlüssel}{\def\Makroname{#1}}.
  • \FamilyStringKey[Familienmitglied]{Familie}{Schlüssel}[Säumniswert]{\Makroname}: Abkürzung für \DefineFamilyKey[Familienmitglied]{Familie}{Schlüssel}[Säumniswert]{\def\Makroname{#1}}.
scrbook:
  • parskip=never: Diese neue Einstellung fügt im Gegensatz zu parskip=false auch dann keinen vertikalen Abstand zwischen den Absätzen ein, wenn dies für den vertikalen Ausgleich (siehe Anweisung \flushbottom) notwendig wäre.
  • parskip=…: Änderungen an der Absatzauszeichnung führen ein implizites \selectfont aus und sind deshalb ab dem nächsten Absatz verfügbar.
scrkbase (und damit alle Klassen und diverse Pakete):
  • In der Optionenliste bzw. Werteliste von \KOMAOptions und \KOMAOption sind leere Elemente erlaubt. Dies widerspricht eindeutig der Spezifikation und Dokumentation der Befehle und wurde entgegen meiner Überzeugung nur implementiert, damit ich endlich meine Ruhe vor entsprechenden Anfragen habe.
scrdate:
  • Dank Benjamin Hell wird als Sprache nun auch Swedisch (swedish) und Dänisch (danish) unterstützt.
scrlfile:
  • Wird innerhalb von \BeforeClosingMainAux zum Schreiben in die aux-Datei auf \protected@write zurück gegriffen, so wird stattdessen automatisch die neue interne Anweisung \protected@immediate@write verwendet. Dadurch können Anweisung wie \addcontentsline oder \addtocontents in \BeforeClosingMainAux verwendet werden.
  • \PreventPackageFromLoading{Paketliste}: Für alle in Paketliste angegebenen Pakete wird verhindert, dass diese zukünftig geladen werden. Dies betrifft sowohl das Laden mit \usepackage als auch das Laden mit \RequirePackage also auch das Laden innerhalb von anderen Paketen, die zwingend auf die entsprechenden Pakete angewiesen sind! Wird die Anweisung mehrfach aufgerufen, so werden die neu angegebenen Pakete an die bereits existierende Ausnahmeliste angehängt.
  • \ResetPreventPackageFromLoading: Setzt die von \PreventPackageFromLoading definierte Ausnahmeliste zurück. Gleichzeitig werden die Umdefinierungen von \RequirePackage und \usepackage rückgängig gemacht.
  • \StorePreventPackageFromLoading{Macro}: Speichert die aktuelle Ausnahmeliste von \PreventPackageFromLoading im angegebenen Macro. Diese kann beispielsweise nach einem \ResetPreventPackageFromLoading verwendet werden, um die Liste mit \PreventPackageFromLoading{Macro}} wieder her zu stellen:
    \PreventPackageFromLoading{foo}% Verhindere, dass Paket foo geladen wird.
    \StorePreventPackageFromLoading{\MeineListe}% Speichere die aktuelle Ausnahmeliste in \MeineListe.
    \ResetPreventPackageFromLoading% Entferne die Ausnahmeliste und deren Behandlung und ...
    \usepackage{bar}% ... erlaube bar so alle möglichen Pakete zu laden.
    \PreventPackageFromLoading{\MeineListe}% Stelle die gespeicherte Ausnahmen wieder her.
scrlttr2:
  • Dank Benjamin Hell wird als Sprache nun auch Swedisch (swedish) unterstützt.
  • Die Anweisungen \firsthead, \firstfoot, \nexthead und \nextfoot werden durch die Variablen firsthead, firstfoot, nexthead und nextfoot ersetzt. Die alten Anweisungen funktionieren weiterhin, erzeugen aber entsprechende Warnungen. Die direkte Verwendung interner Anweisungen aus diesem Bereich funktioniert nur noch teilweise und erzeugt dann ebenfalls Warnungen. Die Änderungen verbessern scrlttr2 jedoch in Hinblick auf eine konsistente Benutzerschnittstelle. Außerdem ist damit beispielsweise möglich, innerhalb von nexthead auf den Inhalt von firsthead zuzugreifen. Das gilt auch dann, wenn der Inhalt von firsthead über Optionen automatisch festgelegt wird.
  • parskip=never: Diese neue Einstellung fügt im Gegensatz zu parskip=false auch dann keinen vertikalen Abstand zwischen den Absätzen ein, wenn dies für den vertikalen Ausgleich (siehe Anweisung \flushbottom) notwendig wäre.
  • parskip=…: Änderungen an der Absatzauszeichnung führen ein implizites \selectfont aus und sind deshalb ab dem nächsten Absatz verfügbar.
scrreprt:
  • parskip=never: Diese neue Einstellung fügt im Gegensatz zu parskip=false auch dann keinen vertikalen Abstand zwischen den Absätzen ein, wenn dies für den vertikalen Ausgleich (siehe Anweisung \flushbottom) notwendig wäre.
  • parskip=…: Änderungen an der Absatzauszeichnung führen ein implizites \selectfont aus und sind deshalb ab dem nächsten Absatz verfügbar.

Hinweis:

Das angekündigte Paket scrwfile wurde mangels Tester nicht integriert.