Too many authors spoil the manuscript?

February 22, 2014

I published a few single author papers in the short window between being a postdoc (working for the boss) and a faculty member (working for the group). I do love collaboration, especially when it goes beyond contributing data to shaping the narrative and presentation in a manuscript. As the average number of authors increases a linear procedure of passing successive drafts from X to Y is both inelegant and inefficient*.

I have detested MS Word since the day Clippy appeared**, so let's disregard any progress by MS Office in the cloud. We all know real scientists use LaTeX (my cocktail is MacTeX, Texmaker and occasionally Textmate). Many social LaTeX websites have appeared, e.g. Share Latex, but they currently seem clunky in dealing with packages, libraries and figures. One DIY solution I have been using in my group is Git. It may not be perfect, but whatever works!

Git is a revision control system used in code development. We have been putting codes and scripts online using GitHub, which offers free public Git repositories. The protocol allows you to keep track of any file type, so for LaTeX it works just as well. Of course, you don't really want to put your draft manuscripts in the public domain, but BitBucket offers unlimited free private repositories for education. The procedure is very simple***:

  • Initiate the repository locally

mkdir 2014-02_snso
cd 2014-02_snso
git init

  • Create the repository online

On the BitBucket website, complete the new repository form:

Bit1

  • Push to the cloud!

BitBucket gives you instructions to link the new online repository to your local files. In my case (from the same directory as above):
git remote add origin git@bitbucket.org:aronwalsh/2014-02-snso.git
git push -u origin --all # pushes up the repo and its refs for the first time
git push -u origin --tags # pushes up any tags

  • Write, share and maintain

Now for the easy bit: writing. Firstly, give all coauthors access to the repository. You can then simply add (or modify) files in the folder on your local machine and, when you are ready, "push" the changes to the online server. The latter can be done either using the command line or a GUI such as the one provided by GitHub or the more powerful SourceTree. Git will keep track of all changes made and you have the options to merge different versions or reject specific changes (e.g. from the author who insists on American spelling). You also have the option to ignore certain files types including all the auxiliary files generated you compile the TeX. So far, the system has been productive for me and avoids those "conflicting copy" errors that arise when using Dropbox for co-editing a manuscript. If you already use Git for software development, it is highly recommended.

Bit2

*One exception to this is a very fruitful collaboration I have with Shiyou Chen at Fudan University. An 8 hour time difference can be ideal for sequential drafting.
**Okay, I occasionally have to use Word when collaborating due to its ubiquity.
***Firstly, create a BitBucket account using your university email address.