Que signifie l'erreur: « You can't use `\spacefactor' in vertical mode »?

\TeX indique que l'on ne peut utiliser \spacefactor que lors de la construction d'une liste horizontale. Deux erreurs similaires existent :

Elles surviennent toutes lors de l'utilisation de la commande \LaTeX \@ en dehors d'un paragraphe. Comme de nombreux noms de commandes internes débutent par un @, cette erreur arrive lorsqu'on les utilise dans le préambule du document (par exemple, \@startsection), sans avoir entouré ce code avec un \makeatletter et un \makeatother. Dans ce cas, \TeX voit \@ suivi par les lettres startsection, et à la prochaine utilisation de ce code, il exécute donc \@, ce qui produit finalement l'erreur.

Ce sujet est détaillé dans la question « Que font `\@` et `@` dans les noms des commandes ? ».


Sources :