使用 fancyhdr 包时合并文档类是否会损坏,反之亦然?

使用 fancyhdr 包时合并文档类是否会损坏,反之亦然?

我可以构建一个最简单的例子来说明这个问题,这个例子需要两个文件。

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}

相关内容