tikz необходимо импортировать после gb4e?

tikz необходимо импортировать после gb4e?

Я использую пакеты 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}

ссылка для gb4e:https://ctan.org/pkg/gb4e?lang=en

решение1

Я бы с радостью удалил это, но руководство gb4eначинается с предложения

Файл gb4e.sty позволяет использовать _(подстрочный) и (верхний индекс) в обычном тексте, что удобно, но поскольку он изменяет их определения, его необходимо загружать после любого файла, который использует их в их значении TEX.^

введите описание изображения здесь

Итак, если вы хотите иметь возможность использовать _и ^в обычном тексте, вам нужно загрузить их gb4eв последнюю очередь, потому что это изменяет определения _и ^.

ОДНАКОоказывается, что это не приводит к супер стабильному решению. Давайте попробуем сделать 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}

Вы можете избежать этого, переключив возможность использования _и ^в обычном тексте с \noautomath. Затем вы также можете загрузить TiкZ последний.

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

Связанный контент