我一直在尝试让该bookmark
软件包与我的论文配合使用,而且大部分情况下我对结果感到满意;但是,我在图表和参考书目表的链接方面遇到了一些问题。下面是我针对各个章节等编写的代码的相当广泛的 MWE。我已将论文中使用的所有软件包(到目前为止)都包括在内,以防万一出现任何可能导致冲突的情况。
编译 TeX 文件并打开 pdf 后,各种书签都已存在,但是当我单击图表目录的书签时,它会带我进入目录页面。同样,当我单击参考书目的书签时,它会带我进入第 6 章中的子节 6.1.1。
有人能解释一下这里出了什么问题吗?
非常感谢!
\documentclass[12pt,a4paper]{report}
\usepackage[utf8]{inputenc}
\usepackage{setspace}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{lscape}
\usepackage[round,colon]{natbib}
\usepackage{caption}
\usepackage{array,booktabs,threeparttable}
\usepackage{chemformula}
\usepackage{url}
\usepackage[intoc]{nomencl}
\usepackage{bookmark}
\usepackage{lipsum}
\bookmarksetup{bold=false}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{Knu86,
author = {Knuth, Donald E.},
year = {1986},
title = {The \TeX book},
}
\end{filecontents}
\begin{document}
\begin{titlepage}
\begin{center}
\vspace*{1in}
{\LARGE Quantifying rates of landscape evolution in carbonate terrains using U-Pb dating of speleothems}
\par
\vspace{1.5in}
{\large Christopher James Martin Smith}
\par
\vfill
A dissertation submitted to the University of Bristol in accordance with the requirements for award of the degree of Doctor of Philosophy in the Faculty of Science.
\par
\vspace{0.5in}
School of Geographical Sciences
\par
\vspace{0.5in}
University of Bristol
\par
\vspace{0.5in}
September 2014
\end{center}
\end{titlepage}
\pagenumbering{roman}
\chapter*{Declaration}
\addcontentsline{toc}{chapter}{Declaration}
\lipsum[1]
\chapter*{Acknowledgements}
\addcontentsline{toc}{chapter}{Acknowledgements}
\lipsum[1]
\chapter*{Abstract}
\addcontentsline{toc}{chapter}{Abstract}
\lipsum[1]
\label{Table of Contents}
\cleardoublepage
\pdfbookmark{\contentsname}{Contents}
\tableofcontents
\newpage
\label{List of Figures}
\addcontentsline{toc}{chapter}{List of Figures}
\listoffigures
\newpage
\label{Lits of Tables}
\addcontentsline{toc}{chapter}{List of Tables}
\listoftables
\newpage
\label{Nomenclature}
\printnomenclature
\newpage
\pagenumbering{arabic}
\chapter{Introduction}
\section{Section}
\lipsum[1]\citep{Knu86}
\subsection{Subsection}
\lipsum[1]
\chapter{Literature Review}
\section{Section}
\lipsum[1]
\subsection{Subsection}
\lipsum[1]
\chapter{Methodology}
\section{Section}
\lipsum[1]
\subsection{Subsection}
\lipsum[1]
\chapter{Results}
\section{Section}
\lipsum[1]
\subsection{Subsection}
\lipsum[1]
\chapter{Discussion}
\section{Section}
\lipsum[1]
\subsection{Subsection}
\lipsum[1]
\chapter{Conclusion}
\section{Section}
\lipsum[1]
\subsection{Subsection}
\lipsum[1]
\addcontentsline{toc}{chapter}{Bibliography}
\bibliographystyle{plainnat}
\bibliography{\jobname}
\end{document}
答案1
书签链接到使用的锚点\addcontentsline
。因为它来自前图表或参考书目,它链接到之前的某个事件(目录/最后一个小节)。\phantomsection
可用于创建新的锚点:
\cleardoublepage
\pdfbookmark{\contentsname}{Contents}
\label{Table of Contents}
\tableofcontents
\newpage
\phantomsection
\label{List of Figures}
\addcontentsline{toc}{chapter}{List of Figures}
\listoffigures
\newpage
\phantomsection
\label{List of Tables}
\addcontentsline{toc}{chapter}{List of Tables}
\listoftables
\newpage
...
\clearpage
\phantomsection
\addcontentsline{toc}{chapter}{Bibliography}
\bibliographystyle{plainnat}
\bibliography{\jobname}
标准列表的替代方案
\addcontentsline
应该转到列表的最开始处。\addtocontents
允许这样的放置:
In the preamble (or right after `\begin{document}`:
\AtBeginDocument{%
\addtocontents{toc}{\protect\label{Table of Contents}}%
\addtocontents{lof}{%
\protect\addcontentsline{toc}{chapter}{\protect\listfigurename}%
\protect\label{List of Figures}%
}%
\addtocontents{lot}{%
\protect\addcontentsline{toc}{chapter}{\protect\listtablename}%
\protect\label{List of Tables}%
}%
}
然后\addcontentsline
并\label
参考列表的章节标题。文档中的代码简化为
\cleardoublepage
\pdfbookmark{\contentsname}{Contents}
\tableofcontents
\newpage
\listoffigures
\newpage
\listoftables
\newpage
缺点:需要多次运行,因为第一次运行\addcontentsline
进入.toc
文件,第二次运行进入.lof
或.lot
文件,第三次运行将条目设置在图形/表格列表中。