如何使用hyperref在LaTeX中明确结束一个\part?

21

我有一个包含以下内容的LaTeX文档:

\tableofcontents
\chapter{Chapter One}
\part{Part One}
...
\part{Final Part}
\chapter{Final Part Chapters}
\chapter{Chapter not Part of Part}

使用hyperref将此编译为PDF时,我的书签中会将最后一章包含在最终部分中。(我按下面所示包含了hyperref。)

\usepackage[xetex,breaklinks,a4paper]{hyperref}

我想知道如何明确结束最后一章之前的部分,以便当创建PDF时hyperref将此书签提升为顶级。

任何帮助都将不胜感激。

1个回答

35
Heiko Oberdiek的书签包(在他的超链接工作的基础上改进)允许您使用其\bookmarksetup命令实现此目的。
\documentclass{book}
\usepackage{bookmark,hyperref}
\begin{document}
\tableofcontents
\chapter{第一章}
\part{第一部分}
\part{最后一部分}
\chapter{最后一部分的章节}
\bookmarksetup{startatroot}%这就是它 \addtocontents{toc}{\bigskip}%或许也可以
\chapter{不属于任何部分的章节} \end{document}
\bigskip部分在打印的目录中添加了一些空间,以在最终章节与之前的“部分”之间进行视觉分隔。

我之前不知道书签包存在。很遗憾的是,Ubuntu的tex-live分发不包括它,但这个解决方案完美地解决了问题。谢谢。 - Richard
你怎么知道选择 \bigskip 是正确的间距?它是否固定在某个地方?在不同类别下,它能否改变?我如何找出适合自己的正确间距?有没有您用于找到它的模式? - mkastner
@mkastner你所说的“正确距离”是什么意思?这只是目录中的一个视觉间隔,用于在部分结束后给章节之间提供一些分隔。您可以使用任何看起来合适的空格。 - Will Robertson
当然,我更喜欢已经在布局中使用过的空格。一些研究记录在此处表明,对于scrbook,跳过是以em定义的,并且有一组用于样式化TOC的值,因此我更喜欢使用其中之一。当我使用\bigskip并在我的TOC中有另一个距离时,它似乎在视觉上不适合我。由于我是新手,我想也许\bigskip总是在那个点上用于样式化,一种标准之类的东西。 - mkastner
@mkastner — 我明白了,感谢您提供的额外细节。当然,为了保持一致性,您可以/应该使用文档中其他地方使用的不同长度,但是,正如您所说,这将取决于类别。 - Will Robertson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接