在 \caption 内使用 \formatdate 时出现问题

在 \caption 内使用 \formatdate 时出现问题

我在使用 datetime 包格式化标题内的日期时遇到了麻烦。我被告知“不完整 \iffalse;第 6 行之后的所有文本都被忽略了。

\documentclass{article}
\usepackage{datetime}
\begin{document}

\begin{figure}[h]
  \caption{Something that happened on \formatdate{30}{9}{2010}}
\end{figure}

\end{document}

如果从 \caption 中删除 \formatdate,文档将按预期进行编译。此外,我已测试过 \formatdate,将其放在其他地方也可以正常工作。不过它似乎不喜欢标题...

那么,您对如何在标题中格式化日期有什么想法吗?

答案1

您可以使用protect

documentclass{article}
\usepackage{datetime}
\begin{document}

\begin{figure}[h]
  \caption{Something that happened on \protect\formatdate{30}{9}{2010}}
\end{figure}

\end{document}

相关内容