Best practice for maintaining change history in tex
If you want a revision history table showing the following four items, you should look at the vhistory package.
- Version
- Date
- Authors
- Summary of the changes
If you're wanting the exact revision history from SVN, this might not be the package for you, as this revision history table is created in the LaTeX document. I find this advantageous since I want a more succinct revision history table than every little check-in to git.
Example vhistory code
\usepackage{vhistory}
\begin{document}
% Start of the revision history table
\begin{versionhistory}
\vhEntry{1.0}{22.01.04}{JPW|KW}{created}
\vhEntry{1.1}{23.01.04}{DP|JPW}{correction}
\vhEntry{1.2}{03.02.04}{DP|JPW}{revised after review}
\end{versionhistory}
Use the tablegrid
option if you want to "display a grid in the table representing the revision history."
Example vhistory output
I have previously used the svninfo
Herbert already mentioned.
But I recently found the vc bundle
. It has the advantage/difference of not only tracking the included .tex
files but any file in the directory. You will get the global revision, including images or .bib
files as well. Apart from svn it supports bzr and git.
On the other hand, it is an external shell-script and not a LaTeX package. Also you will only get the global revision number, not a more fine-grained result depending on current file etc. as svninfo
provides.
Supplement: Since it does not use svn properties and special lines in the TeX file, it is completely independent from the svninfo
approach and you can even combine both variants.
I Use package rcs and put
\usepackage{rcs}
in the preamble. Then, lines such as:
\RCS $Id:$
\RCS $Source:$
\pagestyle{myheadings}
\markright{\RCSId}
put version information in the formated document.
I notice that there is also a package rcsinfo with a similar purpose, but have not used it.