编译错误(合并类 + hyperref 包):超出 TeX 容量,抱歉

编译错误(合并类 + hyperref 包):超出 TeX 容量,抱歉

我想使用该类创建一个包含多篇论文的“期刊” combine

在下面的例子中,有一个主文件和两篇文章。

主文件:

\documentclass[11pt,a4paper]{combine}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[english,french]{babel}
\usepackage[bookmarks=true, bookmarksopen=true, bookmarksnumbered=true, bookmarksopenlevel=\maxdimen, colorlinks=true, urlcolor=blue, linkcolor=red, implicit=false,dvipdfm]{hyperref}

\title{Journal of }
\author{A. N. Editor}

\begin{document}
\maketitle
\tableofcontents
\begin{papers}

\makeatletter
\let\@begindocumenthook\relax
\makeatother

\coltoctitle{An article}
\coltocauthor{A.~N.~Author}
\label{art1}
\import{art1}
\clearpage

\coltoctitle{Another article}
\coltocauthor{A.~N.~Other}
\label{art2}
\import{art2}
\clearpage

\end{papers}

\end{document}

第一篇文章:

\documentclass[11pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[english,french]{babel}
\usepackage[bookmarks=true, bookmarksopen=true, bookmarksnumbered=true, bookmarksopenlevel=\maxdimen, colorlinks=true, urlcolor=blue, linkcolor=red, implicit=false, dvipdfm]{hyperref}

\title{An article}
\author{A.~N.~Author}

\begin{document}
\maketitle

Bla bla bla

\end{document}

第二篇文章:

\documentclass[11pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[english,french]{babel}
\usepackage[bookmarks=true, bookmarksopen=true, bookmarksnumbered=true, bookmarksopenlevel=\maxdimen, colorlinks=true, urlcolor=blue, linkcolor=red, implicit=false, dvipdfm]{hyperref}

\title{Another article}
\author{A.~N.~Other}

\begin{document}
\maketitle

Bla bla bla

\end{document}

编译停止并给出错误信息:

! TeX capacity exceeded, sorry [input stack size=5000].
\clearpage ...Call@BeforeClearDocument \clearpage

\Call@AfterLastShipout
l.17 \end{document}

If you really absolutely need more capacity, you can ask a wizard to enlarge me.

注意:如果hyperref主文件的前言中没有激活该包,则整个文档被正确创建。

我想获取带有超链接(例如图片)和书签的文档。因此,我想使用hyperref。我该如何解决这个问题?

答案1

我修复了包中的无限循环atveryend 2012/10/15 v1.9。 还hobsub 2012/10/15 v1.15需要更新,因为它包含atveryend。PDF 文件包含 DTX 源作为文件附件。通过运行 DTX 文件解压包tex(不是 latex)。新版本稍后将成为下一个捆绑更新的一部分。

但是该类combine不能很好地与 配合使用,因为内部内容被覆盖,并被(\label, \ref, \@setref, …)hyperref重新定义。hyperref

顺便提一句,

\makeatletter
\let\@begindocumenthook\relax
\makeatother

可以缩写为

\emptyAtBeginDocument

相关内容