ConTeXt:如何使目录仅显示其放置之后的条目?

ConTeXt:如何使目录仅显示其放置之后的条目?
\setuplist
[chapter][
  style={bold},
  color={default},
]

\setuplist
[section]
[color={default}]

\setuplist
[subsection]
[color={default}]

\setuplist
[title][
  style={bold},
  color={default},
]

\setupcombinedlist
[content][
  alternative={c},
         list={chapter, section, subsection, title},
]

...

\starttitle
[title={Annotation}]
  ...
\stoptitle

\starttitle
[title={Table of Contents}]
  \placecontent
\stoptitle

\starttitle
[title={Introduction}]
  ...
\stoptitle

\startchapter
[title={My Chapter}]
  ...
\stopchapter

...

\starttitle
[title={References}]
  ...
\stoptitle

我不想显示目录注解目录条目,而仅限于其放置位置之后的条目,例如介绍我的章节, 和参考。这种风格很典型,但我没有找到与之相关的任何选项。有什么想法吗?

答案1

除非您在文档中设置,否则未编号的部分不会显示在目录中\setuphead[...][incrementnumber=list]

可以使用两种方法来限制目录中的条目,第一种方法是创建一个不在列表中的新标题content

\definehead[topic][title]
\setuphead [title][incrementnumber=list]

\setupcombinedlist
  [content]
  [list={chapter,title,section,subsection}]

\starttext

\starttopic[title={Annotation}]
  ...
\stoptopic

\starttopic[title={Table of Contents}]
  \placecontent
\stoptopic

\starttitle[title={Introduction}]
  ...
\stoptitle

\startchapter[title={My Chapter}]
  ...
\stopchapter

\starttitle[title={References}]
  ...
\stoptitle

\stoptext

第二种方法是将文档分成两个部分,并在incrementnumber部分的开头设置键bodypart。该\startsectionblockenvironment命令会存储所有设置,直到相应块的开头。

\startsectionblockenvironment[bodypart]
  \setuphead[title][incrementnumber=list]
\stopsectionblockenvironment

\setupcombinedlist
  [content]
  [list={chapter,title,section,subsection}]

\starttext

\startfrontmatter

\starttitle[title={Annotation}]
  ...
\stoptitle

\starttitle[title={Table of Contents}]
  \placecontent
\stoptitle

\stopfrontmatter

\startbodymatter

\starttitle[title={Introduction}]
  ...
\stoptitle

\startchapter[title={My Chapter}]
  ...
\stopchapter

\starttitle[title={References}]
  ...
\stoptitle

\stopbodymatter

\stoptext

您还可以稍微修改此方法并设置\placecontent您想要存储条目的节块的命令,为此将命令更改为

\placecontent[criterium=bodypart:all]

相关内容