有没有办法为不同的节类实体定义平行的节编号,例如:
\startsectionA[title = {secA1}]
\stopsectionA
\startsectionB[title = {secB1}]
\stopsectionB
\startsectionA[title = {secA2}]
\stopsectionA
\startsectionA[title = {secA3}]
\stopsectionA
etc.
那么结果应该是
1. secA1
I. secB1
2. secA2
3. secA3
etc.
这些标题应该出现在目录和页眉中。
答案1
重载分段命令并使用您自己的计数器进行跟踪。我认为这根本不是一个好主意。
\unprotect
\definecounter[sectionA][way=bychapter]
\define\startsectionA{\dodoubleempty\start_section_A}
\define\stopsectionA{\stopsection}
\def\start_section_A[#1][#2]{%
\incrementcounter[sectionA]%
\startsection[ownnumber={\directconvertedcounter{sectionA}\empty},
incrementnumber=no,#1][#2]}
\definecounter[sectionB][way=bychapter,numberconversion=R]
\define\startsectionB{\dodoubleempty\start_section_B}
\define\stopsectionB{\stopsection}
\def\start_section_B[#1][#2]{%
\incrementcounter[sectionB]%
\startsection[ownnumber={\directconvertedcounter{sectionB}\empty},
incrementnumber=no,#1][#2]}
\protect
\starttext
\placecontent
\startsection[title={Normal Section}]
normal section
\stopsection
\startsectionA[title={Section A}]
section A
\stopsectionA
\startsectionB[title={Section B}]
section B
\stopsectionB
\startsectionA[title={Section A}]
section A
\stopsection
\startsection[title={Normal Section}]
normal section
\stopsection
\startsectionA[title={Section A}]
section A
\stopsection
\stoptext
答案2
在评论中,您说您想要定理,但希望它们出现在目录中。每个枚举都存储在一个列表中,您可以简单地在目录中显示组合列表。下面是一个例子,其中sectionA
是常规部分,sectionB
是枚举。我修改了枚举的布局,使其像部分一样排版。
\definehead[sectionA][section]
\defineenumeration[sectionB][title=yes, text=, headstyle=\tfa, titlestyle=\tfa, titleleft=, titleright=, numberconversion=R]
\starttext
\placelist[sectionA, sectionB]
\startsectionA[title={First Section A}]
section A
\getmarking[sectionA]
\stopsectionA
\startsectionB[title={First Section B}]
section B
\stopsectionB
\startsectionA[title={Second Section A}]
section A
\stopsectionA
\startsectionA[title={Third Section A}]
section A
\stopsectionA
\startsectionB[title={Second Section B}]
section B
\stopsectionB
\stoptext
\stoptext
这使