如何在 ConTeXt 中交换章节标签和章节编号

如何在 ConTeXt 中交换章节标签和章节编号

有没有办法在 ConTeXt 中实现以下功能?

1. Part. A part
   1. Chapter. A chapter
      1.1 Section. A section
etc.

我曾尝试手动\currentstructurelabel输入命令以便将其传递给command=...in \setuphead,但它不起作用。

编辑

我的方法

\mainlanguage[es]
\define[2]\MyChapter
{\framed[frame=off,width=broad,align=middle]{{\tfx #1{ \currentstructurelabel}}\blank[medium]{\cap{#2}}}}
\setuphead[chapter][alternative=middle,command=\MyChapter]
\starttext
\startchapter[title=lol]
Hola
\stopchapter 
\stoptext 

它打印的是1 chapter (blank) lol而不是1 capítulo...1 Capítulo...。如果我的母语是英语,我不会介意,但我使用语言切换,我想知道为什么尽管语言设置了,标签还是英文的。那么,如何让我的尝试依赖于语言呢?

答案1

ConTeXt 有一个预构建机制,可以将文本添加到部分计数器。

要在章节计数器前添加文本,您必须设置一个以章节名称为键的标签文本。

\setuplabeltext [en] [chapter=Chapter ]

\starttext

\chapter{A chapter}

\stoptext

在上面的例子中,文本出现在计数器之前,但也可以在其后面放置文本,要做到这一点,您必须使用一个列表,其中文本必须是列表中的第二个条目。

\setuplabeltext [en] [chapter={, chapter}]

\starttext

\chapter{A chapter}

\stoptext

相关内容