我收到以下錯誤訊息,但不知道原因:
! 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
)。