一章

一章

我正在写一个包含很多章节的文档。一个典型的章节如下所示:

一章

第 1 部分

錯誤!

第 2 部分

錯誤!

主题 1

錯誤!

第 3 部分

錯誤!

主题 2

錯誤!

第 4 部分

錯誤!

因此,还有第二类标题,与sections 处于“同一级别”,但独立编号。问题是,如何在 TeX 中实现这种功能,特别是在 ConTeXt 中。

(我看到有一个非常相似的问题这里但当然那里提供的 LaTeX 答案不是我想要的。)

MWE 举例来说:

\definehead
  [topic]
  [section]

% \setuphead
%   [topic]
%   [???]

\starttext

\startchapter[title=A Chapter]
  \startsection[title=Alpha] Lorem ipsum ... \stopsection
  \startsection[title=Beta]  Lorem ipsum ... \stopsection
  \starttopic[title=One]     Lorem ipsum ... \stoptopic
  \startsection[title=Gamma] Lorem ipsum ... \stopsection
  \starttopic[title=Two]     Lorem ipsum ... \stoptopic
  \startsection[title=Delta] Lorem ipsum ... \stopsection
\stopchapter

\stoptext

答案1

不存在独立的章节结构。章节结构的全部目的是定义有序的标题层次结构。

在 ConTeXt 中,实现这种功能(通常用于定理)的惯用方法是使用enumerationenumeration可以将章节作为前缀,并且可以自定义标题以“看起来像一个部分”。 当然,它不会显示在目录中。 另请参阅其他答案以了解更多详细信息。

抛开这些缺点不谈,我无论如何都不推荐这样做,因为如果读者两次无缘无故地遇到相同的章节编号,他们会感到非常困惑。这也会让引用变得非常尴尬,例如,“参见 1.2”是指第 1.2 节还是主题 1.2?问题列表还在继续……

\defineenumeration
  [topic]
  [text=,
   title=yes,
   titleleft=,
   titleright=,
   titlestyle=\tfa,
   numbercommand=\groupedcommand{\tfa}{},
   prefix=yes,
   prefixsegments=chapter]

\starttext

\startchapter[title=A Chapter]
  \startsection[title=Alpha] Lorem ipsum ... \stopsection
  \startsection[title=Beta]  Lorem ipsum ... \stopsection
  \starttopic[title=One]     Lorem ipsum ... \stoptopic
  \startsection[title=Gamma] Lorem ipsum ... \stopsection
  \starttopic[title=Two]     Lorem ipsum ... \stoptopic
  \startsection[title=Delta] Lorem ipsum ... \stopsection
\stopchapter

\stoptext

在此处输入图片描述

答案2

从你的问题中无法清楚看出你确实需要另一个头

我不知道该怎么做(也许很快会有一位巫师告诉你)。同时:

如果您可以接受将主题作为枚举,那么您可以执行如下操作。此外,从问题中无法清楚看出您希望如何对部分/主题进行编号,但此解决方案非常灵活。我还展示了如何将主题添加到目录中。

% This is the essential part
\defineenumeration[topic]
\setupenumeration[topic][
headstyle=\tfa,
text=,
title=yes,
titleleft=,
titleright=,
titlestyle=\tfa,
prefix=yes,
prefixsegments=chapter,
way=bychapter,
before={\blank[big]},
]

% Just to have the same space in sections and topics
\setuphead[section][
before={\blank[big]},
]

% The three setups below are not necessary.
% I only used them to get everything on one page
\setuppapersize[A5]
\setupbodyfont[10pt]
\setuphead[chapter][
page=no
]

\starttext

\placelist[chapter,section,topic][before=,after=]

\startchapter[title=A Chapter]
  \startsection[title=Alpha] Lorem ipsum ... \stopsection
  \startsection[title=Beta]  Lorem ipsum ... \stopsection
  \starttopic[title=One]     Lorem ipsum ... \stoptopic
  \startsection[title=Gamma] Lorem ipsum ... \stopsection
  \starttopic[title=Two]     Lorem ipsum ... \stoptopic
  \startsection[title=Delta] Lorem ipsum ... \stopsection
\stopchapter
\stoptext

ConTeXt 代码的输出

相关内容