TeX-Kapazität beim Usepackage-Befehl überschritten

TeX-Kapazität beim Usepackage-Befehl überschritten

Ich erhalte die folgende Fehlermeldung und habe keine Ahnung warum:

! TeX capacity exceeded, sorry [parameter stack size=10000].
\@fileswithoptions #1->
                       \@ifnextchar [{\@fileswith@ptions #1}{\@fileswith@pti...
l.2 \usepackage{
                pgfplots}
If you really absolutely need more capacity,
you can ask a wizard to enlarge me.


Here is how much of TeX's memory you used:
 5 strings out of 493029
 170 string characters out of 6136233
 119745 words of memory out of 5000000
 3641 multiletter control sequences out of 15000+600000
 3640 words of font info for 14 fonts, out of 8000000 for 9000
 1141 hyphenation exceptions out of 8191

Das Seltsame ist, dass dies sogar mit diesem Codestück passiert:

\documentclass[article]
\usepackage{pgfplots}

\begin{document}
\end{document}

Irgendwelche Ideen? Danke im Voraus!

Antwort1

Wie in den Kommentaren erwähnt, handelt es sich bei dem Fehler um einen einfachen Tippfehler.[] anstelle von verwendet {}wurde. Ich wollte jedoch erwähnen, warum dieser Fehler auftritt (und warum es in einer Makrosprache wie TeX schwierig ist, gute Fehlermeldungen auszugeben).

Der Verwendungszweck war

\documentclass{article}

wobei die falsche Eingabe

\documentclass[article]

Es wäre schön gewesen, dies als eine Art Syntaxfehler „falsche Klammer“ zu kennzeichnen, aber LaTeX weiß an diesem Punkt nicht, dass ein Fehler vorliegt.

Wie alle Makroargumente ist der Klassenname nichthabenin expliziten Klammern zu stehen, funktioniert das Folgende ohne Fehler

\newcommand\zzz{article}
\documentclass[article]
\zzz
\usepackage{pgfplots}

\begin{document}
\end{document}

Hier

 \documentclass[article]\zzz

ist das gleiche wie

 \documentclass[article]{\zzz}

und \zzzwird erweitert auf, articleso dass es dasselbe ist wie

 \documentclass[article]{article}

Es läuft also wie vorgesehen, mit nur einer Warnung am Ende, dass es [article]sich um eine nicht verwendete Option handelt:

LaTeX Warning: Unused global option(s):
    [article].

Ihr Fall ist ähnlich, außer dass statt

   \documentclass[article]{\zzz}

Sie haben (tatsächlich)

   \documentclass[article]{\usepackage}

TeX wird also \usepackagein der Hoffnung erweitert, einen zur Übergabe geeigneten Dateinamen zu finden \documentclass, und bricht bei einer schrecklichen, unbeabsichtigten Erweiterung ab. Tatsächlich endet es in einer Endlosschleife, bis ein interner Stapel zur Verarbeitung von Makroparametern voll ist.

der beste Hinweis ist der Zeilenumbruch in der Fehlermeldung

l.2 \usepackage{
                pgfplots}

was Ihnen sagt, dass TeX zwar gelesen hat \usepackage, aber nicht sein Argument (weil (just) \usepackageals Argument für übernommen wurde \documentclass).

verwandte Informationen