
我正在使用gb4e
和tikz
包。好像gb4e
之前只要導入tikz
,就會報錯:TeX容量超出,抱歉[參數堆疊大小=10000]。 \catcode`\noexpand\^^A
但是,如果我gb4e
之後導入tikz
,就不會有問題了。為什麼會這樣呢?
這是重現錯誤的最小工作範例:
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[margin=1in]{geometry}
\usepackage{gb4e}
\usepackage{tikz}
\begin{document}
test
\end{document}
答案1
我很樂意刪除這個,但是手冊gb4e
以這句話開頭
檔案 gb4e.sty 允許在普通文本中使用
_
(下標) 和(上標),這很方便,但因為它改變了它們的定義,所以必須在任何以 TEX 含義使用它們的檔案之後加載。^
因此,如果您希望能夠在普通文字中使用_
and ^
,那麼您需要gb4e
最後加載,因為它改變了_
and的定義^
。
然而事實證明,這並不能真正帶來超級穩定的解決方案。讓我們試著讓它gb4e
快樂並最後加載它。以下作品:
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[margin=1in]{geometry}
\usepackage{tikz}
\usepackage{gb4e}
\begin{document}
test
% \pgfmathsetmacro{\myx}{2^3}\myx % <-does not work
\pgfmathsetmacro{\myx}{pow(2,3)}\myx
\end{document}
^
然而,如果你用 pgf 解析其中的任何表達式,這行不通:
\pgfmathsetmacro{\myx}{2^3}
您可以透過切換在普通文字中使用_
和 的能力來避免這種情況。然後你也可以加載Ti^
\noautomath
kZ 最後。
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[margin=1in]{geometry}
\usepackage{gb4e}
\noautomath
\usepackage{tikz}
\begin{document}
test
\pgfmathsetmacro{\myx}{2^3}\myx % works now
\pgfmathsetmacro{\myx}{pow(2,3)}\myx
\end{document}