如何使用回忆录类获取大写序数?

如何使用回忆录类获取大写序数?

该类memoir有许多用于将数字转换为单词的宏。例如

 \numtotoname{113}

将打印一百一十三。

是否有适用于全部大写的等效宏?或者可以定义一个吗?

我试图定义:

   \def\thechapter{\textsc{\numtoname{\@arabic\c@chapter}}}

这是有效的,

   \textsc{\numtoname{\@arabic\c@chapter}},

但不是这个:

   \def\chaptername{chapter}
   \def\thechapter{\textsc{\numtoname{\@arabic\c@chapter}}}

在此处输入图片描述

笔记:

我正在尝试将章节编号转换为单词。我猜答案可能需要一些\expandafters,但目前他们没有告诉我。

答案1

最简单的解决方案是使用fmtcount

\documentclass{memoir}
\let\ordinal\relax % to avoid a spurious warning
\usepackage{fmtcount}
\renewcommand{\thechapter}{\NUMBERstring{chapter}}


\begin{document}
\mainmatter
\chapter{A}
\end{document}

答案2

您可以使用fmtcount包裹\NUMBERstring

在此处输入图片描述

\documentclass{memoir}% http://ctan.org/pkg/memoir
\usepackage{fmtcount}% http://ctan.org/pkg/fmtcount
\renewcommand{\thechapter}{\NUMBERstring{chapter}}
\begin{document}
\setcounter{chapter}{112}
\chapter{A chapter}
\end{document}​

答案3

这样怎么样;也许更像排版,而不像喊叫(:-):

{\scshape \NumToName{#1}}

相关内容