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?.