我想使用该类创建一个包含多篇论文的“期刊” 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