有人能解释一下 \ProvidesPackageRCS 的各个组件有什么用途吗?

有人能解释一下 \ProvidesPackageRCS 的各个组件有什么用途吗?

我打算为需要分发给同事的主题创建一些 .sty 文件。我使用标准 .sty 文件作为模板,我注意到命令

\ProvidesPackageRCS $Header: path/filename.sty, v (what might be hex) (date) (time) (a username?) $

如果没有其他问题,如果标题中的文件名与实际文件名不匹配,则会发出警告。如果缺少十六进制字符串或日期,似乎无法编译,v。我可以输入自己的日期,但我使用什么十六进制字符串有关系吗?

编辑:

我想我们都有一个可以正常工作的示例,无论您在何处安装 Beamer,也许是/usr/share/texmf/tex/latex/beamer/themes/theme/beamerthemeAnnArbor.sty在 *nix 系统上。在那里,命令显示

\ProvidesPackageRCS $Header: /cvsroot/latex-beamer/latex-beamer/themes/theme/beamerthemeAnnArbor.sty,v 1.4 2007/01/28 20:48:30 tantau Exp $

当我复制该文件并编辑它时

\ProvidesPackageRCS $Header: /cvsroot/latex-beamer/latex-beamer/themes/theme/beamerthemeannarbor.sty,v 1.4 2007/01/28 20:48:30 tantau Exp $

它编译但给出了一个警告,并显示类似

\ProvidesPackageRCS $Header: /cvsroot/latex-beamer/latex-beamer/themes/theme/beamerthemeAnnArbor.sty,v 1.4 20:48:30 tantau Exp $

由于参数失控,它无法编译。

但是,由于如果完全省略命令,文档就可以编译,所以我想我会走这条路。我不会使用版本控制或大量分发它。

答案1

RCS 是一种旧的源代码控制系统,其出现时间早于 CVS(早于 SVN)。如果您使用 RCS 或 CVS,那么那个$Header....$神奇的注释会导致每次签入文件时自动更新日期和版本号。据推测(非标准)\ProvidesPackageRCS是提取这些日期并对其进行排版或将其写入日志文件,就像标准一样\ProvidesPackage

如果您没有使用 RCS 或 CVS 源代码控制,那么您根本不想要这个。

相关内容