如何使用 \DTMsavedate 保存 \today?

如何使用 \DTMsavedate 保存 \today?

这个问题几乎与另一个问题但不幸的是,那里提出的解决方案在我的场景中不起作用。

我正在尝试为特定的 beamer 样式和附加命令编写一个包。为此,我保存了命令提供的日期\date,并在多个地方(例如,页脚、标题页)以特定格式使用它。当我将具体日期作为 的参数时,这可以正常工作\date,但当我使用 时\today,我会遇到错误。这是我的 M(N)WE:

\documentclass{beamer}

\usepackage{datetime2}

\renewcommand{\date}[1]{\DTMsavedate{mydate}{#1}\DTMmakeglobal{mydate}}

\date{2022-09-18}
% \date{\today} % ! Paragraph ended before \@dtm@parsedate was complete.

\begin{document}

\begin{frame}
\DTMusedate{mydate}
\end{frame}

\end{document}

只需使用\DTMsavenow只需这是对另一个问题的回答没有帮助,因为我不知道包的用户会放什么\date。我试验了或多或少与另一个问题并得到了相同的失败结果。我还尝试\expandafter在 的新定义中使用\date,但未能成功。我怎样才能让命令\date同时接受具体日期和\today宏,并能够通过\DTMusedate(或任何其他方式)在任何地方使用指定的日期?

相关内容