gb4e之後必須導入tikz嗎?

gb4e之後必須導入tikz嗎?

我正在使用gb4etikz包。好像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}

連結gb4ehttps://ctan.org/pkg/gb4e?lang=en

答案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^\noautomathkZ 最後。

\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}

相關內容