我正在设置一个 ConTeXt 文档,该文档需要页脚采用非常特殊的样式。我需要第一个和最后一个\subject
s,后跟页面右上角的页码,如下所示:
科目 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]
您可以同时获得此页面上的第一个和最后一个主题,以长划线分隔。至少,它对其他标记(章节、部分)是这样的,我认为在这种情况下也是如此。