在我生成的信件中我使用\formatdate{\MDay}{\MMonth}{\MYear}
。在标题中我具体说明了\usepackage[nodayofweek,level]{datetime}
。
我已经得到了像2012 年 5 月 10 日,但我只想2012 年 5 月 10 日。地址块中也存在同样的问题,实际日期是在哪里自动生成的。
我该如何检查?
答案1
逗号作为分隔符实际上是硬编码到的各种定义中的\formatdate
,但您可以使用etoolbox
包将其删除。
\documentclass{article}
\usepackage[nodayofweek,level]{datetime}
\usepackage{etoolbox}
\patchcmd{\formatdate}{,}{}{}{}
\begin{document}
\today
\end{document}
答案2
您可以使用以下定义\ddmmmyyyydate
来实现(并重新格式化)您所追求的目标:
\documentclass{article}
\usepackage[nodayofweek,level]{datetime}% http://ctan.org/pkg/datetime
\makeatletter
\DeclareRobustCommand*{\ddmmmyyyydate}{%
\renewcommand*{\formatdate}[3]{%
\ifshowdow\shortdayofweekname{##1}{##2}{##3} \fi
\@day=##1\relax\@month=##2\relax\@year=##3\relax
\ordinaldate{\the\@day}\ \shortmonthname[\@month] \the\@year}
}
\makeatother
\begin{document}
\today
\ddmmmyyyydate
\today
\end{document}
选择english
isodate
默认打印此输出。或者,\isospacebeforeyear
也可以使用来修改月份和年份之间的分隔符:
\documentclass{article}
\usepackage[english]{isodate}% http://ctan.org/pkg/isodate
\begin{document}
\today
\isospacebeforeyear{, }
\today
\end{document}