Guest post by SpanDeX.io
Collaborating on LaTeX documents is a huge pain. When two people need to make changes it can be okay, but emails back and forth are annoying and merging changes can take time. When there are more than two people, the problem compounds and can eventually become unbearable. Some LaTeXers have taken to putting their files in Dropbox and collaborating that way. Unfortunately, this still has the problem of coordinating when someone is making a change, and if you’re in the middle of a big edit and your co-author saves their own edits in Dropbox, all your changes will be overwritten. This post will explain how to use SpanDeX to eliminate this issue and use Dropbox to collaborate completely free of worry.
SpanDeX has a built-in online editor to make it easy to use and collaborate with LaTeX without having to worry about maintaining a LaTeX distribution and keep track of versions. What some people don’t know is that you don’t necessarily have to use it to edit your documents.
Though actually using these features will require that you have a Pro license, for a limited time you can get one for free for a month if you sign up for a free account and email me at gregori@spandex.io with the email you used to register and your thoughts on this post.
The first thing you need to do is sync one of your projects with Dropbox. You can do it either from the dashboard by clicking “Sync with Dropbox” or from within your project by clicking “Export & Sync” and selecting “Sync with Dropbox” like so:
Follow the steps to auth SpanDeX with your Dropbox account. After a few seconds, the project should sync with your computer:
Now open a text editor that will update the text buffer if the file changes in the background. I don’t have a list of these editors and they aren’t technically necessary, but they’re more pleasant to work with than editors that don’t do this. I’ll be using MacVim.
Open the TeX file on your local machine. It should be in your “Apps/SpanDeX.io” folder in your main Dropbox directory. I used the basic lab report template in SpanDeX to create this project, so in there I changed “Experimental Data” to “Experimental Information” on my local file, and before it updated the online copy, I changed “Sample Calculation” to “Sample Calculations” via the online editor. Now, SpanDeX only syncs every few minutes to Dropbox so you could wait for the changes to take effect, or you can manually tell it to sync. When the sync completes, we can see that both the online and offline copies of the file have both changes.
Now I’ll make a few changes online again, and then navigate to the Project History page.
Here we can see the kicker: All the changes appear in the version history in the order they were made. SpanDeX treats changes online the same as changes from Dropbox. Soon we’ll be adding accept/reject features, and you’ll be able to treat Dropbox edits the same way as online edits.
Just a note: This feature is still in beta. It works, but we’re still refining it before we put the final seal of approval on it. That said, please enjoy! If you do find a bug, let us know and we’ll stamp it out.
Hopefully this was informative and useful for all of you TeX Blog readers! Be sure to grab your free one month Pro license and let me know what you think of this post and of SpanDeX!




January 24th, 2013 at 2:25 pm
How does SpanDeX handle conflicts?
January 28th, 2013 at 4:23 pm
Hey Ed, sorry for the wait on the response. SpanDeX handles conflicts through Dropbox fairly well. In most of our testing as long as the dropbox user saves their work frequently (which we should all be doing anyway), SpanDeX knew what to do with disparate changes. In a couple edge cases (where lots of changes happen online and off but dropox sync is disabled for some reason) bits of the document will revert to the last saved version but we’re hammering all those edge cases out as we speak. Hope this answered your question!
January 25th, 2013 at 8:00 pm
Nice post, thanks!
My first choice for this would be to use git/svn/mercurial/bazaar/whatever cvs, probably having as many separate files as possible to let the tool handle conflicts more nicely (they are all based on text diffs).
Also, I reckon google docs with http://latexlab.org/ is another possible choice, havent tried myself though.
January 28th, 2013 at 4:28 pm
I’m glad you liked the post! We do have our own backend that looks at the text diffs as granuarly as possible. It hasn’t been completely integrated with Dropbox yet but it will be soon and once it does should deal with all conflicts as cleanly as git can do, but theoretically should work even with changes that git couldn’t merge automatically.
For those that prefer their old school CVS, we are also adding git support soon so you can look forward to that!