Fehlermeldung nach package update

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


Franziska
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Mo 1. Feb 2010, 00:43

Fehlermeldung nach package update

Beitrag von Franziska »

Hallo,

nachdem ich in Miktex 2.7 ein package update durchgeführt habe (alle updatetable packages, ich kann nicht mehr nachvollziehen, welche) erhalte ich in bei einer zuvor fehlerfreien .tex-Datei folgende Fehlermeldung in der.log-Datei
! Undefined control sequence.
\CurrentOption ->\@nil
                       
l.1000 \KOMAProcessOptions
                          \relax
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.
Woran kann das liegen und wie kriege ich das wieder weg?

LG

Franziska

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Re: Fehlermeldung nach package update

Beitrag von KOMA »

Franziska hat geschrieben:Woran kann das liegen
  1. an einem neuen Fehler in einem der verwendeten Pakete oder der verwendeten Klasse
  2. an einer neuen Unverträglichkeit zwischen den verwendeten Paketen und der Klasse
  3. an einem Bedienfehler, der bisher toleriert wurde, jetzt aber zum Tragen kommt
  4. an einer kleinen Änderung, die Du zwischen dem letzten LaTeX-Lauf vor dem Update und dem ersten LaTeX-Lauf nach dem Update noch vorgenommen hast
vieles ist möglich. Die konkrete Ursache kann man Dir ohne vollständiges Minimalbeispiel (← das ist ein Link!) kaum sagen.
Franziska hat geschrieben:und wie kriege ich das wieder weg?
  1. indem Du ein vollständiges Minimalbeispiel (← das ist ein Link!) machst, um den Fehler einzugrenzen und das ggf. hier in einer
    -Umgebung angibst.
    [*]wenn Du Pech hast nur durch Änderungen in den verwendeten Paketen/Klasse[/list]

Franziska
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Mo 1. Feb 2010, 00:43

Beitrag von Franziska »

Hallo Markus,

danke für Deine Antwort. Mit folgendem Minimalbeispiel erhalte ich die genannte Fehlermeldung:
\documentclass[
footnosepline,
]{scrbook}
\listfiles
\begin{document}
text
\end{document}
Ist die option footnosepline nach dem package-update nicht mehr ok?

LG

Franziska (blutige LaTex-Anfängerin)

phi
Moderator
Moderator
Beiträge: 420
Registriert: Fr 6. Feb 2009, 21:28

Beitrag von phi »

Gratulation, du hast einen Bug in KOMA-Script gefunden. Im Befehl \FamilyExecuteOptions wird \scr@key@atlist nicht gesichert, was bei manchen der veralteten Optionen zu Fehlern führt, die nicht auftreten dürften. Hier zum Nachvollziehen:
\RequirePackage{scrlfile}
\makeatletter
\AfterPackage{scrkbase}{%
  \renewcommand*{\FamilyExecuteOptions}[3][.\@currname.\@currext]{%
    \def\reserved@a##1\@nil{%
      \@for\scr@key@atlist:=#3\do{%
        \expandafter\scr@key@split@name@value\scr@key@atlist==\@nil
        \scr@ifundefinedorrelax{KV@#2@\scr@key@name}{}{%
          \edef\reserved@a{\noexpand\setkeys{#2}{\scr@key@atlist}%
          }%
          \reserved@a
        }%
        \scr@ifundefinedorrelax{KV@#2#1@\scr@key@name}{}{%
          \edef\reserved@a{%
            \noexpand\setkeys{#2#1}{\scr@key@atlist}%
          }%
          % Wenn hier \scr@key@atlist nicht gesichert wird, kann die
          % Option footnosepline nicht ohne Fehler benutzt werden
          \let\TEMPXYZ\scr@key@atlist
          \reserved@a
          \let\scr@key@atlist\TEMPXYZ
        }%
        \let\CurrentOption\scr@key@atlist
        \csname ds@\CurrentOption\endcsname
      }%
      \edef\CurrentOption{##1}%
    }%
    \expandafter\reserved@a\CurrentOption\@nil
  }%
}
\makeatother
\documentclass[ 
footnosepline,
]{scrbook}
\listfiles 
\begin{document} 
text 
\end{document} 
Für neue Dokumente solltest du statt footnosepline die Option footsepline=false benutzen, dann verschwindet auch die Fehlermeldung.

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Richtig, aber VORSICHT! \FamilyExecuteOptions habe ich vorgestern im Zuge der Entwicklung von titlepage bereits in anderer Hinsicht verbessert. Deine Redefinition zerstört das. Die bessere Lösung ist also, die obsolete Option durch eine aktuelle zu ersetzen.

Mit obsoleten Optionen schaltet man aus Sicherheitsgründen außerdem auf version=2.9t. Neue Dokumente, die neue Features und Satzverbesserungen von KOMA-Script nutzen sollen, sollten deshalb keine obsoleten Optionen verwenden.

Antworten