章节和目录中的动态日期

章节和目录中的动态日期

我正在尝试在部分标题中动态插入自定义日期,如下所示:

(序言某处):

\newdate{prevdate}{14}{01}{2015}
\date{\displaydate{prevdate}}

(文档中某处):

\section{Minutes \displaydate{prevdate}}

在文档内部运行良好(正确显示章节标题),但在目录列表中,它被打印为“Minutes 0 januari 0”。

有人有什么想法吗?

一个最小的工作示例:

\documentclass[12pt]{article}
\usepackage[dutch]{babel}
\usepackage{datetime}

%\newdate{date}{03}{02}{2015}
\newdate{prevdate}{14}{01}{2015}

%\date{\displaydate{date}}
\date{\displaydate{prevdate}}

\begin{document}

\tableofcontents

\section{Minutes \displaydate{prevdate}}

\end{document}

我真的只是想知道这是否可能,或者 LaTeX 页面的生成方式是否会导致这不可行或不可能。提前致谢!

答案1

\displaydate很脆弱,需要\protect在章节标题等移动参数中进行编辑。

\documentclass[12pt]{article}
\usepackage[dutch]{babel}
\usepackage{datetime}

%\newdate{date}{03}{02}{2015}
\newdate{prevdate}{14}{01}{2015}

%\date{\displaydate{date}}
\date{\displaydate{prevdate}}

\begin{document}

\tableofcontents

\section{Minutes \protect\displaydate{prevdate}}

\end{document}

在此处输入图片描述

您还可以\displaydate使用以下方法使其(全局)健壮

\usepackage{etoolbox}
\robustify{\displaydate}

在你的序言中。

相关内容