tikz は gb4e の後にインポートする必要がありますか?

tikz は gb4e の後にインポートする必要がありますか?

gb4e私はとパッケージを使用しています。の前にtikzをインポートする限り、エラーが発生するようです: TeX の容量を超えました。申し訳ありません [パラメータ スタック サイズ = 10000]。\catcode`\noexpand\^^Agb4etikz

gb4eしかし、の後にインポートするとtikz問題はありません。なぜでしょうか?

以下はエラーを再現する最小限の動作例です。

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[margin=1in]{geometry}
\usepackage{gb4e}
\usepackage{tikz}
\begin{document}
test
\end{document}

リンクgb4e:https://ctan.org/pkg/gb4e?lang=en

答え1

私はこれを削除して喜んでいますが、マニュアルはgb4e次の文で始まります

ファイル gb4e.sty では、_(下付き文字) と^(上付き文字) を通常のテキストで使用できるので便利ですが、定義が変更されるため、TEX の意味で使用するファイルの後にロードする必要があります。

ここに画像の説明を入力してください

したがって、通常のテキストで_と を使用できるようにしたい場合は、最後に をロードする必要があります。これは、によって との定義が変更されるためです。^gb4e_^

しかし実際には、これは非常に安定したソリューションにはならないことがわかりました。happy にし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をロードすることもできます。^\noautomathZが最後です。

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

関連情報