Sie sind hier

Bekannte Probleme und Änderungen in KOMA-Script 3.32

Bild von Markus Kohm

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

Bekannte Probleme:

Verwendung von KOMA-Script mit latexrelease:
Je nach per latexrelease eingestellter LaTeX-Version, kann es zu Fehlern/Problemen kommen, die mit einem echten LaTeX-Kern der angegebenen Version nicht auftreten. Da die Ursache hierfür primär ist, dass latexrelease eben keine vollständige Kompatibilität mit einem entsprechenden LaTeX-Kern herstellt, werden derartige Probleme nicht als Fehler in KOMA-Script betrachtet. Logistisch ist es ohnehin nicht möglich, Kompatibilität mit allen zurückliegenden und zukünftigen LaTeX-Versionen und schon gar nicht mit Abweichungen davon bei allen möglichen Einstellungen von latexrelease sicherzustellen.
scrartcl, scrbook, scrlttr2, scrreprt:
  • Bei Verwendung einer sehr frühen Entwicklerversion von LaTeX 2020/05/01 gab es bereits beim Laden einer KOMA-Script-Klasse eine Fehlermeldung wegen bereits definierten \footref, beispielsweise:
     LaTeX Error: Command \footref already defined.
                   Or name \end... illegal, see p.192 of the manual.
     
    See the LaTeX manual or LaTeX Companion for explanation.
    Type  H <return>  for immediate help.
     ...                                              
     
    l.6297 }
    Ursache des Problems ist, dass ab LaTeX 2020/05/01 \footref bereits im LaTeX-Kern definiert wird.
    Workaround: \let\footref\relax vor \documentclass oder eine offizielle LaTeX-dev-Version oder LaTeX-Version verwenden.
    Hinweis: Das Problem ist ab KOMA-Script 3.33.3570 beseitigt.
  • Bei Verwendung von XeLaTeX und Sprache spanish für Paket babel kommt es zu einer Fehlermeldung bezüglich bookmark, falls babel vor hyperref geladen wird und Paket bookmark nicht selbst geladen wird. Ursache ist, dass dann innerhalb von \begin{document} verschiedene catcode-Änderungen durch babel-spanish vorgenommen werden, bevor bookmark geladen wird.
    Das von AS gemeldete Problem kann sehr einfach umgangen werden, indem man bookmark selbst unmittelbar nach hyperref lädt.
    Ab KOMA-Script 3.33.3567 ist ein Workaround für dieses Problem vorhanden.
  • Wird itemize in einem anderen Font-Kontext verwendet, so verändern die Aufzählungszeichen (aka Bulletpoints) eventuell ihr Aussehen. Ursache ist eine Änderung in LaTeX 2020/02/02. Es handelt sich also explizit nicht um einen Bug in KOMA-Script.
    Das von MH analysierte und mit Lösungsvorschlag ausführlich dokumentierte Problem wurde in KOMA-Script 3.33.3563 durch Einführung neuer Font-Elemente und gleichzeitig in der Voreinstellung kompatibel mit einer entsprechenden (in den News zu LaTeX 2020/02/02 nicht dokumentierten) Änderung bei den Standardklassen behoben.
scrlayer-notecolumn:
Bei Verwendung von LuaLaTeX verträgt scrlayer-notecolumn keine " in \jobname. Das betrifft auch den Fall, dass der Dateinamen automatisch in Anführungszeichen eingeschlossen wird, beispielsweise weil er Leerzeichen enthält. Dies kann zu allerlei Fehlern führen, weshalb empfohlen wird, auf Leerzeichen und " auch im Dateinamen des Hauptdokuments zu verzichten.
Eine Lösung des Problems wird es eventuell erst nach der nächsten Release geben.
scrlfile:
Im Falle eines Rollbacks zu einer LaTeX-Version vor 2020/10/01 mit Hilfe von latexrelease wird fälschlich scrlfile-hook statt scrlfile-patcholdlatex verwendet. Dies geschieht aufgrund einer unvollständigen Kompatibilität des Rollbacks im Vergleich zu einem echten LaTeX-Kern der entsprechenden Version.
Das Problem, das von Falk erkannt, analysiert und gemeldet wurde, ist durch einen Workaround ab KOMA-Script 3.33.3555 beseitigt. Da es schlicht unmöglich ist, sowohl gegen alle echten LaTeX-Kernel-Versionen als auch gegen alle mit latexrelease verfügbaren Versionen zu testen, kann jedoch generell weder eine Kompatibilität mit Rollback-Versionen noch anderen LaTeX-Kernel-Versionen als derjenigen, die zum Zeitpunkt der KOMA-Script-Release aktuell war, gewährleistet werden. Auch Support kann für nicht aktuelle Kombinationen nur eingeschränkt stattfinden.

Wichtige Änderungen:

LaTeX 2020-10-01 soll einen neuen, generellen Hook-Mechanismus bekommen und die bisherigen Hook-Anweisungen des LaTeX-Kerns werden darauf umgestellt und entsprechend erweitert und in ihrer Funktion verändert. Diverse Hook-Mechanismen in KOMA-Script waren (und sind teilweise eventuell noch) auf Verwendung dieses neuen LaTeX-Hook-Mechanismus anzupassen. Obwohl dies mit einigem Aufwand verbunden war, waren entsprechende Änderungen an einigen Stellen wieder einmal von hoher Dringlichkeit. Die neue Release beschränkt sich daher auf die entsprechenden, notwendigen und teilweise inkompatiblen Änderungen. Es wird darauf hingewiesen, dass die explizite Angabe, ab welcher Prerelease eine Änderung implementiert ist, in folgender Auflistung lediglich ein Hinweis auf die entsprechende Revision in den Quelltexten darstellt. Tatsächlich werden Prereleases nach Erscheinen einer neuen Release in der Regel gelöscht.
scrlfile-hook:
Neues rein internes Paket, das LaTeX 2020-10-01 voraussetzt und einige der Anweisungen von scrlfile mit der neuen Hook-Schnittstelle aus lthooks und ltfilehook implementiert. Derzeit werden die folgenden Befehle unterstützt: \BeforeFile, \BeforeClass, \BeforePackage, \AfterFile, \AfterClass, \AfterClass*, \AfterPackage, \AfterPackage*, \AfterAtEndOfClass, \AfterAtEndOfClass*, \AfterAtEndOfPackage, \AfterAtEndOfPackage*, \PreventPackageFromLoading, \PreventPackageFromLoading*, \UnPreventPackageFromLoading, \UnPreventPackageFromLoading*, \StorePreventPackageFromLoading, \ResetPreventPackageFromLoading, \ReplaceInput, \ReplaceClass, \ReplacePackage, \UnReplaceInput, \UnReplaceClass, \UnReplacePackage, \BeforeClosingMainAux, \AfterReadingMainAux, \protected@immediate@write.
Alle Hook-Befehle unterstützen darüber hinaus ein zusätzliches optionales Argument entsprechend dem optionalen Argument von \AddToHook.
Das neue interne Paket ist ab KOMA-Script 3.32.3521 Bestandteil von KOMA-Script-.
scrlfile-patcholdlatex:
Neues rein internes Paket, das die Funktionalität von scrlfile-hook für LaTeX Kernel bis einschließlich 2020-04-01 durch patchen von teils internen Kernel-Macros bereitstellt. Das Beispiel für scrlfile-hook funktioniert auch mit diesem Paket, wenn man in jenem Beispiel überall -hook durch -patcholdlatex ersetzt. Es wird darauf hingewiesen, dass die Ausführungsreihenfolge der Hooks nicht zu 100% identisch ist, sondern lediglich der Dokumentation entspricht. Darüber hinaus wird das zusätzliche optionale Argument, das scrlfile-hook für alle Hook-Befehle bietet, derzeit nicht unterstützt.
Das neue interne Paket ist ab KOMA-Script 3.32.3523 Bestandteil von KOMA-Script.
scrlfile:
  • Intern verwendet das Paket je nach LaTeX-Kern entweder scrlfile-hook (LaTeX ab 2020-10-01) oder scrlfile-patcholdlatex (LaTeX bis 2020-04-01).
  • Die Anweisungen \AfterClass+ und \AfterClass! erhalten den Status veraltet (deprecated). Sie sind nur bei explizitem Laden von scrlfile mit Option withdeprecated verfügbar und geben eine entsprechende Warnung aus. Es wird empfohlen stattdessen die neue Anweisung \AfterAtEndOfClass* zu verwenden. Beide(!) Anweisungen werden intern auf diese eine Anweisung abgebildet. Meines Wissens gibt es niemanden, der die Anweisungen verwendet.
  • Die Anweisungen \AfterPackage+ und \AfterPackage! erhalten den Status veraltet (deprecated). Sie sind nur bei explizitem Laden von scrlfile mit Option withdeprecated verfügbar und geben eine entsprechende Warnung aus. Es wird empfohlen stattdessen die neue Anweisung \AfterAtEndOfPackage* zu verwenden. Beide(!) Anweisungen werden intern auf diese eine Anweisung abgebildet. Meines Wissens gibt es niemanden, der mit dieser Umstellung ernsthafte Probleme hat. Ich habe sogar einige Pakete gefunden, in denen ohnehin besser \AfterPackage* verwendet worden wäre.
  • Um scrlfile mit den meisten veralteten Pakten oder Klassen verwenden zu können, die sich noch auf veraltete Befehle von scrlfile verlassen, kann das Paket noch vor \documentclass per
    \RequirePackage[withdeprecated]{scrlfile}
    geladen werden. Allerdings erhöht das lediglich die Chance, dass es funktioniert. Es ist keine Garantie. Wer absolute Kompatibilität benötigt, muss ein KOMA-Script < 3.32 und LaTeX < 2020-10-01 verwenden. Entsprechende KOMA-Script-Versionen sind über meine Repositories beispielsweise als TDS-Archiv verfügbar. Aufgrund der massiven Änderungen an LaTeX und der dringenden Bitte des LaTeX-Teams für die Funktionalität von scrlfile keine LaTeX-Kern-Anweisungen mehr zu patchen, sind die Möglichkeiten des Erhalts absoluter Kompatibilität mit vertretbarem Aufwand leider limitiert.
Comments for "Bekannte Probleme und Änderungen in KOMA-Script 3.32" abonnieren