Seite 1 von 1

Fehlermeldung nach package update

Verfasst: Mo 1. Feb 2010, 00:58
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

Re: Fehlermeldung nach package update

Verfasst: Mo 1. Feb 2010, 07:45
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]

Verfasst: Mo 1. Feb 2010, 11:21
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)

Verfasst: Di 2. Feb 2010, 01:34
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.

Verfasst: Di 2. Feb 2010, 09:16
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.