My preferred writing mode is LaTeX under Subversion. But what do you do if you’re collaborating with others, and not everyone is LaTeX-keen? What kind of options are there for collaborative writing?
I have a few requirements I’d really like to meet.
Requirements
- Plain text
I would prefer that the document is stored in plain text—this is one of the only formats that have survived for the last two decades. I can still read plain text files from the 1970s, but I have a hard opening anything else on my Mac. Hell, I have a hard time with the Frame5 documents I created in 1996.
- Version control
I must have version control over the document. There is no sense writing collaboratively if you can’t safely edit over each-other’s text. This way, you can get into a working mode where each author feels free to work on any part of the document. If one makes changes the other genuinely doesn’t like, this doesn’t matter so much, because you can roll back a rev and recover the text. Hence, automatic versioning is critical.
- Backups
When I check things into my Subversion repository, I know that they are not only versioned, but backed up several times a week. I must have the same security in any collaborative writing program I use.
- Offline
The solution must work when I’m offline. This rules out most web-based collaborative writing tools (eg. Google Documents).
There is, however, one critical requirement put forward by my colleagues:
- No control codes
My colleagues don’t want to write directly in LaTeX. They have little desire to be typing in control codes to format their text. I, personally, like having a Turing-complete word processing system…
What does this rule out?
- Word is ruled out by my requirement #1. Current versions of Word cannot reliably open even old versions of Word documents. Therefore, no writing solution I use will be based on Word. (Or anything else with a closed document format).
- Google Documents does not work offline, meaning I can’t write a paper while on a long train journey in the UK. This defeats the purpose of having a 13″ laptop, if I can’t work on collaborative documents while away from the Interweb. A whole host of other on-line writing solutions are not viable as a result of this requirement as well (eg. Writeboard).
What does this leave available?
- OpenOffice is possible. It does use the Open Document Format, which is encouraging—XML will, as we all know, save us from oblivion someday. It does have change tracking, but not quite versioning (so it would have to be checked into a Subversion repository). OO provides no particular help with backups.
- LyX is a WYSIWYM (what-you-see-is-what-you-mean) LaTeX processor. You edit text, highlight stuff, and say “Title”, or “Section”. It makes it bold, or centers it, and so on. Actually, it’s really quite nice (for five minutes of usage, anyway). I found an interesting thread at the Ubuntu Forums where users were discussing LyX for collaborative writing in academia. This was encouraging.
If I had to pick a tool right now (which I said I would pick one over the weekend), I would pick LyX. This is because I can, if I need to, export to LaTeX and do any really hard tweaking (or supporting of journal-specpfic styles) that way, or (for most cases), I don’t need to. Also, looking at the features of LyX 1.4 (current stable is 1.4.3), the change tracking, notes, and some other features look like they’re just what are needed for multiple people working on a document. Put another way, the native format of LyX is plain text (check!), it can easily be checked into a version control repository (check!), is therefore easy to backup (check!), is a WYSIWYG/WYSIWYM word processor (check!), and it supports WYSIWYG change tracking (with different colors, and change bars, and the whole deal).
So, I’d suggest LyX for collaborative writing in the sciences, unless someone suggests otherwise. I will probably still prefer LaTeX and a plain text editor, but I may change my mind someday.
