将目录链接添加到 PDF 书签中。(ConTeXt)

将目录链接添加到 PDF 书签中。(ConTeXt)

我有一个文档,其结构如下:

\setupinteraction[state=start]
\placebookmarks[chapter,section,subsection][chapter,section][force=yes]
\setupinteractionscreen[option=bookmark]

\startfrontmatter
  \startstandardmakeup
    \starttitle[title=Contents]
      \placecontent
    \stoptitle
  \stopstandardmakeup
\stopfrontmatter

\startbodymatter
  \startchapter[title=Chapter1]
  Unimportant content...
  \stopchapter
\stopbodymatter

到目前为止,还没有问题。但有一件事让我很困扰:在 Sumatra PDF 的书签窗口中,书签从第 1 章开始。有没有办法将书签也插入到目录中?

假设您位于文档的第 30 页并想要转到目录:现在您可以手动滚动到文档顶部,或者单击第 1 章的书签,然后再次手动向上滚动一页或几页。因此,我们的想法是创建一个目录书签,这样您就可以单击它并直接重定向到目录。我不需要在目录中有目录条目(可以说是框中的框,另一方面,了解这一点会很有趣),而只需要 PDF 文件中的书签。

我尝试在 standardmakup 环境中的几个地方以及 frontmatter 中的构成之前添加 \bookmark[]{TOC},但 TOC 仍然没有出现在 PDF 书签中。

我发现 standardmakeup 不计算页数,或者至少不将其打印在文档中。我不知道 makeup 是否与此有关,但如果有,是否有办法以某种方式手动为 makeup 中的标题创建书签?

答案1

直接引用源文件strc-bmk.mkiv(更改格式):

书签是一项非常依赖浏览者的功能。它们主要用作附加目录,因此与列表直接相关。

仅当启用交互时才会将书签列表添加到文档中。给定的列表已添加书签,第二个参数指定打开的书签树。

\placebookmarks
  [chapter,section,subsection,mylist]
  [chapter]

因此,根据这个描述,我改变了这条线

\placebookmarks[chapter,section,subsection][chapter,section][force=yes]

在你的例子中

\placebookmarks[chapter,title,section,subsection][chapter,title,section][force=yes]

因为您的目录是title,这对我来说很管用。我正在以 形式查看 PDF evince,因为我当前的机器上没有sumatra,但我认为两者的结果是一样的。

相关内容