Ich erhalte die Fehlermeldung »! You can’t use \spacefactor in vertical mode.« oder »Command \@ already defined.«. Mache ich etwas falsch?

In den meisten Fällen liegt die Schuld an der Verwendung oder Neudefinition eines Makros beginnend mit \@, also einem At-Zeichen @ am Anfang des Namens, in einem Dokument. Das At-Zeichen @ ist aber nicht als Bestandteil eines Makronamens innerhalb des Dokuments erlaubt.

Beispielsweise tritt der Fehler bei der Definition

\renewcommand{section}{%
   \@startsection {section}{1}{\z@}{-3.5ex plus-1ex minus-.2ex}%
                           {2.3ex plus.2ex}{\normalfont\Large\bfseries}}

in der Dokumentpräambel auf.

Vermeiden kann man diesen Fehler, indem man die Definition in eine .sty-Datei verschiebt oder in der Präambel mit \makeatletter . . . \makeatother klammert, wie beispielsweise

\makeatletter
\@removefromreset{footnote}{chapter}
\makeatother

Siehe auch den Abschnitt über Was machen \makeatletter und \makeatother?.

This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information

Creative Commons Lizenzvertrag Diese Seite bearbeiten Ältere Versionen Übersicht Links hierher RSS feed Impressum Flattr this