Sie sind hier

scrbase vor documentclass wirft einen Fehler

Um in einer von mir genutzten Wrapper-Klasse die unterliegende Klasse auszutauschen, verwende ich folgendes:

\RequirePackage{scrbase}
\ReplaceClass{article}{scrartcl}
\documentclass{talk}
 
\title{a}
\begin{document}
  \begin{slide}{T}
      Halllo
  \end{slide}
\end{document}

Dabei erhalte ich einen Fehler, dass \@globaloptionslist nicht definiert ist:

! Missing \endcsname inserted.
<to be read again> 
                   \@globaloptionslist 
l.359 \FamilyProcessOptions{KOMA}
                                 \relax

Ein workaround ist, am Anfang \@classoptionslist einen Wert zuzuweisen:

\makeatletter\let\@classoptionslist\empty\makeatother
\RequirePackage{scrbase}
\ReplaceClass{article}{scrartcl}
\documentclass{talk}
 
\title{a}
\begin{document}
  \begin{slide}{T}
      Halllo
  \end{slide}
\end{document}

was dann wie erwartet funktioniert.

forum: 

Lade doch wirklich nur das Paket vor der Dokumentenklasse, mit dem diese ausgetauscht werden kann, also scrlfile. Der folgende Code läuft bei mir jedenfalls fehlerfrei:

\RequirePackage{scrlfile}
\ReplaceClass{article}{scrartcl}
\documentclass{talk}
\listfiles
\title{a}
\begin{document}
  \begin{slide}{T}
      Halllo
  \end{slide}
\end{document}

Infos zu den beiden Paketen findest Du in der KOMA-Script Dokumentation oder im KOMA-Script Buch.
Gruß
Elke

Bild von Markus Kohm

Man kann das Paket zwar ganz am Anfang einer Klasse laden aber nicht davor und das ist auch so gedacht. Ich verstehe auch nicht so recht, warum Du scrbase statt scrlfile vor der Klasse laden willst. Für das Paket ist AFAIR nicht einmal dokumentiert, dass es scrlfile lädt. Das macht es eigentlich nur, damit es auf das Laden von pdfcprot reagieren und so Konflikte mit dessen \ifpdftex vermeiden kann.

Daher schließe ich mich voll und ganz Elkes Vorschlag an und mache darauf aufmerksam, dass man keineswegs alle Pakete einfach vor einer Klasse laden kann. Man sollte das nur mit Paketen machen, für die es dokumentiert ist.

Ja, richtig.
Danke euch beiden, da hatte ich mich wohl in der Doku verheddert :)

Comments for "scrbase vor documentclass wirft einen Fehler" abonnieren