一个比较奇怪的问题:带calc选项的datetime2宏包(或者先后加载datetime2 和datetime2-calc)会修改已定义的日期格式。原本以1位数字表示的月与日会被强制改成2位数字,但是,\today 的日期样式却是正常的。我试图去看源代码,但是能力有限,不知道有谁能解释一下原因。mwe 如下:
\documentclass{article} \usepackage[calc]{datetime2} %\usepackage{datetime2} \DTMnewdatestyle{myyyymd}{% \renewcommand*{\DTMdisplaydate}[4]{% Year:\makebox[3.2em][c]{##1}Month:\makebox[1.6em]{##2}Day:\makebox[1.6em]{##3}} \renewcommand*{\DTMDisplaydate}{\DTMdisplaydate}% } \DTMsavedate{mydate}{2008-8-8} \DTMsavedate{anniversary}{2018-8-8} \begin{document} \DTMsetdatestyle{myyyymd} \DTMusedate{mydate} \DTMusedate{anniversary} \today \end{document}