关闭 ConTeXt 中行号的旧编号 otf 功能

关闭 ConTeXt 中行号的旧编号 otf 功能

我在演示文稿中使用 OldNumber 功能,因为我喜欢它们(de gustibus……)。但是,当它们用于编号行时,它们看起来很奇怪。我应该怎么做才能在文本中仍然使用 onum 的情况下以标准方式对行进行编号?我敢打赌这与选项有关setuplinenumbering conversion,但我不知道如何将其连接到命令feature

%\setuplinenumbering[conversion=number]
\definefontfeature [default] [onum=yes]
\definefontfeature [f:lnum] [onum=no]
\starttext
0123456789

\feature[f:lnum] %does not have any effect, which wouldn' be exactly what I want btw
\startlinenumbering
\input dawkins
\stoplinenumbering
\stoptext

注意:此onum功能可以更改startlinenumbering。我尝试过,但没有成功。我希望文本保留其旧数字样式,所以这是一个解决方法。

答案1

首先,你永远不应该完全覆盖default功能集。最好使用以下方法扩展它:

\definefontfeature [default] [default] [onum=yes]

然后定义一个f:lnum禁用该onum功能的功能并启用该lnum功能

\definefontfeature [f:lnum]  [default] [onum=no, lnum=yes]

该特征可以用作:

{\feature[+][f:lnum] 0123456789}

要启用此功能进行行号显示,请使用style键(我还添加了align=flushright

\setuplinenumbering[align=flushright,style={\feature[+][f:lnum]}]

这是一个完整的例子:

\definefontfeature [default] [default] [onum=yes]
\definefontfeature [f:lnum]  [default] [onum=no, lnum=yes]

\setuplinenumbering[align=flushright,style={\feature[+][f:lnum]}]

\starttext

\startlinenumbering
\input dawkins
\stoplinenumbering
\stoptext

这使

在此处输入图片描述

相关内容