我正在写一个包含很多章节的文档。一个典型的章节如下所示:
一章
第 1 部分
錯誤!
第 2 部分
錯誤!
主题 1
錯誤!
第 3 部分
錯誤!
主题 2
錯誤!
第 4 部分
錯誤!
因此,还有第二类标题,与section
s 处于“同一级别”,但独立编号。问题是,如何在 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 中,实现这种功能(通常用于定理)的惯用方法是使用enumeration
。enumeration
可以将章节作为前缀,并且可以自定义标题以“看起来像一个部分”。 当然,它不会显示在目录中。 另请参阅其他答案以了解更多详细信息。
抛开这些缺点不谈,我无论如何都不推荐这样做,因为如果读者两次无缘无故地遇到相同的章节编号,他们会感到非常困惑。这也会让引用变得非常尴尬,例如,“参见 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