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 \zzz
wird erweitert auf, article
so 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 \usepackage
in 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) \usepackage
als Argument für übernommen wurde \documentclass
).