我可以构建一个最简单的例子来说明这个问题,这个例子需要两个文件。
main.tex 包含:
\documentclass{combine}
\usepackage{fancyhdr}
\begin{document}
\pagestyle{combine}
Hello!
\begin{papers}
\import{sub}
\end{papers}
\end{document}
并且 sub.tex 包含:
\documentclass{article}
\begin{document}
Bye!
\end{document}
使用命令 latex main.tex 进行编译会导致编译冻结。
如果你注释掉这一行:
%\usepackage{fancyhdr}
然后编译工作并且输出符合预期。
我不知道从哪里开始尝试修复它,因为没有错误消息。
其他人能重现这个问题吗? 有没有我可以实施的快速解决方案? 样式和包开发人员可以修复它吗?
答案1
它最终\@makecol
根据自身进行定义并循环。这似乎解决了这个问题
\documentclass{combine}
\usepackage{fancyhdr}
\begin{document}
\pagestyle{combine}
Hello!
\begin{papers}
\makeatletter\let\@makecol\latex@makecol\makeatother
\import{sub}
\end{papers}
\end{document}