我尝试在 Google 上搜索,但只找到了很多关于如何格式化的示例\today
。但这不是我想要的。相反,我想要一种根据 Babel 提供的本地化来格式化历史日期的方法。
用美式英语和英式英语说‘1994 年 6 月 3 日’?
答案1
使用方法如下datetime
:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[USenglish,UKenglish,french,spanish,italian]{babel}
\usepackage[nodayofweek,level]{datetime}
\newcommand{\mydate}{\formatdate{3}{6}{1994}}
\begin{document}
\selectlanguage{USenglish}
\mydate
\selectlanguage{UKenglish}
\mydate
\selectlanguage{french}
\mydate
\selectlanguage{spanish}
\mydate
\selectlanguage{italian}
\mydate
\end{document}
结果:
编辑:
该datetime
软件包现已被替换为datetime2
。这只需要对上面的例子做一些小的改动:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[USenglish,UKenglish,french,spanish,italian]{babel}
\usepackage[useregional]{datetime2}
\newcommand{\mydate}{\DTMdisplaydate{1994}{6}{3}{-1}}
\begin{document}
\selectlanguage{USenglish}
\mydate
\selectlanguage{UKenglish}
\mydate
\selectlanguage{french}
\mydate
\selectlanguage{spanish}
\mydate
\selectlanguage{italian}
\mydate
\end{document}
结果如下:
我使用了可扩展版本\DTMdisplaydate
。这可用于 PDF 书签。还有一个强大的不可扩展版本\DTMdate
,其语法略有不同:
\newcommand{\mydate}{\DTMdate{1994-6-3}}
结果是一样的。
答案2
我们可以使用异酸包也是如此,结果与 Nicola 的回答相同:
\documentclass[USenglish,UKenglish,french,spanish,italian]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{isodate}
\begin{document}
\selectlanguage{UKenglish}
\printdate{1994-6-3}
\selectlanguage{USenglish}
\printdate{1994-6-3}
\selectlanguage{french}
\printdate{1994-6-3}
\selectlanguage{spanish}
\printdate{1994-6-3}
\selectlanguage{italian}
\printdate{1994-6-3}
\end{document}
\printdate 命令允许多种输入格式。