我正在构建一个相当复杂的信件模板作为article
扩展类,它需要能够理解两种语言(英语和德语)。这是通过babel
(使用ngerman
和english
作为包选项)和来实现的\DeclareOption
,它用于\selectlanguage
确定哪一种。
目前,我使用datetime
和\today
设置日期,但这需要babel
在之前加载datetime
(来源)。正确的做法是什么?
我可以想象以下内容,但不知道如何做:
重新加载
babel
,以便在处理语言选项后更新日期格式指定语言
datetime
(或使用支持此功能的其他包)通过手动完成
ifthenelse
(我可以这样做,但必须有更优雅的方法吗?)
感谢您的输入!
最小非工作示例:
\usepackage[english, ngerman]{babel}
\usepackage{datetime}
\DeclareOption{E}{
\selectlanguage{english}
}
\ProcessOptions\relax
% date formatting magic here please %
\today
答案1
暂时,我决定采用以下方法(毕竟这个东西需要工作),但如果有人知道更优雅的解决方案,我会很高兴听到!
\ifthenelse{
\equal{\mylanguage}{german}
}{ % german
\renewcommand{\dateseparator}{.}
}{ % english
\renewcommand{\dateseparator}{/}
}
\ddmmyyyydate
\today