Seit einiger Zeit erzeugt das Erstellen von KOMA-Script-Dokumenten die Fehlermeldung "Command \@textsubscript already defined
¹". (Windows 7, MiKTeX 2.9, alle Pakte auf dem aktuellsten Stand, getestet mit LyX 2.1.3)
Das auskommentieren der folgenden Zeilen in den KOMA-Script cls-Dateien löst das Problem:¹
\DeclareRobustCommand*\textsubscript[1]{% \@textsubscript{\selectfont#1}% } \newcommand{\@textsubscript}[1]{% {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}% }
[Admin-Edit:]
Problem nicht nachvollziebar, Lösung Unsinn
Das Problem ist nicht reproduzierbar. Daher kann ich dazu nur allgemein sagen:
In KOMA-Script wird diese Anweisung seit 2001 definiert. Es waren damals die ersten Klassen/Pakete, die das gemacht haben. Schon seit 2011 verwendet KOMA-Script für die Definition von
\@textsubscript
nicht mehr\newcommand
, wie bei Dir angegeben, sondern\providecommand
, weil fixltx2e diese Anweisung ebenfalls definiert und von manchen Anwendern sogar noch vor der Klasse geladen wird. Seit LaTeX 2015/01/01 definiert bereits der LaTeX-Kern diese Anweisung.Wenn Du also ein Paket lädst, das sich daran stört, dann ist das ein Fehler dieses Pakets und nicht von KOMA-Script. KOMA-Script macht an der Stelle alles richtig.
Wenn Deine Angaben stimmen, also bei Dir tatsächlich noch
\newcommand
für die Definition von\@textsubscript
in den Klassen verwendet wird, sei außerdem ein Update von KOMA-Script empfohlen. Das ist bei Dir dann nämlich extrem veraltet!Darüber hinaus sollte man niemals etwas an den Original-Klassendateien ändern.
MiKTeX Update Bug
Verantwortlich ist in der Tat MiKTeX und die Tatsache, dass es Pakte sowohl unter "C:\Program Files (x86)" als auch unter "...\Roaming\..." geben kann. Ruft man das MiKTeX -Update mit dem Zusatz "admin" auf (was ich immer gemacht habe) wird C:\Program Files (x86) aktualisiert - ohne den Zusatz "admin" wird "Roaming" aktualisiert (was ich allerdings bisher nicht gemacht habe). Windows bevorzugt nun Roaming vor C:\Program Files (x86) weshalb bei mir immer ein veraltetes KOMA-Script package geladen wurde.
Der Bug liegt also vielmehr in einem nicht offensichtlichen update-Verhalten von MiKTeX.
Danke theoky für den Tipp in die richtige Richtung.
Kein Bug
Das ist kein Bug, sondern das normale Verhalten von MiKTeX bei einer Multi-User-Installation. Bei der vollautomatischen Auto-Installation von Paketen kann MiKTeX keine Admin-Rechte erlangen. Daher installiert es dann Pakete in einem Benutzer-TEXMF- Baum. Beim Update als Admin wiederum, hat der Admin keinen Zugriff auf die Benutzer-TEXMF-Bäume aller Benutzer. Daher muss man die dort installierten Pakete über den Updatemanager für Benutzer aktualisieren.
Es gibt zwei Auswege: