ConTeXt:删除上下文表中章节之间的空白

ConTeXt:删除上下文表中章节之间的空白

我需要删除目录中各章节之间的空白,但保留前言和正文之间的空格。有人能告诉我该怎么做吗?

我正在写的书只有章节,并且章节之间的空白看起来很不协调,因此需要将其删除。

MWE如下:

\setupindenting[yes, 1em]

\setuphead[chapter][style={\bfa}]
\setuphead[chapter][header=empty]
\setuphead[title]
      [incrementnumber=yes,  % keep track of the number
      number=no]            % but don't show it
\setuphead[title][style={\bfa}]
\setuphead[title][header=empty]
\setupcombinedlist[content][list={title,chapter},alternative=c]
\setuplist[title][headnumber=no]
\setuplist[chapter][headnumber=yes, margin=0em,width=1.5em]
\setupalign[hz,hanging]

\starttext

\startfrontmatter

\starttitle[title=Table of Content]
\placecontent[criterium=all]
\stoptitle

\starttitle[title=Preface]
\input knuth
\stoptitle

\stopfrontmatter

\startbodymatter

\startchapter[title=Chapter One]
\input knuth
\stopchapter

\startchapter[title=Chapter Two]
\input knuth
\stopchapter

\stopbodymatter

\stoptext

在此先感谢您的帮助。

答案1

您可以使用beforeafter\setuplist删除章节之间的空格(或根据需要设置它们)。然后,您可以使用\writebetweenlist在需要的地方添加额外的空间。我举一个例子,章节(或标题)之间没有空格,前言和正文之间有 2 厘米的额外空间:

\setupindenting[yes,1em]

\setuphead
  [chapter]
  [style={\bfa},
   header=empty]

\setuphead
  [title]
  [incrementnumber=yes,
   number=no]

\setuphead
  [title]
  [style={\bfa},
   header=empty]

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

\setuplist
  [title]
  [headnumber=no]

\setuplist
  [chapter]
  [headnumber=yes,
   margin=0em,
   width=1.5em,
   before={\blank[none]},
   after={\blank[none]}]

\setupalign[hz,hanging]

\starttext

\startfrontmatter

\starttitle[title=Table of Content]
\placecontent[criterium=all]
\stoptitle

\starttitle[title=Preface]
\input knuth
\stoptitle

\stopfrontmatter

\writebetweenlist
  [chapter]
  {\blank[2cm]}

\startbodymatter

\startchapter[title=Chapter One]
\input knuth
\stopchapter

\startchapter[title=Chapter Two]
\input knuth
\stopchapter

\stopbodymatter

\stoptext

目录现在如下所示:

目录

相关内容