如何在 ConTeXt 中的每个“\chapter”后添加代码,但不在 TOC 后添加代码?

如何在 ConTeXt 中的每个“\chapter”后添加代码,但不在 TOC 后添加代码?

我使用此代码放置一个宏,它将在每个章节标题后立即出现:

\setuphead[chapter][after={\dropcontents}]

这有效,但奇怪的是也在 TOC 标题后添加了宏,更奇怪的是,也在之后添加了宏\title

我怎样才能使此代码出现在每一章之后,但不出现在目录之后\title

答案1

简短回答

\setuphead[title][after=] 

长答案

在 ConTeXt 中,章节及其未编号的变体,例如\chapter\title(参见相应的 ConTeXt Wiki 页面有关更多信息),它们是耦合的,因此后者将继承前者的设置,但反之则不然。并且,正如您可能意识到的那样,\completecontent包括一个头,因此您的宏也会显示在那里。因此,如果您希望标题(或未编号的头)不同,title解决方案是取消设置和其他选项。after

例子:

\setuppapersize[A6]
%Chapters and titles will have a message below
\setuphead[chapter][after={\emph{\red Look at me!}\blank}]
\starttext
\startchapter[title=\type{after=...} set]
\input jojomayer
\stopchapter
\starttitle[title=Open oyes wide]
\input jojomayer
\stoptitle
\stoptext

在此处输入图片描述

%Only titles will include a message
\setuppapersize[A6]
\setuphead[title][after={\emph{\red Look at me!}\blank}]
\starttext
\startchapter[title=No \type{after} set]
\input jojomayer
\stopchapter
\starttitle[title=Open oyes wide]
\input jojomayer
\stoptitle
\stoptext

在此处输入图片描述

相关内容