PDF 大纲中的附录显示为最后一节的子部分

PDF 大纲中的附录显示为最后一节的子部分

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. 附录作为最后一章中最后一节的子部分出现。
  2. 单击“术语和参考文献”书签会转到错误的页面。
  3. 尽管存在这些问题,目录中的页码是正确的。

帮助?

答案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}

代码重置了章节和部分以及小节计数器以表示附录。您使用的是哪个类?

相关内容