TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Whenever I write a collaborative document, it undergoes a lot of draft changes. Apart from maintaining the change history in svn, how can I maintain the change history in the tex document itself? I also want it to reflect on the generated pdf.

share|improve this question
Since you keeping the change history in svn, I would simply define a command version is that what you are looking for or are you looking for something to diff? – Yiannis Lazarides Dec 5 '10 at 16:30
Probably you will need [changebar.sty][1] to mark the revision. [1]: ftp.jaist.ac.jp/pub/CTAN/macros/latex/contrib/changebar/… – xport Dec 5 '10 at 16:37
Any thing with the revision-control tag should be useful, such as the following questions: tex.stackexchange.com/questions/161/… tex.stackexchange.com/questions/1325/using-latexdiff-with-git – Niall Murphy Dec 5 '10 at 18:24
What exactly do you want? A list of changes somewhere in the document (eg in the appendix)? Highlighting changes directly in the document where they occur? If so, how many revision? Or do you only want to print a version number? – Caramdir Dec 5 '10 at 18:46

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

% Start of the revision history table
  \vhEntry{1.2}{03.02.04}{DP|JPW}{revised after review}

Use the tablegrid option if you want to "display a grid in the table representing the revision history."

Example vhistory output

enter image description here

share|improve this answer
vhistory is exactly what I was looking for! Thank you very much, sir. – Florian Margaine Oct 24 '14 at 19:19

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.

share|improve this answer
can vc also do the communication (up/download) with a repository? I didn't know it. – Herbert Jan 4 '11 at 21:13
No. It basically just does a svn info and puts the resulting data into a tex command. – Carsten Thiel Jan 4 '11 at 21:17
But then a combination of vc and svn seems to be possible? – Herbert Jan 4 '11 at 21:37
@Herbert; Indeed. I just thought of that myself and added it. – Carsten Thiel Jan 4 '11 at 21:39

I Use package rcs and put


in the preamble. Then, lines such as:

\RCS $Id:$
\RCS $Source:$

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.

share|improve this answer
and also a package svninfo – Herbert Jan 4 '11 at 18:46
and svn-multi which supports multi-file documents. – Martin Scharrer Mar 24 '11 at 18:52
and gitinfo... – Brent.Longborough Mar 18 '13 at 19:29

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.