如何显示 \PrintChanges 更改中的日期?

如何显示 \PrintChanges 更改中的日期?

当我查看包/类的“更改历史”时,我经常会遗漏更改日期的信息,因为在我看来,只有版本号是不够的:如果我记得我在某个日期之前已经使用过这个包/类(因此仔细查看自该日期以来的更改),我却记不住我上次使用的版本号。

由于\changes用于更改记录的宏包含日期:

\changes{⟨version number⟩}{⟨date⟩}{⟨change⟩}

我猜除了命令提供的列表中的 ⟨version number⟩s 之外,显示 ⟨date⟩s 应该不是什么难事\PrintChanges。但即使看过生成的文件后gglo.ist.glo我也不知道该怎么做,所以我的问题是:如何在\PrintChanges'更改' 中显示日期?

答案1

\changes内部使用\changes@定义为

\def\changes@#1#2#3{%
 \protected@edef\@tempa{%
  \noexpand\glossary{#1\levelchar
   \ifx\saved@macroname\@empty
    \space\actualchar\generalname
   \else
    \expandafter\@gobble\saved@macroname
    \actualchar
    \string\verb\quotechar*\verbatimchar\saved@macroname\verbatimchar
   \fi
   :\levelchar #3}}%
 \@tempa
 \endgroup
 \@esphack
}

您只需使用#2插入重新定义它即可\glossary。例如:

\renewcommand*{\changes@}[3]{%
 \protected@edef\@tempa{%
  \noexpand\glossary{#1 (#2)\levelchar
   \ifx\saved@macroname\@empty
    \space\actualchar\generalname
   \else
    \expandafter\@gobble\saved@macroname
    \actualchar
    \string\verb\quotechar*\verbatimchar\saved@macroname\verbatimchar
   \fi
   :\levelchar #3}}%
 \@tempa
 \endgroup
 \@esphack
}

相关内容