fmtcount 与法语和 newcommand 的问题

fmtcount 与法语和 newcommand 的问题

我建造并使用复杂的命令\qd今年春天谁需要datetime包,因此fmtcount。我最近又开始使用我的命令了,但发生了一些变化。我怀疑fmtcount包的更新。问题:

  1. 虽然我把frenchb选项放在了包中,但是命令babel的结果却是英文的……numberstringnumordinalnum
  2. 现在,我无法使用这种形式来执行我的命令:\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}

(我评论了字体选择,因为我没有那个字体。)

相关内容