Gestion de versions avec RCS, CVS ou équivalent

Si vous utilisez RCS, CVS, Subversion, Bazaar ou Git pour la gestion de version de vos documents (La)TeX, vous pouvez avoir besoin d’outils automatiques pour insérer le numéro de version dans votre document, de manière à ce qu’il soit inclus dans le rendu du document (et pas seulement caché dans un commentaire du document source).

Le solution la plus complète pour RCS et CVS est d’utiliser le paquet LaTeX rcs, qui vous permet de récupérer et d’afficher le contenu des informations RCS d’une manière très complète et flexible. Le paquet rcsinfo est plus simple et suffit pour une utilisation de base, ce qui fait qu’elle a la préférence de certains ; elle se veut compatible avec LaTeX2HTML.

Si cependant vous avez besoin d’une solution qui ne passe pas par l’utilisation d’un paquet ou qui fonctionne en pur TeX, alors vous pouvez utiliser la solution minimaliste qui suit:

\def\RCS$#1: #2 ${\expandafter\def\csname RCS#1\endcsname{#2}}
\RCS$Revision: 1.47 $ % ou n'importe quel autre champ RCS
\RCS$Date: 2014/01/28 18:17:23 $
...
\date{Revision \RCSRevision, \RCSDate}

Si vous êtes un utilisateur de Subversion, le paquet svn est le plus adapté. Il est capable de gérer automatiquement un certain nombre d’informations concernant la version utilisée:

\documentclass{<foo>}
...
\usepackage{svn}
\SVNdate $Date$
\author{...}
\title{...}
...
\begin{document}
\maketitle
...
\end{document}

Si le document source a été géré avec Subversion, la commande \maketitle utilisera automatiquement la date placée dans le champ $Date$ de Subversion.

Une autre possibilité pour les utilisateurs de Subversion est d’utiliser le paquet svninfo qui possède à peu près les mêmes fonctionnalités que svn mais obéit à une autre logique.

Svninfo peut lui aussi récupérer automatiquement la date (grâce à une option à l’appel du paquet) et peut afficher des informations en pied de page grâce au paquetfancyhdr2_composition/texte/pages/composer_des_en-tetes_et_pieds_de_page. Il est difficile de trancher entre ces deux paquets : à vous de consulter la documentation de chacun pour déterminer lequel vous conviendra le mieux.

Il est aussi possible d’utiliser un système de script comme celui proposé par le paquet vc qui peut, dans certaines circonstance, se révéler plus fiable que les paquets cités ci-dessus. Le paquet vc est compatible avec Bazaar, Git et Subversion et fonctionne à ma fois avec LaTeX et TeX. Notez que vc est le seul paquet compatible avec les dépôts Bazaar.

Enfin, les paquets gitinfo2 et gitver permettent de prendre en charge les documents gérés par Git.


Source: Version control using RCS, CVS or the like