numname
是一个允许您用文字写出(例如)章节标题的软件包。它基本上是从中取出的一些代码memoir.cls
。
然而,代码似乎存在问题。
我尝试选择使用enumerate
带有单词标签的选项,如下所示:
\documentclass{article}
\usepackage{enumitem}
\usepackage{numname}
\makeatletter
\newcommand*{\nthwords}[1]{%
\expandafter\@nthwords\csname c@#1\endcsname}
\newcommand*{\@nthwords}[1]{%
\ordinaltoName{#1}}
\AddEnumerateCounter{\nthwords}{\@nthwords}{eleven}
\makeatother
\newcounter{tctr}
\setcounter{tctr}{12}
\begin{document}
\nthwords{tctr}
% \begin{enumerate}[label=\nthwords*]
% \item Boo
% \item Far
% \item Faz\label{fz}
% \end{enumerate}
% \ref{fz}
\end{document}
这工作正常,但取消注释枚举环境会使它incomplete \iffalse
在第一个行出现“ ” \item
。
现在,注释掉\usepackage{numname}
并更改文档类即可memoir
解决问题。
所以某物出了问题。有任何线索可以说明问题是什么吗?或者我应该给 numname 的作者发邮件吗?[我问这个问题是因为我知道我们有一些memoir
专家可能能够发现这个问题...]
答案1
它实际上并不适用于回忆录,您可以通过\label
在第二项中添加 a 并\ref
在其中添加 a 来看到它。
你可以通过以下方式让它工作
\usepackage{numname}
\makeatletter
\newcommand*{\nthwords}[1]{%
\expandafter\@nthwords\csname c@#1\endcsname}
\newcommand*{\@nthwords}[1]{%
\protect\ordinaltoName{\number#1}}
\AddEnumerateCounter{\nthwords}{\@nthwords}{eleven}
\makeatother
之所以回忆录没有给出错误是因为\ordinaltoName
在那个类中是健壮的,并且它不是号码名称。