问题

问题

问题

以下代码用于防止分页应用于索引:

\setuphead[chapter,section][
  number=no,
  page=yes,
  continue=no,
]

\definehead[StyleIndex][chapter]
\setuphead[StyleIndex][
  page=no,
]

索引排版如下:

\startbackmatter
  \chapter{Index}
  \placeindex
\stopbackmatter

该代码导致章节标题显示在新页面上,我可以(根据需要)使用以下命令来避免这种情况:

\startbackmatter
  \StyleIndex{Index}
  \placeindex
\stopbackmatter

但是,这会导致索引从目录 (ToC) 中删除,这是不希望的。我原本以为它会继承章节的行为并纳入目录。

问题

如何创建一种不同于索引页标题样式的独特章节标题样式,同时将两者都包含在目录中?

答案1

默认情况下,新定义的结构元素不会添加到目录中。您必须将特定条目添加到列表中。可以使用以下键全局完成此list操作\setuplist

\setuplist
  [content]
  [list={chapter, section, newSection}]

或者也可以直接将其指定为参数 \placecombinedlist

\starttitle [title=Contents]
  \placecombinedlist
    [content]
    [list={chapter, section, newSection}]
\stoptitle

请注意,当未设置为 时title, 像 这样的未编号结构元素subject不会添加到目录中 ,这不是默认值。这是一个完整的示例:incrementnumberlist

\definehead
  [newSection]
  [section]

\definehead
  [newTitle]
  [title]
  [incrementnumber=list]

\setuplist
  [content]
  [list={chapter, section, newSection, newTitle}]

\starttext

\completecontent

\startsection [title=Foo]
\input knuth
\stopsection

\startnewSection [title=Bar]
\input knuth
\stopnewSection

\startnewTitle [title=newTitle]
\input knuth
\stopnewTitle

\stoptext

相关内容