我的标签如下:
\documentclass{book}
\usepackage{gb4e,qtree,skull}
\usepackage{graphicx}
\begin{document}
\begin{figure}
\includegraphics[width=\textwidth]{../74934_Art/Hackl.jpg}
\caption{Results of Hackl et~al. (2012)}
\end{figure}
\end{document}
如果我注释包“ gb4e.sty
”,那么它就可以正常工作。如果我调用该包,则会出现以下错误:
! TeX capacity exceeded, sorry [parameter stack size=10000].
^#1->
\gb@ifnextchar _{\automath@two ^{#1}}{\ensuremath {\sp {#1}}}
l.28 \catcode`\noexpand\^^A
\the\catcode`\^^A\relax
! ==> Fatal error occurred, no output PDF file produced!
Transcript written on test.log.
但根据我的要求,我需要使用这两个包,请提出建议......
答案1
该gb4e
包使下划线和插入符号成为“活动”字符,以便它们可以在数学模式之外使用。这在许多情况下都很有用,但如果您不注意的话,很容易干扰其他事情。
最简单的解决方案是在加载包后立即关闭该功能:
\usepackage{gb4e}
\noautomath
如果您发现该功能很有用,那么在加载顺序中稍后加载包或有选择地启用它会很有帮助。如果您激活它,文件名中的下划线等内容将会导致问题,如您的示例中所示。
\documentclass{book}
\usepackage{gb4e}
\noautomath
\usepackage{qtree,skull}
\usepackage{graphicx}
\begin{document}
\begin{figure}
\includegraphics[width=\textwidth]{../74934_Art/Hackl.jpg}
\caption{Results of Hackl et~al. (2012)}
\end{figure}
\end{document}
答案2
这是需要更改包加载顺序的情况之一。
更新:作为艾伦·芒恩值得注意的是,gb4e 使下划线处于活动状态,而带有下划线的路径(我在测试中没有使用)会破坏此设置。因此,这只能避免加载时错误(如果您不打算在路径中使用下划线,这可能就足够了),但他的回答也解决了 OP 的问题。
\documentclass{book}
\usepackage{graphicx}
\usepackage{gb4e,qtree,skull}
\begin{document}
\begin{figure}
\includegraphics[width=\textwidth]{example-image}
\caption{Results of Hackl et~al. (2012)}
\end{figure}
\end{document}