如何在 ConTeXt 文档的页眉/页脚中获取多个主题名称?

如何在 ConTeXt 文档的页眉/页脚中获取多个主题名称?

我正在设置一个 ConTeXt 文档,该文档需要页脚采用非常特殊的样式。我需要第一个和最后一个\subjects,后跟页面右上角的页码,如下所示:

科目 A - 科目 C - 9

其目的类似于字典的页面标记,该页的第一个和最后一个单词列在顶角,这样可以轻松跳到正确的页面。

我目前正在尝试\setupfootertexts工作。我遇到了两个问题。

首先,该subject键似乎仅在它是 的参数之一的唯一参数时才起作用\setupfootertexts,这使我无法将哪怕一个主题名称放在与页码相同的角落。关于如何使用它的文档几乎不存在,即使在手册的最新版本中,也只提到它们可以使用,但没有解决这个问题。

其次,我不知道如何subject从页面中收集必要的标题并将它们处理成可以注入页脚的形式。我查看了寄存器,但的输出\placeregister似乎太过特殊,不适合此用途。

答案1

如果没有例子,我不确定下面的操作是否能达到你想要的效果,但是从 Hans Hagen 的旧 Context 手册第 9.4 节来看,这\definemarking似乎就是你想要的:\definemarking[subject],然后对于每个主题,,\mark[subject]{...}然后在中使用\getmarking[subject][first]和。\getmarking[subject][last]\setupfootertexts

我有个想法,可以设置头部,使它们自动与标记绑定,但我不知道它是如何工作的:它可以节省你在\mark每次之后发出的麻烦\subject

答案2

为了补充 Charles Stewart 之前所说的,在当前的 MkIV 中,\getmarking[subject][both]您可以同时获得此页面上的第一个和最后一个主题,以长划线分隔。至少,它对其他标记(章节、部分)是这样的,我认为在这种情况下也是如此。

相关内容