所以我尝试破解宏在 ConTeXt wiki 中给出了用西班牙语(我的母语)的单词编写页码的方法。一切都很顺利,直到我必须达到第 100 页。ConTeXt 在编译时声明,但我不知道如何修复宏以便它可以写入百位数。
'Cien' 是西班牙语的 100。'Ciento uno' 是 101,'ciento dos' 是 102,等等(您可以查看更详细的示例这里)。因此,基本上我需要在从 1 到 99 的每个字数前面加上单词“cien”来表示一百,在两百之前加上“doscientos”...这里这是我修改过的宏版本(你可以将其保存为“numstr.tex”进行编译),以及一个最小的例子,如下所示:
\input numstr
\defineconversion[numstring][\numstr]
\setupuserpagenumber[numberconversion=numstring]
\starttext
\dorecurse{100}{\recurselevel\page}
\stoptext
我对 TeX 还很陌生,不知道该怎么做。TeX/ConTeXt 大师能给我点提示吗?非常感谢!
答案1
ConTeXt 提供了将数字转换为单词的转换words
(和Words
)。这会将数字转换为当前语言的单词(目前支持英语和西班牙语)。
例如:
\starttext
\startitemize[words,fit,board]
\item One
\item Two
\item Three
\stopitemize
\mainlanguage[es]
\startitemize[words,fit,board]
\item One
\item Two
\item Three
\stopitemize
\stoptext
给出
了解core-con.lua
如何添加对其他语言的支持。