在 CONTEXT 中,如何获取章节总数?

在 CONTEXT 中,如何获取章节总数?

对于总数量页面,可用于\lastcounter[userpage]获取文档中的总页数。实际上,它给出的是最后一页的页数(这更有趣)。类似的命令适用于获取文档中的公式、图表等的总数。

我怎样才能获得章节? 在 Lua 中检查structures.counters不会显示与章节编号相关的计数器。

以下是我的使用案例:部分小节我已经安排好后者的编号,使其在每个新部分不重置。我希望我的文档中的子部分总数为:以下示例中的“5”。

第 1 部分
  第1节
  第2节
第 2 部分
  第3节
  第四节
  第5节

该命令\somenamedheadnumber{subsection}{last}提供了当前活动结构(在我的情况下是当前部分)中的最后一个小节编号,但我找不到获取整个文档的最后一个值的方法。

在 TeX/LaTeX 中,我会添加一个钩子来\subsection将计数器值记录到文件中,然后在文档开头读取该文件来计算最终值。(如果\AtEndDocument在 LaTeX 中使用,这会简化一些。)我确信在 CONTEXT 中有一个简单的方法可以做到这一点,但我找不到它。

答案1

您可以使用命令\determinelistcharacteristics然后\structurelistsize访问该值。例如:

\starttext

\determinelistcharacteristics
  [chapter]
  [criterium=text]

number of chapters: \structurelistsize

\startsectionlevel [title=Foo]
  \startsectionlevel [title=title 1] section 1 \stopsectionlevel
  \startsectionlevel [title=title 2] section 2 \stopsectionlevel
\stopsectionlevel

\startsectionlevel [title=Bar]
  \startsectionlevel [title=title 3] section 3 \stopsectionlevel
  \startsectionlevel [title=title 4] section 4 \stopsectionlevel
\stopsectionlevel

\stoptext

将 的第一个参数替换\determinelistcharacteristicssectionsubsection任何其他部分级别,以获取其他部分级别的计数器。

criterium=text如果命令位于节之后而非节之前,则需要。\determinelistcharacteristics如果不设置标准, 的值\structurelistsize将是错误的。

相关内容