**第 n 个包** 生成全文:例如“1st”->“first”

**第 n 个包** 生成全文:例如“1st”->“first”

我一直在使用这个nth包(似乎没有任何文件证明这一点) 来排版我的期刊文章。

现在突然发现,期刊需要完整的单词来描述这些内容。因此,用“zeroth”代替“0th”,用“twenty-first”代替“21st”。

有没有选项可以nth为我做到这一点,还是我必须浏览整个文档并更改所有内容?

答案1

您可以将控制权借给fmtcount,而无需改变语法。

\documentclass{article}
\usepackage{fmtcount}

\newcommand{\nth}[1]{\ordinalstringnum{#1}}

\begin{document}

\nth{0}, \nth{1}, \nth{21}.

\end{document}

在此处输入图片描述

答案2

可能有,但我不知道有哪个包提供数字的等效单词。尽管如此,由于一个人的使用\nth通常仅限于少数有限数量的实例,因此可以修改以下宏方法以提供您工作所需的列表。尚未“翻译”的那些显示为红色,以提醒您更新宏。

\documentclass{article}
\usepackage{nth,xcolor}
\let\svnth\nth
\def\umpteen{1000000}
\renewcommand\nth[1]{%
  \ifnum1=#1\relax first\else
  \ifnum2=#1\relax second\else
  \ifnum3=#1\relax third\else
  \ifx\umpteen#1\relax umpteenth\else
    \textcolor{red}{\svnth{#1}}% ADD MORE \if CLAUSES AS NEEDED
  \fi\fi\fi\fi
}
\begin{document}
The \nth{1}, \nth{2}, and \nth{3}, but not yet the \nth{4}.

For the \nth{\umpteen} time, clean your room!!
\end{document}

在此处输入图片描述

ps:对于那些有青少年的人来说,更新为父母提供支持\nth{\umpteen}

答案3

我可能会建议如下

\documentclass{article}
\usepackage{moreenum,nth}
\newcounter{mycounter}
\let\onth\nth
\renewcommand{\themycounter}{\Nthwords{mycounter}}
\renewcommand{\nth}[1]{\setcounter{mycounter}{#1}\themycounter}
\begin{document}
\nth{278}
\end{document}

在此处输入图片描述

相关内容