[Tex/LaTex] Can somebody explain what the components of \ProvidesPackageRCS are for

beamer

I aim to create some .sty files for themes that I need to distribute to colleagues. I'm using a standard .sty file as a template, and I've noticed that the command

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

if nothing else, raises a warning if the file name in the header doesn't match the actual file name. It appears that I can't compile if the ,v, hex string, or date is missing. I can put in my own date, but does it matter what hex-looking string I use?

EDIT:

I presume we all have an example of one that works normally, wherever you installed Beamer, perhaps /usr/share/texmf/tex/latex/beamer/themes/theme/beamerthemeAnnArbor.sty on a *nix system. There, the command reads

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

and when I copy that file and edit it to say

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

it compiles but gives a warning, and with something like

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

it doesn't compile because of a runaway argument.

But since the document compiles if the command is left out entirely, I think I'm going to go that route. I'm not using version control or distributing this en masse.

Best Answer

RCS is an old source control system which predated CVS (which predated SVN) If you are using RCS or CVS then that $Header....$ magic comment causes the dates and version number to be updated automatically every time the file is checked in. Presumably the (non standard) \ProvidesPackageRCS is extracting those dates and typesetting them or writing them to the log file like a standard \ProvidesPackage.

If you are not using RCS or CVS source control you don't want this at all.