book
我在课堂上使用以下大纲:
\mainmatter
\include{introduction}
\part{...}
\include{chapter1}
...
\part{...}
...
\include{conclusions}
\addcontentsline{toc}{part}{\appendixtocname}
\appendixpage
\appendix
\include{...}
\backmatter
% Glossary
\cleardoublepage
\addcontentsline{toc}{chapter}{Nomenclature}
\markboth{Nomenclature}{Nomenclature}
\makenomenclature
\input{nomenclature}
\printnomenclature[4.5cm]
% Bibliography / References
\cleardoublepage
\addcontentsline{toc}{chapter}{References}
\bibliographystyle{amsalpha}
\renewcommand{\bibname}{References}
\bibliography{thesis}
但最终的 PDF 中有很多错误,其中包括:
- 附录作为最后一章中最后一节的子部分出现。
- 单击“术语和参考文献”书签会转到错误的页面。
- 尽管存在这些问题,目录中的页码是正确的。
帮助?
答案1
我猜你正在使用 hyperref。如果你修改你的问题并扩展你的代码来显示可编译的最小示例,这将使帮助变得更容易。
分段命令使 hyperref 创建书签。但是,如果您使用带星号的分段命令(如nomencl
和\bibliography
隐式执行(\chapter*
或section*
),并通过 创建书签\addcontentsline
,则必须为 hyperref 设置锚点。所需的命令是\phantomsection
。锚点必须落在正确的页面上,因此请在后面使用它,\cleardoublepage
如下所示:
\cleardoublepage
\phantomsection
\addcontentsline{toc}{chapter}{References}
\bibliographystyle{amsalpha}
\renewcommand{\bibname}{References}
\bibliography{thesis}
每次调用时都执行类似的操作,\addcontentsline
然后是非编号的章节或部分。
对于嵌套问题,将书签放到根级别,frabjous 在他的回答中提供了正确的解决方案。
答案2
另一件可以尝试的事情是\bookmarksetup{startatroot}
来自书签包使下一个条目返回到根目录,而不是作为前一个条目的子条目。该包还有一些其他选项,您可能会感兴趣。我同意这\phantomsection
是解决链接转到错误页面的答案。
答案3
您使用的类中一定出了问题。在附录定义下,您应该有以下内容:
\renewcommand\appendix{\par
\setcounter{chapter}{0}%
\setcounter{section}{0}%
\setcounter{subsection}{0}%
\gdef\@chapapp{\appendixname}%
\gdef\thechapter{\@Alph\c@chapter}
\renewcommand{\chaptertitlename}{\appendixstring}
代码重置了章节和部分以及小节计数器以表示附录。您使用的是哪个类?