我正在尝试以datetime2
适当的区域样式显示自定义日期,方法是使用通过 定义的语言设置polyglossia
,或通过datetime2
选项列表传递语言设置。到目前为止还没有成功。
我尝试使用polyglossia
语言设置:
\documentclass{article}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage{german}
\usepackage{datetime2}
\DTMsavedate{customdate}{2016-03-31}
\begin{document}
\DTMusedate{customdate}
\end{document}
日期以default
数字样式显示,格式为 2016-03-31。
我尝试使用datetime2
选项列表,而不依赖于polyglossia
:
\documentclass{article}
\usepackage{fontspec}
\usepackage[german]{datetime2}
\DTMsavedate{customdate}{2016-03-31}
\begin{document}
\DTMusedate{customdate}
\end{document}
仍然没有成功,日期仍然显示为 2016-03-31。
任何能为我指明正确方向的帮助都将非常感激。
PS:我正在使用 XeTeX 编译该文档。
答案1
我一开始无法重现你的问题,你的 MWE 返回2016 年 3 月 31 日在pdflatex
和中。如果您想要数字格式,则可以使用以下xelatex
选项,结果为useregional=numeric
2016 年 3 月 31 日。如果您不喜欢/
分隔符,您可以使用style=ddmmyyyy
用作-
分隔符的。
但是,当我尝试未安装的 datetime2 语言模块(例如)时,我可以重现该问题usepackage[french]{datetime2}
。然后使用默认样式,即 yyyy-mm-dd。软件包会在终端中对此发出警告,但它不会终止编译过程,也许您错过了这一点。
使用 TexLive 或 MikTeX 中的图形包管理器可以轻松安装tlmgr install datetime2-german
。Ubuntu 的存储库中(目前)没有 datetime2。
笔记:
xelatex
可能需要usepackage{fontspec}
(但不是必需的pdflatex
)xetex
无法编译你的 MWE,因为它不知道usepackage
documentclass
请在您的 MWE 中包含
代码:
\documentclass{article}
%\usepackage{fontspec} %%% for xelatex
\usepackage[german]{datetime2} %%% 31. März 2016
%\usepackage[german,useregional=numeric]{datetime2} %%% 31/3/2016
%\usepackage[german,style=ddmmyyyy]{datetime2} %%% 31-03-2016
\DTMsavedate{customdate}{2016-03-31}
\begin{document}
\DTMusedate{customdate}
\end{document}