¿Se debe importar tikz después de gb4e?

¿Se debe importar tikz después de gb4e?

Estoy usando los paquetes gb4eand tikz. Parece que mientras importe gb4eantes tikz, obtendré un error: Se excedió la capacidad de TeX, lo siento [tamaño de pila de parámetros = 10000]. \catcode`\noexpand\^^A

Sin embargo, si importo gb4edespués tikz, no habrá problema. ¿Por qué es este el caso?

Aquí hay un ejemplo de trabajo mínimo que reproduce el error:

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

enlace para gb4e:https://ctan.org/pkg/gb4e?lang=en

Respuesta1

Estaré encantado de eliminar esto, pero el manual de gb4ecomienza con la frase

El archivo gb4e.sty permite usar _(subíndice) y ^(superíndice) en texto normal, lo cual es útil, pero debido a que cambia sus definiciones, debe cargarse después de cualquier archivo que los use en su significado TEX.

ingrese la descripción de la imagen aquí

Entonces, si desea tener la capacidad de usar _y ^en texto normal, debe cargarlo gb4eal final, bueno, porque cambia las definiciones de _y ^.

SIN EMBARGOresulta que eso no conduce realmente a una solución súper estable. Intentemos hacernos gb4efelices y cargarlo al final. Las siguientes obras:

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

Sin embargo, si analiza cualquier expresión ^con pgf,Esto no funcionará:

 \pgfmathsetmacro{\myx}{2^3}

Puedes evitar esto cambiando la capacidad de usar _y ^en texto normal con \noautomath. Entonces también puedes cargar TikZ último.

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

información relacionada