当 flexisym scrreport、hyperref 和 section header with math 一起使用时,TeX 容量超出范围

当 flexisym scrreport、hyperref 和 section header with math 一起使用时,TeX 容量超出范围

我收到错误:

TeX capacity exceeded, sorry [input stack size=5000]

下面是非常具体的包和文档类的组合:

\documentclass{scrreprt}
\usepackage{hyperref}
\usepackage{flexisym}
\begin{document}
\chapter{When $\ne$.}
\end{document}

删除hyperref、或flexisym包引用,或将文档类更改为article,或从(或或)标题scrreport中删除数学内容,似乎可以消除该问题。\chapter\section\subsection

这看起来很类似由于 \section 中有几个 raiseboxes,导致“TeX 容量超出”?

但将章节引用更改为:

\chapter{When \protect$\ne$.}

似乎没有帮助。这是上述某个软件包中的错误吗?如果不是,那么处理此问题的正确方法是什么?

答案1

这是因为toc

\chapter命令的语法为

\chapter[optional argument for the toc]{name of the chapter}

如果您不使用,<optional argument for the toc>那么LaTeX将尝试使用name of the chapter,这会在您有数学内容时导致问题(如您的示例所示),因为该hyperref包无法将数学符号变成超链接。

您可以使用(类似)来修复它

\documentclass{scrreprt}
\usepackage{flexisym}
\usepackage{hyperref}

\begin{document}
\chapter[for the toc]{When $\ne$.}
\end{document}

请注意,hyperref应该在大多数包之后加载(例外情况在哪些包应该在 hyperref 之后加载而不是之前加载?

正如评论中提到的那样,章节标题中的方程式您可以使用\texorpdfstring{<TeX>}{<PDF>}

相关内容