Monday, November 07, 2005

Tracking changes in Emacs/LaTeX

Probably the only thing I like about Word is the Track Changes feature. Once you turn it on, you can track all changes you make to a document, and when you have multiple co-authors editing, this can be handy when attempting to resolve disputes. Also, often what happens is that I make some changes that my co-author doesn't notice because they are buried deep in the middle of a section, and it would help to have some way of marking these up.

Most people I know have some kind of \note mechanism for making margin notes, but that doesn't help with changes that you know you want to make, but also want the co-author(s) to look at. Does Emacs/LaTeX have macros for tracking changes in documents ?

p.s for those of you who will immediately write in suggesting that I use CVS, remember that I am behind a firewall, and even if I weren't, CVS is a heavy hammer for something as simple as this :).


  1. How about darcs (or bzr depending on your taste)? Same idea as using CVS, but firewalls don't matter (the former is even catered to email), and it's certainly not heavy (especially, in comparison to the resulting utility).

    The only question is how to get one's co-authors to use it too... 

  2. Nope. again, this is overkill. I don't deny that CVS-like systems can be used for this, but as you point out, I have to convince my co-authors, and the odds are higher that my coauthors use emacs/latex than any kind of version control. 

    Posted by Suresh

  3. - emacs has cvs, rcs, and sccs support (but rcs the best)

    - for low-tech, nothing beats diff. It forces you to look at the changes. everybody has it already. works well for two people writing/editing at the same time.


    Posted by Mitch

  4. The actual source of your problem is having co-authors. How about writing solo papers only? ;) 

    Posted by MCH

  5. How about marking the text in a different color? 

    Posted by Anonymous

  6. How about a different hammer ?

    If you have used Eclipse for development, then you know that
    it comes with quite sophisticated history/tagging support.
    There is a latex plugin for eclipse (eclipse can do everything!)
    that will allow you to use this for latex (its been a long while
    since I tried this, I don't know the current status of this plugin).

    When in doubt, use
    all CAPS. Screaming generally gets everyone's attention.


    Posted by Amitabha

  7. I use a combination of the following.

    - plain old diff is very good if you want
    to know what the changes are.

    - caps/bold font or margin notes
    to draw attention of the co-authors.

    - there is a program called texdiff that takes two
    texfiles and produces another texfile that can be
    compiled. puts the old stuff in brackets or
    in a different color. not very robust though.

    - psdiff compares two ps files and to some extent
    shows where the changes are. useful when one doesn't
    have tex files.



    Posted by Anonymous

  8. I use changebar: 

    Posted by Andrea

  9. changebar is interesting. However, it doesn't appear to work with pdflatex. I can try it when not using pdflatex 

    Posted by Suresh

  10. Emacs+ediff gives nice highlighting and step through changes. Good enough to see what my coauthor has/hasn't done in their pass. That's usually enough for me.

    I tend to suck at well organized cooperative working: version control via email not CVS, and one big tex file instead of sections as separate files is the norm. But it seems to work OK for me.

    Graham Cormode 

    Posted by Graham

  11. CVS has been thoroughly superseded by Subversion  (similar concepts, much cleaner, more modern and robust implementation). Subversion is integrated with tools like Eclipse.

    And yes - this is what version control was invented for... Subversion in particular offers features designed to safely support distributed work (multiple authors). In particular, it's simple to get a line by line breakdown of authorship/revision.

    Much more information via that home page, including recommendations of client software. Subversion is often configured for http/https access and is readily available at hosting services, so a firewall is no problem at all. Extraordinarily high quality software too. (No, they're not paying me to write this; I just use and administer it with coding teams on large projects, and would never write a line of personal code without having Subversion manage it.) 

    Posted by Toby

  12. cvs-mode in emacs should do exactly what you want. If you want it to be similar to tracking changes with word, then you can use rcs-mode and lose the advantages of having a common repository. But you can just pass the .tex,v file around and it will have all of the revision history attached.

    If you want to go more modern, darcs *is* really nice, and has a "use http" mode that means it gets past every firewall except those that block web traffic. 

    Posted by Peter Boothe

  13. Personally, I'm in love with bzr . Supposedly, its "unstable" but 0.6 has never given me trouble. The simplicity and the ability to get around a firewall easily of bzr is just wonderful. No need for a server. Just ssh the directory back and forth.  

    Posted by Jeff Hodges


Disqus for The Geomblog