如何重新定义 ConTeXt 中脚注的编号样式,使其显示数字和字母的组合(例如1.A
,, ) 1.B
,1.C
而不是通常的 1、2、3 序列,例如:
This is some text.^1.A This is some more text.^1.B
This is yet some more text.^2.A This is the last text.^2.B
- 仅当手动完成时才需要增加数字,例如使用类似
\incrementnumber[footnote]
。 - 每次定义新的脚注时,字母都需要增加,每当数字增加时就重置,例如
1.A
,1.B
,1.C
,2.A
,2.B
。2.C
我已经设法创建了部分解决方案:
\definenumber[prefixcounter]
\setnumber[prefixcounter]{1}
\def\footnoteprefix#1{\getnumber[prefixcounter].#1}
\setupnote[footnote][left=\footnoteprefix, numberconversion=set 2]
\starttext
This is some text.\footnote{This is a footnote.}
This is some more text.\footnote{This is another footnote.}
\incrementnumber[prefixcounter]
This is yet some more text.\footnote{This is yet another footnote.}
This is the last text.\footnote{This is the last footnote.}
\stoptext
这个解决方案有几个问题:
left=\footnoteprefix
仅出现在脚注附近,而不出现在文档文本中。numberconversion
似乎选项数量有限,例如set 1
,,set 2
我找不到任何方法来设置它以使用,,A
等,例如可用于B
C
枚举列表根据 ConTeXt wiki。
如何创建使用这种数字字母格式的脚注?
答案1
你可以使用该\subfootnote
功能来实现这一点。这是一个小例子:
\setuplayout [height=15cm] % for a smaller screenshot
\definestructureconversionset [footnote] [numbers, Characters] [numbers]
\setupenumerations [footnote] [numberconversionset=footnote]
\starttext
\startlines
Footnote\footnote{Lorem}
Footnote\footnote{Ipsum}
Subfootnote\subfootnote{Foo}, Subfootnote\subfootnote{Bar}\par
\incrementnumber [footnote]
Footnote\footnote{Dolor}
Footnote\footnote{Sit}
Subfootnote\subfootnote{Foo}, Subfootnote\subfootnote{Bar}\par
\stoplines
\stoptext
您需要定义一个新的structureconversionset
来获取字母编号。的第三个参数\definestructureconversionset
是默认使用的方案。不幸的是,关于转换集的文档并不多(并且 MkIV 中的界面已经更改)。一些信息可以在wiki - 设置参考结构前缀
numberseparatorset
不需要定义新的,因为默认的已经包含一个点。
使用上下文版本 2011.05.18 18:04 进行测试,截至 2011 年 11 月的测试版也应该可以正常工作。今年的测试版在脚注方面简直是一场噩梦。