有没有办法使用numname
包,让长英文数字的序数不包含单词“and”?也就是说,我希望 \OrdinalToName{118} 生成“一百一十八”,而不是当前的“一百和十八'。
答案1
的预期输出\OrdinalToName{118}
实际上是“一百一十八”。如果您想要这个基数而不是序数,请使用\NumToName
。
好了,让我们把注意力集中到不需要的连词上:
查看numname
包装手册,我们发现提示
该代码是从中剪切并粘贴的,
memoir.cls
以用作独立的包[...]
通过查看memoir
手册,我们可以找到以下内容:(参见第 18.14.2 节命名数字,目前从第 337 页开始)
默认情况下,命名数字的表示中使用一些标点符号和连词。[...]这些宏最初定义为:
\newcommand*{\namenumberand}{ and }
\newcommand*{\namenumbercomma}{, }
\newcommand*{\tensunitsep}{-}
为了覆盖此默认值以摆脱“and”连词,只需添加\renewcommand*{\namenumberand}{ }
到您的文档中:
\documentclass{article}
\usepackage{numname}
\begin{document}
\NumToName{118}
\OrdinalToName{118}
\renewcommand*{\namenumberand}{ }
\NumToName{118}
\OrdinalToName{118}
\end{document}