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