是否可以在 ConTeXt 的 \completecontent 中更改标题格式?

是否可以在 ConTeXt 的 \completecontent 中更改标题格式?

假设有一份内容如下的文件:

\starttext
\completecontent
\dorecurse{10}{\expanded{\section{Section \recurselevel}}}
\stoptext

如何更改标题的格式\completecontent?Wiki 说 ToC 是一个 ConTeXt 列表,但我找不到任何可以\setupcombinedlist[content]这样做的选项,也没有类似的东西\setuphead[content]

当然可以

\definehead[MyToc][section]
\setuphead[MyToC][...]
\starttext
\startMyToc
\placecontent
\stopMyToc
\dorecurse{10}{\expanded{\section{Section \recurselevel}}}
\stoptext

但我想知道是否有更直接的方法来实现这一点。

感谢您的帮助! :)

答案1

如果我正确理解了您的问题,您想配置目录标题的外观。

如果我没看错的话,它插入了一个title头。因此,

\setuphead[title][color=red]
\starttext
\completecontent
\dorecurse{10}{\expanded{\section{Section \recurselevel}}}
\stoptext

应该可以工作。实际上,输出是

输出红色标题

答案2

\completecontent只是\placecombinedlist[content]包装在title元素中的简写。这意味着您可以直接使用组合列表轻松自定义目录的各个方面。

另一个提示:始终使用\start...\stop宏的变体。

\definehead
  [tochead]
  [title]
  [color=red]

\starttext

\starttochead[title={Table of Contents}]
  \placecombinedlist[content]
\stoptochead

\dorecurse{10}{
  \startsection[title={Section \recurselevel}]
  \stopsection
}

\stoptext

相关内容