我打算为需要分发给同事的主题创建一些 .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 源代码控制,那么您根本不想要这个。