Я получаю следующее сообщение об ошибке и понятия не имею, почему:
! 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
Странно, что это происходит даже с этим фрагментом кода:
\documentclass[article]
\usepackage{pgfplots}
\begin{document}
\end{document}
Есть идеи? Спасибо заранее!
решение1
Как отмечено в комментариях, ошибка — простая опечатка, []
вместо которой используется {}
, но я подумал, что стоит упомянуть, почему возникает эта ошибка (и почему сложно выдавать хорошие сообщения об ошибках в макроязыке, таком как TeX).
Предполагаемое использование было
\documentclass{article}
с ошибочным вводом
\documentclass[article]
Было бы неплохо пометить это как синтаксическую ошибку типа «неправильная скобка», но LaTeX на данный момент не знает, что произошла ошибка.
Как и все аргументы макроса, имя класса неиметьбыть в явных скобках, следующее работает без ошибок
\newcommand\zzz{article}
\documentclass[article]
\zzz
\usepackage{pgfplots}
\begin{document}
\end{document}
Здесь
\documentclass[article]\zzz
такой же как
\documentclass[article]{\zzz}
и \zzz
расширяется до article
того, что это то же самое, что
\documentclass[article]{article}
поэтому он работает так, как и задумано, с единственным предупреждением в конце о [article]
неиспользуемой опции:
LaTeX Warning: Unused global option(s):
[article].
Ваш случай аналогичен, за исключением того, что вместо
\documentclass[article]{\zzz}
у вас есть (фактически)
\documentclass[article]{\usepackage}
поэтому TeX расширяется \usepackage
в надежде найти имя файла для передачи \documentclass
и умирает в каком-то ужасном непреднамеренном расширении, на самом деле он оказывается в бесконечном цикле, пока не заполнит внутренний стек обработки параметров макроса.
лучшая подсказка — это перенос строки в сообщении об ошибке
l.2 \usepackage{
pgfplots}
что говорит вам, что TeX прочитал, \usepackage
но не его аргумент (потому что (just) \usepackage
был принят как аргумент для \documentclass
).