Menu

Warning_@startsection

Class scr… Warning: `\@startsection' has been changed. …

Die komplette Warnung lautet exemplarisch für scrartcl:

Class scrartcl Warning: `\@startsection' has been changed.
(scrartcl)              scrartcl needs it's own definition of `\@startsection'
(scrartcl)              to provide extended features for the optional argument
(scrartcl)              of `\section' etc.
(scrartcl)              Generally it defines `\@startsection' completely new
(scrartcl)              to achieve this. Because of the unexpected definition
(scrartcl)              an alternative approach will be used.
(scrartcl)              If this fails and if there isn't a new release of
(scrartcl)              KOMA-Script that fixes the problem, please
(scrartcl)              send a report to the KOMA-Script author.
(scrartcl)              Note, that this alternative approach does not
(scrartcl)              execute the elements of do-hooks:
(scrartcl)                - `heading/postinit',
(scrartcl)                - `heading/branch/star',
(scrartcl)                - `heading/branch/nostar',
(scrartcl)              and does always use `runin=bysign' and
(scrartcl)              `afterindent=bysign'.

Wie die Warnung erklärt, verwenden die KOMA-Script-Klassen intern nicht das originale \@startsection zur Definition von Überschriften, sondern eine abgewandelte Version. Diese abgewandelte Version funktioniert aber beispielsweise nicht, wenn mit \DocumentMetadata oder auf anderem Weg das Tagging aktiviert wird. Auch andere Änderungen an LaTeX-Kern oder durch Pakete können die Definition von \@startsection verändern. Um das Risiko einer Fehlfunktion zu minimieren, schalten die KOMA-Script-Klassen dann auf eine andere Arbeitsweise zurück. Allerdings führt das dazu, dass einige Erweiterungen der KOMA-Script-Klassen nicht mehr verwendet werden können.

Im Fall von Tagging gibt es übrigens weitere Warnungen:

Class scrartcl Warning: Unexpected definition of \@sect!
(scrartcl)              Please send information about this to
(scrartcl)              the KOMA-Script maintainer!
(scrartcl)              Maybe LaTeX will be broken by the redefinition
(scrartcl)              of \@sect on input line 3549.


Class scrartcl Warning: Unexpected definition of \@ssect!
(scrartcl)              Please send information about this to
(scrartcl)              the KOMA-Script maintainer!
(scrartcl)              Maybe LaTeX will be broken by the redefinition
(scrartcl)              of \@ssect on input line 3745.


Class scrartcl Warning: Unexpected definition of \@xsect!
(scrartcl)              Please send information about this to
(scrartcl)              the KOMA-Script maintainer!
(scrartcl)              Maybe LaTeX will be broken by the redefinition
(scrartcl)              of \@xsect on input line 3826.

Diese Warnungen sind wesentlich kritischer, da KOMA-Script in diesen Fällen nicht zu einer anderen Arbeitsweise übergehen kann, sondern die drei genannten Anweisungen zwingend neu definieren muss und somit etwas beschädigen kann.

In den folgenden Fällen ist dennoch keine Information an den KOMA-Script Maintainer bzw. im Issue-Tracker notwendig:

  • Es wird \DocumentMetadata einschließlich Aktivierung von Tagging-Code verwendet.
    Die KOMA-Script-Klassen unterstützen derzeit kein Tagging. Die Arbeiten daran sind alles andere als trivial und vom KOMA-Script-Hauptentwickler nicht alleine leistbar. Ich betrachte es auch nicht als sinnvoll, Tagging nur an wenigen Stellen, beispielsweise in Überschriften von \section bis \subparagraph zu unterstützen. Die offizielle Unterstützung von Tagging braucht schlicht noch Zeit, die ich derzeit nicht aufbringen kann. Wer auf Tagging angewiesen ist, ist gut damit beraten, die Standardklassen und nur wenige Pakete zu verwenden.
    Siehe auch: [#89] [#59].

Hinweis: Die Warnungen existieren nur bei KOMA-Script bis einschließlich Version 3.48.


Related

Issues: #59
Issues: #89
Wiki (Deutsch): Messages

MongoDB Logo MongoDB