我建造并使用复杂的命令\qd
今年春天谁需要datetime
包,因此fmtcount
。我最近又开始使用我的命令了,但发生了一些变化。我怀疑fmtcount
包的更新。问题:
- 虽然我把
frenchb
选项放在了包中,但是命令babel
的结果却是英文的……numberstringnum
ordinalnum
- 现在,我无法使用这种形式来执行我的命令:
\numberstringnum{{#1}0}
,这非常麻烦。
我在这里举了一个最小的例子:
% !TEX encoding = UTF-8 Unicode
% !TEX TS-program = arara
\documentclass{scrbook}
\usepackage[frenchb]{babel}
\usepackage[quiet]{fontspec}
\usepackage[automark,headsepline]{scrpage2}
\usepackage[babel,french=guillemets*]{csquotes}
\usepackage[dayofweek]{datetime}
\setmainfont[Mapping=tex-text, Ligatures={Common, Rare}, Numbers={OldStyle}]{Adobe Garamond Pro}
\addtokomafont{disposition}{\normalfont}
\newcommand{\qd}[1]{années~\numberstringnum{{#1}0}}
\begin{document}
\numberstringnum{300}, \ordinalnum{3}[m], \formatdate{1}{1}{2000}…
%\qd{8}.
\end{document}
% arara: xelatex
结果如下:
在上面的例子中,我注释掉了我遇到的第二个问题(%\qd{8}.
)。如果我激活该\qd
命令,控制台中的错误消息是:
! Missing number
…
! Missing = inserted for \ifnum
…
! Package fmtcount error: Out of range
我有 3.00 版本的fmtcount
包装手册。 感谢您的帮助。
答案1
您可以将french
(或frenchb
)选项作为全局选项\documentclass
或加载
\usepackage[french]{fmtcount}
之前datetime
。显然,问题在于包在加载时fmtcount
不会查看默认语言。babel
因此,
\documentclass[frenchb]{scrbook}
\usepackage{babel}
\usepackage[quiet]{fontspec}
\usepackage[automark,headsepline]{scrpage2}
\usepackage[babel,french=guillemets*]{csquotes}
\usepackage[dayofweek]{datetime}
%\setmainfont[Mapping=tex-text, Ligatures={Common, Rare}, Numbers={OldStyle}]{Adobe Garamond Pro}
\addtokomafont{disposition}{\normalfont}
\newcommand{\qd}[1]{années~\numberstringnum{{#1}0}}
\begin{document}
\numberstringnum{300}, \ordinalnum{3}[m], \formatdate{1}{1}{2000}…
\qd{8}.
\end{document}
或者
\documentclass{scrbook}
\usepackage[french]{babel}
\usepackage[quiet]{fontspec}
\usepackage[automark,headsepline]{scrpage2}
\usepackage[babel,french=guillemets*]{csquotes}
\usepackage[french]{fmtcount}
\usepackage[dayofweek]{datetime}
%\setmainfont[Mapping=tex-text, Ligatures={Common, Rare}, Numbers={OldStyle}]{Adobe Garamond Pro}
\addtokomafont{disposition}{\normalfont}
\newcommand{\qd}[1]{années~\numberstringnum{{#1}0}}
\begin{document}
\numberstringnum{300}, \ordinalnum{3}[m], \formatdate{1}{1}{2000}…
\qd{8}.
\end{document}
(我评论了字体选择,因为我没有那个字体。)