如何在 ConTeXt 中设置脚注以使用两种编号格式的组合?

如何在 ConTeXt 中设置脚注以使用两种编号格式的组合?

如何重新定义 ConTeXt 中脚注的编号样式,使其显示数字和字母的组合(例如1.A,, ) 1.B1.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.A1.B1.C2.A2.B2.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等,例如可用于BC枚举列表根据 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 月的测试版也应该可以正常工作。今年的测试版在脚注方面简直是一场噩梦。

相关内容