Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

We want to write a bigger document in collaboration. Therefore I've got some questions how to organize this best.

  • so we would have one master document including (or inputting) all the parts of the "book" -- is this the right way to do it? If one is working only within one part he need's to compile everything to see the results -- is there a handy way to handle this more efficient?

  • are there any other packages, latex-routines etc. which could help working on one big document?

  • we would have own packages providing some own styles, environments etc.

  • I thought a svn might be useful, but the only common available space we have is a simple ftp-server..

I really would appreciate some ideas and tipps before we start writing a collaborative work..

share|improve this question
1  
Maybe you can start a git project from which everyone creates a fork. They can run their project locally and commit their changes. You can then merge changes into a full document –  Martin H Dec 7 '12 at 13:43
1  
Thanks for the idea. I'm quite new to git. So I created a group on github and a project with a main branch. In this branch there are the folders for the several chapters and the main document. So what would users now need to do? I want the packages to be up to date and shared for every user. But now, for example one user works on Chapter X the other on Y. Or sometimes it could happen that two work on the same. What happens then? –  meinzlein Dec 7 '12 at 15:06
1  
Here's a book on git and also videos. Presumably you won't need much more than the basics. –  Alex Dec 7 '12 at 15:50
    
I currently do a some 200 page document with 10 people. I am the only one that uses git, all others have to confine themselves to a single file. If you have the time (and power), require everybody to use git (or Bazaar or Mercurial), it is definitly worth it! If you only have a FTP server, Bazaar might be better than git, since Bazaar can push to FTP, whereas git cannot. Bazaar is easier to install on Windows as well. –  queueoverflow Dec 31 '12 at 15:36

4 Answers 4

If you can use a shared master document and \include each person's chapter then things are easier. People can use \includeonly to just process their own chapter most of the time, to speed up processing.

There are packages around (combine has been mentioned on this site a few times recently, although I haven't tried it) that help with more complicated setup where each unit is a separate document with its own preamble and packages, but LaTeX wasn't really designed for that and so they are necessarily rather fragile. Sharing classes and packages is probably anyway good practice to get consistency over the document as a whole.

If it is a large document with multiple people working on it some kind of source control can't be a bad idea. If everyone has internet access (at least sometimes, to sync up with everyone else) then there are plenty of free hosting options for source control these days (googlecode github, ...)

share|improve this answer
    
Is it that if one uses \includeonly others can't include there stuff because of the\includeonly in the master document? –  meinzlein Dec 7 '12 at 13:43
    
@meinzlein, \includeonly will help each one of the colloborator to compile their own chapters ONLY inorder to save time as @David Carlisle has mentioned. Once all chapters are ready you can compile the whole book with \include. –  texenthusiast Dec 7 '12 at 14:08

I have most of my recent TeX projects in git repositories, and according to its man page git supports ftp.

share|improve this answer
    
Last time I tested, it did not work with plain FTP, at least not with my FTP server. –  queueoverflow Dec 31 '12 at 15:37

You might find latexdiff useful if you want to easily see the changes made by your collaborators since you last checked. It works a bit like the diff command-line utility, except that it outputs another valid LaTeX file which you can compile and which shows the additions highlighted in green and the deletions struck through (I think - it's been a while since I used it, but it certainly does some nice formatting).

Another option to consider is an online editor like ShareLaTeX. You could have one copy of your book hosted there which everyone can access and edit online. There's no need to worry about passing changes around since you can work together in real-time if needed. (Disclaimer: I'm one of the developers of ShareLaTeX).

share|improve this answer

To keep a common repository for files, I recommend Dropbox (free up to a couple of Gb; or something similar). I use Dropbox both for collaborations and for keeping a small repository of my own files. this way I can access them as long as I have a computer with internet access. Caveats include that persons can unknowingly edit the same file at the same time ending up with a conflicted copy, versions by two simulatenous authors will, however, not overwrite each other. If the files include large volumes of figures so that the end product is very large, the synchronization may take time. But, these issues can be worked around by setting up a few ground rules in the colaboration.

I have found the Wikibooks page on collaborative writing and the PracTeX paper by Henningsen quite useful.

share|improve this answer
1  
I've recently used dropbox to write a paper with other people. It was pretty annoying. Whenever someone ran latex inside the dropbox it started synchronizing all the log, aux etc. files. And as you mentioned, conflict handling is pretty poor with dropbox. –  Alex Dec 8 '12 at 13:26
    
Try git with Dropbox. You need to create different folders for each person and let them push only to their folders. –  queueoverflow Dec 31 '12 at 15:38
    
@queueoverflow so what's the advantage with respect to git without Dropbox? –  Federico Poloni Dec 31 '12 at 16:03
    
@FedericoPoloni You will need some way to get the changes from the other people. This can be GitHub, your own server with SSH access, local network with SSH or running around with thumbdrives. Dropbox is just a way to get the files across, not for source code management itself. –  queueoverflow Jan 1 '13 at 18:17

Your Answer

 
discard

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.