Sie sind hier

Bekannte Probleme und Änderungen in KOMA-Script 3.27

Bild von Markus Kohm

Diese Version wurde inzwischen durch Version 3.28 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:
  • Der Font aus chapterentrydots bzw. sectionentrydots wird nie verwendet.
    Hinweis: Das Problem, das von Elke gemeldet wurde, ist ab KOMA-Script 3.27.3321 beseitigt, funktioniert aber ein wenig anders als bisher leider inkorrekt dokumentiert.
scrbase:
  • \renewcaptionname erzeugt einen Fehler, falls ein Begriff in der Dokumentpräambel noch nicht definiert ist, wohl aber während \begin{document} definiert wird, wie das für einige Begriffe von babel oder KOMA-Script-Klassen der Fall ist.
    Das Problem wurde von einer unten dokumentierten Änderung in scrbase verursacht und ist leider trotz der langen Verfügbarkeit einer entsprechenden Pre-Release vor der Release niemandem aufgefallen.
    Das Problem, das von maximilianminimalis gemeldet wurde ist ab KOMA-Script 3.27a.3265 behoben.
scrlayer:
  • Das Zurücksetzen einer Option per \ModifyLayerPageStyleOptions durch Zuweisung eines leeren Wertes ist nicht möglich. Stattdessen muss beispielsweise \relax als Wert übergeben werden.
    Das Problem, das von Elke gemeldet wurde, ist ab KOMA-Script 3.28.3411 behoben, obwohl es eigentlich eher ein Dokumentationsproblem war.
  • \markleft ist im Gegensatz zu \markboth und \markright aus LaTeX ab 2019-10-01 nicht robust.
    Das ist nur bedingt ein Problem, aber ab KOMA-Script 3.27a.3271 behoben.
scrletter, scrlttr2:
  • Wird bereits vor \begin{letter} eine Anweisung wie \raggedright, \raggedleft oder \centering (oder auch die entsprechenden Anweisungen aus ragged2e) verwendet, die \\ auf eine Bedeutung umdefiniert, die mit \protected@edef zerbricht und zu Fehlern führt und befindet sich im bei \begin{letter}{…} angegebenen Empfänger, wie üblich ein \\, dann gibt es Fehlermeldungen.
    Workaround: Die Umschaltung mit \AtBeginLetter verzögern. Allerdings funktioniert das nicht für andere zerbrechliche Anweisungen in der Anschrift. Andere zerbrechliche Anweisungen in der Anschrift sollten aber ohnehin mit \protect geschützt werden.
    Hinweis: Das Problem, das zeitgleich von Elke und Alexander gemeldet wurde, ist ab KOMA-Script 3.27.3319 beseitigt.
scrlfile:
  • \AfterAtEndOfPackage wirkt sich auch aus, wenn ein Paket bereits geladen ist. Wird dann versucht, das Paket ein weiters Mal zu laden, so wird der Code ausgeführt, obwohl das Paket gar nicht mehr geladen wird und natürlich auch kein \AtEndOfPackage-Code ausgeführt wird.
    Ab KOMA-Script 3.27a.3268 wird der Code nur ausgeführt, wenn das Paket noch nicht vollständig geladen wurde. Damit ist dann \AfterPackage! quasi ein (nicht implementiertes) \AfterAtEndOfPackage+.
  • \AfterPackage+, \AfterClass+ , \AfterPackage! und \AfterClass! funktionieren unter gewissen Umständen nicht wie dokumentiert. Ursache ist u. a. ein Problem in LaTeX.
    Das Problem wurde von Falk gemeldet.
    Ab KOMA-Script 3.27a.3269 enthält scrlfile einen Workaround für das Problem in LaTeX. Dadurch funktionieren die Befehle wie erwartet.

Wichtige Änderungen:

Hinweis: Die Angabe einer bestimmten Versionsnummer in der nachfolgenden Liste bedeutet nicht, dass genau diese Version auch bereits über den jeweils angegebenen Link verfügbar ist. Die Auflistung eines Features ist auch keine Garantie, dass dieses in der dokumentierten Weise wirklich in der nächsten Version enthalten sein wird.

Codierung der Quellcode-Dateien:
Bisher waren die Quellen von KOMA-Script entweder ISO-8859-1 oder US-ASCII codiert. Das hatte in erster Linie historische Gründe, weil 1993 UTF-8 noch nicht allgemein verbreitet war und von LaTeX auch nicht unterstützt wurde. Schon seit einigen Jahren war geplant, die Quellen endlich auf UTF-8 umzustellen. Allerdings war das von eher geringen Priorität, weil nicht zwingend notwendig und durchaus nicht mit der Umkodierung der Dateien erledigt. Das wird sich jetzt aber definitiv ändern. Wer KOMA-Script aus dem Quellcode-Repository per svn up aktualisiert und selbst erzeugt, sollte daher unbedingt erst make distclean aufrufen, um alle temporären Dateien zu löschen.
scrarticle, scrreport, scrletter (Klasse):
Neue Wrapper-Klassen für die Jüngeren unter uns, die sich nicht mehr an 8.3-Dateinamen erinnern können und deshalb Schwierigkeiten mit den normalen Klassennamen haben. Dabei verwenden die Wrapper-Klassen in \KOMAClassName weiterhin die alten Namen. Es gibt aber zusätzlich dann auch ein \KOMALongClassName, das eigentlich überflüssig ist, weil man es einfach aus scr\ClassName bilden könnte.
Hinweise: Diese ab KOMA-Script 3.27.3091 verfügbaren Wrapper-Klassen, die auf Anregung eines langjährigen Benutzers (sic!) implementiert wurden, sollten nicht als Freibrief verstanden werden, diese an Stelle der echten Klassen zu verwenden. Offiziell dokumentiert sind weiterhin nur scrartcl, scrreprt und scrlttr2. Ab KOMA-Script 3.27.3125 ist die Klasse scrletter eine Wrapper-Klasse für die Verwendung von Klasse scrartcl mit Verwendung von Paket scrletter. Damit bieten die Klasse und das gleichnamige Paket die gleichen Brief-Möglichkeiten, während scrlttr2 ggf. nicht denselben Funktionsumfang hat.
scrartcl, scrbook, scrreprt:
  • Der ziemlich üble Hack, der auf Kosten diverser Möglichkeiten von KOMA-Script und unter Nutzung diverser interner Makros von titlesec die Verwendung von titlesec mit KOMA-Script-Klassen eingeschränkt ermöglicht hat, wurde entfernt. Dies dient letztlich dazu, Versionsabhängigkeiten von einem Drittpaket zu beseitigen, das selbst die KOMA-Script-Klassen nie sauber unterstützt hat, und auch den Code der Klassen aufzuräumen und wartbar zu halten. Außerdem wird so der Irrglaube reduziert, das Paket würde KOMA-Script-Klassen unterstützen. Das war noch nie der Fall und in vielen Fällen ging die Kombination auch bisher schon schief. Wer echte Unterstützung der KOMA-Script-Klassen durch titlesec haben will, möge sich an dessen Autor wenden.
    Diese Änderung ist ab KOMA-Script 3.27.3172 Bestandteil der Klassen.
  • Die Gliederungsbefehle kennen bei Verwendung des erweiterten optionalen Arguments (siehe headings=optionto…) den neuen Schalter nonumber, um die Nummerierung abzuschalten. Für Kapitel und Abschnitte entspricht das letztlich \addchap und \addsec (ohne Stern!).
    Diese schon vor Jahren mit Elke diskutierte Möglichkeit ist ab KOMA-Script 3.27.3164 endlich verfügbar.
  • Die interne Anweisung \bprot@dottedtocline ist veraltet und gibt eine entsprechende Warnung aus. Es ist durchaus geplant, sie zukünftig aus den Klassen zu entfernen.
    Hinweis: Diese in der TODO-Datei lang angekündigte Änderung ist ab KOMA-Script 3.27.3106 verfügbar.
  • Wird amsthm zusammen mit einer KOMA-Script-Klasse verwendet, entsteht eine neue Abhängigkeit von Paket xpatch. Obwohl ich normalerweise bemüht bin, derartige Abhängigkeiten zu vermeiden bzw. in scrhack auszulagern, wurde in diesem Fall beschlossen, das Wagnis vorerst einzugehen. Die Entscheidung ist jedoch nicht endgültig.
  • Um zu ermöglichen, dass die Nummerierung aller Gliederungsebenen via \setcounter{secnumdepth}{-\maxdimen} abgeschaltet werden kann (was beispielsweise scrartcl unter gewissen Umständen für Kolumnentitel nutzt), sind bei \DeclareSectionCommand nur noch level-Werte größer als -\maxdimen erlaubt.
    Hinweis: Diese Änderung/Klarstellung geht auf eine Frage bei TeX.Stackexchange und einen Kommentar zu einer dortigen Antwort zurück.
  • Die Anweisung \IfUseNumber{TRUE-Code}{FALSE-Code}, kann innerhalb der Überschriften und nur dort dazu verwendet werden, festzustellen, ob die aktuell in Verarbeitung befindliche Überschrift mit einer Nummer versehen wird oder nicht. Das schließt die Stellung von secnumdepth ebenso wie die Verwendung einer Sternform einer Gliederungsüberschrift oder \addpart, \addchap oder \addsec und bei scrbook auch \frontmatter, \mainmatter und \backmatter ein. Bei einigen Do-Hooks (siehe unten) kann diese Anweisung ggf. nützlich sein. Sie ist aber nicht bei allen Do-Hooks zulässig. Bisher ist sichergestellt, dass sie bei headings/begingroup/… und headings/endgroup/… gültig ist.
    Achtung: Im moving Argument einer Gliederungsanweisung ist der Befehl nicht gültig!
  • Der neue Do-Hook-Mechanismus (siehe Änderungen bei scrbase) wird verwendet. Folgende Hook-Ausführungen mit \ExecuteDoHook wurden bisher implementiert:
    • heading/begingroup/Überschriftenname: wird zu Beginn der Gruppe ausgeführt, in der auch \partlineswithprefixformat, \chapterlineswithprefixformat, \chapterlinesformat, \sectionlinesformat bzw. \sectioncatchphraseformat ausgeführt werden.
    • heading/endgroup/Überschriftenname: wird am Ende der Gruppe ausgeführt, in der auch \partlineswithprefixformat, \chapterlineswithprefixformat, \chapterlinesformat, \sectionlinesformat bzw. \sectioncatchphraseformat ausgeführt werden.
    • heading/preinit/Überschriftenname: wird ganz am Anfang eines Gliederungebefehls ausgeführt, also ggf. noch bevor der vorherige Absatz beendet wurde!
    • heading/postinit/Überschriftenname: wird am Ende der Initialisierung eines Gliederungsbefehls ausgeführt und ersetzt zukünftig \At@startsection. Die Anweisung ist jedoch nicht nur für den section-Stil, sondern auch für chapter und part verfügbar. Die veraltete Anweisung \At@startsection funktioniert weiterhin (nur für Überschriften im Stil section) wird aber auf den neuen Do-Hook abgebildet.
    • heading/branch/nostar/Überschriftenname: wird unmittelbar bei der Verzweigung zwischen Sternvarianten und Normalvarianten eines Gliederungsbefehls für die Normalvariante ausgeführt und ersetzt zukünftig \Before@sect. Die Anweisung ist jedoch nicht nur für den section-Stil, sondern auch für chapter und part verfügbar. Die veraltete Anweisung \Before@sect funktioniert weiterhin (nur für Überschriften im Stil section) wird aber auf den neuen Do-Hook abgebildet.
    • heading/branch/star/Überschriftenname: wird unmittelbar bei der Verzweigung zwischen Sternvarianten und Normalvarianten eines Gliederungsbefehls für die Sternvariante ausgeführt und ersetzt zukünftig \Before@ssect. Die Anweisung ist jedoch nicht nur für den section-Stil, sondern auch für chapter und part verfügbar. Die veraltete Anweisung \Before@ssect funktioniert weiterhin (nur für Überschriften im Stil section) wird aber auf den neuen Do-Hook abgebildet.
    Dabei ist Überschriftenname jeweils der Name einer Überschrift, wie er auch bei \DeclareSectionCommand etc. angegeben wird.
    Diese Hooks sind auf Anforderung der biblatex-Autoren teilweise ab KOMA-Script 3.27.3068, teilweise auch erst ab KOMA-Script 3.27.3071 verfügbar. Weitere Hooks dieser Art können je nach Notwendigkeit entstehen.
scrbase:
  • \FamilyOptions und \FamilyOption führen nun ebenfalls @else@-Optionen (vgl. \FamilyExecuteOptions) sowohl der Familienmitglieder als auch der Familie selbst aus. Besitzt ein Mitglied eine @else@-Option, so wird diese immer dann gesetzt, wenn das Mitglied eine angegebene Option nicht hat. Sie wird jedoch nicht ausgeführt, wenn das Mitglied die angegebene Option zwar kennt, nicht jedoch den übergebenen Wert. Dagegen wird eine @else@-Option der Familie nur ausgeführt, wenn keines der Mitglieder die Option mit Ergebnis \FamilyKeyStateProcessed verarbeiten konnte.
    Diese Möglichkeit wurde aufgrund einer Nachfrage von Falk in KOMA-Script 3.27.3170 implementiert.
  • \DefineFamilyKey mit explizit leerem erstem, optionalem Argument liefert nun keine Fehlermeldung wegen unbekanntem Mitglied mehr, sondern definiert eine Familienoption.
    Diese Änderung wurde im Zuge der Verarbeitung von @else@-Optionen durch \FamilyOptions in KOMA-Script 3.27.3170 implementiert.
  • Werden die Befehle \defcaptionname, \newcaptionname, \renewcaptionname, \providecaptionname in der Dokumentpräambel aufgerufen, so definieren sie ab KOMA-Script 3.27.3168 die entsprechende Anweisung unmittelbar, wenn die aktuelle Sprache einer der Sprachen aus dem ersten Argument entspricht. Um Fehlermeldungen bei Konstrukten wie
    \newcommand*{\Fooname}{Foo}
    \newcaptionname{english}{\Fooname}{Foo}
    und damit eine wesentliche Inkompatibilität zu früheren Versionen zu vermeiden, definiert \newcaptionname den Begriff in der Dokumentpräambel aber nur unmittelbar, wenn er nicht bereits (sprachunabhängig) definiert ist. Dies stellt keinen substantiellen Nachteil dar, da die korrekte Umschaltung dann ggf. bei \begin{document} erfolgt und dort dann ggf. auch die entsprechende Fehlermeldung ausgegeben wird, wenn \Fooname bereits sprachabhängig definiert ist.
    Sinn der ganzen Änderung ist, dass auch ohne Sprachumschaltung (also auch ohne Sprachpaket) nun sprachabhängige Ausdrücke für die aktuelle Sprache (vor dem Aufruf eines Sprachpakets normalerweise Englisch) bereits durch die genannten Befehle sprachunabhängig definiert sind und nicht zusätzlich per \def o. ä. explizit definiert werden müssen.
  • \IfArgIsEmpty ist nun \long.
    Diese Änderung ist ab KOMA-Script 3.27.3115 verfügbar.
  • Es wurde ein neuer Hook-Mechanismus namens Do-Hook-Mechanismus implementiert, der kaskadierte Hooks erlaubt. Dabei wird ein Hook durch einen Spezifikator bestimmt, der entweder ein String ist oder ein String gefolgt von einem mit / abgetrennten Spezifikator, also beispielsweise heading, aber auch heading/preinit/subsection. Zu dem Mechanismus gehören folgende Befehle:
    • \ExecuteDoHook{Spezifikator}: Diese Anweisung ist Paketautoren vorbehalten und dient dazu einen Do-Hook in der Implementierung eines Befehls zu verankern. Der Spezifikator darf nicht leer sein. Zunächst wird der erste String des Spezifikators abgetrennt. Dann wird String zum Hookname hinzugefügt und der Hook mit dem Rest des Spezifikators als angehängtes Argument ausgeführt. War der Rest nicht leer, wird er anschließend zum neuen Spezifikator und rekursiv die Ausführung von Code fortgesetzt, bis er leer ist.
      Beispiel: \ExecuteDoHook{heading/preinit/subsection} führt zunächst den Code von Hook heading mit dem Argument preinit/subsection aus. Dann den Code von heading/preinit mit Argument subsection und schließlich den Code von heading/preinit/subsection mit einem leeren Argument.
    • \AddtoDoHook{Hook}{Befehl}: Fügt den Befehl dem Hook hinzu. Zu beachten ist, dass bei Ausführung von Befehl immer ein Argument angefügt wird.
      Beispiel: Mit \AddtoDoHook{heading/preinit}{\typeout} wird der Befehl \typeout dem Hook heading/preinit hinzugefügt. So wird beispielsweise \ExecuteDoHook{heading/preinit/chapter} die Anweisung \typeout{chapter} ausführen, \ExecuteDoHook{heading/preinit/section} wird \typeout{section} ausführen etc. Wird dagegen mit \AddtoDoHook{heading/preinit/section}{\typeout} derselbe Befehl dem Hook heading/preinit/section hinzugefügt, so wird lediglich \ExecuteDoHook{heading/preinit/section} die Anweisung \typeout{} ausführen, während \ExecuteDoHook{heading/preinit/chapter} den Befehl nicht ausführen wird.
    • \AddtoOneTimeDoHook{Hook}{Befehl} arbeitet wie \AddtoDoHook{Hook}{Befehl}, allerdings wird der Code für den Hook nach Ausführung gelöscht. Code für One-Time-Hooks wird grundsätzlich nach dem Code für dauerhafte Hooks ausgeführt.
    • \ForDoHook{Spezifikator}{Code}: Durchläuft, wie für \ExecuteDoHook angegeben, die Teilspezifikatoren und führt für jede Unterteilung einmal Code aus. Dem Code werden dabei zwei Parameter angehängt: das Kopfelement und der Rest des Spezifikators.
      Eigentlich ist dies eine interne Anweisung zum Zwecke der Definition von \ExecuteDoHook. Normalerweise sollten Paketautoren (und erst recht Anwender) diese Anweisung nicht benötigen.
    • \SplitDoHook{Spezifikator}{Kopfbefehl}{Restbefehl}: Der Spezifikator wird, wie bei \ExecuteDoHook erklärt, in den ersten String und den Rest-Spezifikator aufgeteilt. Der Kopfbefehl wird als der erste String und der Restbefehl als der Rest definiert.
      Beispiel: \SplitDoHook{heading/preinit/section}{\Kopf}{\Rest} führt zu \def\Kopf{heading}\def\Rest{preinit/section}.
    Hinweis: Die KOMA-Script-Klassen verfügen tatsächlich über die im Beispiel genannten Hooks.
    Hinweis: Dieser Mechanismus wurde aufgrund der steigenden Nachfrage nach Hooks beispielsweise durch die biblatex-Autoren ab KOMA-Script 3.27.3068 eingeführt. Ab KOMA-Script 3.27.3072 steht er mit allen genannten Anweisungen zur Verfügung. Bestehende Hooks von KOMA-Script werden nach und nach zumindest teilweise auf den neuen Mechanismus umgestellt.
scrhack:
Der standard class sections Hack ist neu hinzugekommen. Er muss im Unterschied zu allen anderen Hacks explizit mit Option standardsections aktiviert werden. In diesem Fall werden die Gliederungsbefehle \part bis \subparagraph und die Ausgaben der zugehörigen Zähler genau wie bei den Standardklassen hart definiert. Bei Klassen, die über \mainmatter verfügen, werden außerdem \if@mainmatter, \frontmatter, \mainmatter und \backmatter entsprechend hart definiert.
Achtung: Dieser Hack kann eine Menge zerstören! Es gibt keinen Support für Probeme bei dessen Verwendung!
Dieser Hack ist ab KOMA-Script 3.27.3173 verfügbar.
scrjura:
Das Paket verwendet nun (endlich) \DeclareTOCStyleEntry für die Definition der Inhaltsverzeichniseinträge.
Hinweis: Wer bisher den undokumentierten Zähler statt der dokumentierten Option zur Festlegung der Eintragsebene verwendet hat, wird mit einer Fehlermeldung bestraft und muss dann eben zur Option wechseln. Das ist kein Bug, sondern so gewollt.
Die Änderung war in der TODO-Datei lange angekündigt und ist ab KOMA-Script 3.27.3103 endlich verfügbar. Damit steht der Weg frei, um \bprot@dottedtocline endlich als veraltet zu kennzeichnen, was in TODO ebenfalls lange angekündigt ist.
scrlayer-notecolumn:
  • Die \catcode-Werte der in \dospecials abgelegten Zeichen werden vor dem Einlesen der Hilfsdatei mit den Notizspalten wieder auf die Werte eingestellt, die sie bei \begin{document} hatten. Ausnahme ist der \catcode von @, der auf 11 (letter) gestellt wird. Dadurch funktionieren Notizspalten nun beispielsweise auch, wenn während einer verbatim-Umgebung ein Seitenumbruch erfolgt. und neue Notizen aus der Hilfsdatei gelesen werden müssen.
    Diese Änderung für ein von Karl gemeldetes Problem ist ab scrlayer-notecolumn 0.3 aus KOMA-Script 3.27.3108 verfügbar.
  • Bei Verwendung von LuaLaTeX oder PDFLaTeX unterstützt das Paket nun auch Farbänderungen mit color oder xcolor innerhalb der Notizspalten. Diese Möglichkeit ist noch sehr experimentell. Bei Verwendung von XeLaTeX werden Farben in Notizspalten weiterhin nicht unterstützt, da dann keine Möglichkeit besteht, den aktuellen color stack umzuschalten.
    Diese Änderung, die auf allerlei Anfragen zurück geht, ist ab scrlayer-notecolumn v0.2.3085 aus KOMA-Script 3.27.3085 verfügbar.
scrlayer-scrpage:
Kombinationen von scrlayer-scrpage mit Paketen, die \centering, \raggedright oder \raggedleft umdefinieren führen immer wieder zu Problemen. Krassestes Beispiel ist tabu. Aber auch ragged2e mit Verwendung von dessen Option newcommands oder NewCommands kann bereits dazu führen, dass die Ausrichtung nicht vollkommen korrekt ist. Obwohl das in meinen Augen eindeutig kein Bug von scrlayer-scrpage ist, sondern ein Misfeature der entsprechenden anderen Pakete, verwendet scrlayer-scrpage ab KOMA-Script 3.27.3140 die genannten Anweisungen nicht mehr direkt, sondern nutzt stattdessen \LaTeXcentering, \LaTeXraggedright und \LaTeXraggedleft. Sind diese Anweisungen beim Laden von scrlayer-scrpage bereits (beispielsweise von ragged2e) definiert, so bleiben sie unverändert. Anderenfalls werden sie mit der aktuellen Definition von \centering, \raggedright und \raggedleft versehen. Damit gibt es in scrlayer-scrpage nun auch einen Workaround für das auf TeX.Stackexchange gemeldete Problem bei mehrzeiligen Kopf-/Fußzeilen während eine longtabu verarbeitet wird.
scrletter:
Der Briefbogen wird nicht mehr von \opening erzeugt, sondern über den Layer notepaper und foldmarks und dem darauf basierenden, von der letter-Umgebung gesetzten Seitenstil notepaper.
Dies ist erst teilweise implementiert und derzeit wird \opening noch benötigt (u. a. um die richtige vertikale Position für den Briefanfang automatisch zu finden). Ein Teil der Arbeit wird eventuell auch noch in die Definition der letter-Umgebung verlagert. Daher ist diese Änderung ab KOMA-Script 3.27.3231 wieder deaktiviert und wird wohl noch nicht in der nächsten Version Einzug halten.
scrletter, scrlttr2:
  • Option symbolicnames kennt die neuen Werte marvosym, fontawesome und awesome. Der Wert marvosym entspricht den bisherigen Werten true, on und yes. Die beiden Werte fontawesome und awesome verwenden dagegen das Pakte fontawesome für die Symbole.
    Dieses Neuerung ist ab KOMA-Script 3.27.3120 verfügbar,
  • Der neue Befehl \foreachkomavar{Variable,}{Code} führt Code{Variable} für jede Variable aus.
    Diese Anweisung ist ab KOMA-Script 3.27.3116 verfügbar.
  • Der neue Befehl \foreachkomavarifempty{Variable,}{True-Code}{False-Code} führt True-Code{Variable} für jede Variable aus, die leer ist, und False-Code{Variable} für jede Variable, die nicht leer ist.
    Diese Anweisung ist ab KOMA-Script 3.27.3116 verfügbar.
  • Der neue Befehl \foreachemptykomavar{Variable,}{Code} führt Code{Variable} für jede Variable aus, die leer ist.
    Diese Anweisung ist ab KOMA-Script 3.27.3116 verfügbar.
  • Der neue Befehl \foreachnonemptykomavar{Variable,}{Code} führt Code{Variable} für jede Variable aus, die nicht leer ist.
    Diese Anweisung ist ab KOMA-Script 3.27.3116 verfügbar.
  • Ab KOMA-Script 3.27.3111 werden Briefe generell \raggedbottom gesetzt. Eine Änderung ist nur noch mit \flushbottom innerhalb von \begin{letter}…\end{letter} bzw. über \AtBeginLetter{\flushbottom} möglich.
  • Zwar erlaubt scrlttr2 das Setzen von Option twocolumn, innerhalb der Briefumgebung führt dies jedoch nicht zu sinnvollen Ergebnissen.
    Ab KOMA-Script 3.27.3110 werden Briefe explizit einspaltig gesetzt. In einer Warnung wird ggf. darauf hingewiesen, wie man dennoch zweispaltige Briefe erreichen kann.
tocbasic:
  • Für Optionen, die als Wert Längen oder Zahlen erwarten, wird bei \DeclareTOCStyleEntry ein Additionsoperator += unterstützt. Derzeit ist jedoch nicht geplant diese Möglichkeit auf die indirekte Verwendung der Optionen beispielsweise per \DeclareNewTOC auszuweiten.
    Diese Neuerung ist ab KOMA-Script 3.27.3230 verfügbar und auf meinem eigenen Mist gewachsen.
  • Es gibt für \DeclareTOCStyleEntry einen neuen Kopieroperator :=. Damit erwarten die Optionen als Wert nicht mehr die normalerweise erwarteten Werte, sondern den Namen einer anderen Verzeichnisebene, dessen Wert dann kopiert wird. Mit indent:=figure kann man also beispielsweise als Wert für den Einzug denselben Wert wie bei figure-Einträgen einstellen. Ist der entsprechende Wert für die angebene Verzeichnisebene nicht bekannt, so wird ein Fehler ausgegeben. Dieser Kopieroperator funktioniert für die Optionen der Verzeichniseinträge mit Präfix tocentry auch bei \DeclareNewTOC.
    Diese Neuerung ist ab KOMA-Script 3.27.3229 verfügbar und auf meinem eigenen Mist gewachsen.
  • Es gibt einen neuen Verzeichniseintragsstil toctext, der alle aufeinanderfolgenden Einträge dieses Stils innerhalb eines Absatzes ausgibt. Die Optionen ähneln denen von tocline, allerdings werden nicht alle Optionen unterstützt und es gibt ein paar zusätzliche.
    Hinweis: Dieser Stil wurde aufgrund einer von Elke an mich weitergeleiteten Frage auf TeX.SX implementiert und ist ab KOMA-Script 3.27.3162 verfügbar. Um ihn überhaupt zu ermöglichen, war es u. a. notwendig, am Ende von TOC-Dateien automatisch ein \par auszuführen.
  • Der Verzeichniseintragsstil tocline bietet die neue Option rightindent über die \@tocrmarg abhängig von der Eintragsebene ersetzt werden kann.
    Diese Änderung, die mir selbst nur in Ausnahmefällen sinnvoll erscheint, ist auf explizite Nachfrage ab KOMA-Script 3.27.3153 verfügbar.
  • Der Verzeichniseintragsstil tocline bietet die neue Option pagenumberwidth über die \@pnumwidth abhängig von der Eintragsebene ersetzt werden kann.
    Diese Änderung, die mir selbst nur in Ausnahmefällen sinnvoll erscheint, ist auf explizite Nachfrage ab KOMA-Script 3.27.3153 verfügbar.
  • Es gibt ein neues TOC-Feature noindent. Dies ermöglicht kooperierenden Verzeichniseintragsstilen wie tocline das Ignorieren der Einstellung für den Einzug, so dass ein komplett linksbündiges Verzeichnis entsteht (vlg. listof=flat, wobei listof=flat weit mehr tut!).
    Diese Änderung ist ab KOMA-Script 3.27.3150 verfügbar.
Comments for "Bekannte Probleme und Änderungen in KOMA-Script 3.27" abonnieren