If you've never used CVS before, you should read up on it first, for example in http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/cvs/ USING CVS FOR EDITING PAPERS CVS was designed for source code, not latex files, but we have found it can still be useful when more than one person is editing a paper. One thing it doesn't deal with the way one might wish is white space. If you take a file without line breaks and add them, and then try to resolve conflicts with a co-author's version without line breaks it will be a hopeless mess. In general, it works well if the different authors each work only on distinct sections of the paper at any one time. Also, if you aren't using an editor that adds line breaks, your paragraphs will each be all one line as far as diff is concerned, which makes it much less useful. Before checking in major changes, add line breaks. (In emacs, you do this by selecting sections and using M-x fill-region.) If you've got your CVSROOT variable set, here are the basic instructions for putting a paper draft under CVS. Make sure it's in a directory with a good, descriptive name. Then make a backup directory and move all the generated files there (.bbl, .dvi, .pdf, .eps, etc). You should basically just be left with the .tex, .bib, .cls and possibly files used to generate figures (e.g. AutoCAD or xfig files, not the .eps files generated from them). Then make backup copies of these files in the backup directory too. Now, from within the directory, import the directory & its files into cvs, *under* the existing cvs directory papers. E.g.: > cd mypaper_directory > ls paper.tex paper.bib paper.cls > cvs import papers/mypaper_directory cadml r1 CVS will bring up an editor window for you to add a comment, then report something like this: N papers/mypaper_directory/paper.tex N papers/mypaper_directory/paper.bib N papers/mypaper_directory/paper.cls No conflicts created by this import Now check out a copy in the shared papers directory in testdir, and either put all the .eps files or links to them in there. Made sure they are group cadml and group readable. If you keep the original .eps files in your own directory, make sure both the files and the entire path to them are group readable/executable by group cadml. > cd /home/cadml/testdir > cvs checkout papers/mypaper_directory > cd papers/mypaper_directory > chmod g+s . > mv ~/myfolder/mypaper_directory.bak/figure.eps . > chgrp cadml * > chgrp cadml CVS/* Then run latex and bibtex to make sure everything is there and working. Anyone else working on the paper will be checking out the directory and making symbolic links to the .eps files you just put in this shared directory. Whenever anyone checks in changes, they should do a cvs update in this shared directory and run latex again to make sure that it will all still work for other people (to make sure you aren't relying on any local files you forgot to check in or provide links to in the shared directory). At this point, you should go back to your own directory where you checked things in from, delete the directory and its contents, and check them out from CVS instead. Then, from your backup directory, you can move back any files you want to keep that you didn't want to put under cvs. Add symbolic links to any files you moved to the shared testdir directory. > cd ~/myfolder/mypaper_directory > cd .. > mv mypaper_directory mypaper_directory.bak > cd > mkdir papers > cvs checkout papers/mypaper_directory > cd papers/mypaper_directory > mv ~/myfolder/mypaper_directory.bak/myPersonalNotes.txt . > ln -s /home/cadml/testdir/papers/mypaper_directory/*.eps . Now when you run latex in here, everything should work. But now you will be editing a .tex file that's under CVS and sharing edits with the other authors when you check them in. Make sure you edit this copy of the file, not the copy in the shared directory. All you should be doing in the shared directory is adding figures or symbolic links to figures as needed, running cvs update and running latex to make sure everything still works.