85

Are there any tools for simultaneous collaborative editing of a .tex file?

The practices I know (and practice) in writing scientific papers are:

  • e-mailing each new version to the collaborators,
  • working in a same Dropbox folder.

However, both are not meant for simultaneous editing, and are somewhat annoying.

EDIT:

A list is also here:
http://en.wikibooks.org/wiki/LaTeX/Collaborative_Writing_of_LaTeX_Documents

8

13 Answers 13

31

Overleaf -- (formerly writelatex.com)

Features:

  • no need to register
  • collaboration possible, by means of sharing the URL
  • documents can be saved, actually everything is saved automatically
  • advanced history and labeling when registered
  • instant compilation on-the-fly
  • possibility to upload files (pdf, png, sty, tex, bib, etc.) up to 10 MiB
  • rich text preview and syntax highlighting in the included editor

Screenshot:

screenshot

4
  • 1
    There is a new option that allows to send a watchonly link maybe this could be added to the answer Commented Sep 17, 2013 at 20:31
  • The downside of this is method is the lack of a revision history.
    – Gabriel
    Commented Nov 15, 2013 at 21:12
  • 2
    @Gabriel Now they have version history too
    – Elazar
    Commented Dec 21, 2015 at 0:17
  • 3
    Note that Overleaf is not free. Currently it costs $15/€14 per month for up to 10 collaborators in a project.
    – Max
    Commented Apr 28, 2021 at 15:41
27

I tend to use a version control system. My current setup is a (private) repository at Bitbucket, which uses Mercurial for version control. Access to the repository is then provided to other members of the team. This is as close as you can get to simultaneous editing, IMO.

It helps to divide the project into several separate files using e.g. \input or the subfiles package, as this minimizes the number of merge conflicts one encounters.

For actual simultaneous editing, you should use an editor created for this purpose, such as SubEthaEdit.

2
  • 1
    Merge conflicts are indeed a thang. Did you ever try having one owner of the repository and make co-authors clone it and submit pull-requests? I'm not experienced enough to know if this would make things better than the subfiles heuristic. Commented Apr 20, 2017 at 19:40
  • Working with pull requests does make it easier. Generally you shouldn't work directly on the master branch at all unless you're the sole contributor.
    – You
    Commented Apr 20, 2017 at 22:18
17

I would suggest https://www.sharelatex.com/.

The part which you would find interesting part is below:

[...ShareLaTeX..]

A LaTeX Editor for smooth collaboration

Keep your LaTeX collaborators up to date by letting everyone access and edit the same LaTeX document.

The days of making sure everyone has access to the latest version are over; the latest version is always available online. You can even work on the document at the same time as your collaborators with our real-time editor, and our built in chat will help you communicate while you're editing.

1
  • 2
    It seems like as of now ShareLaTeX has merged with Overleaf
    – Dr_Zaszuś
    Commented Nov 28, 2018 at 13:38
11

I don't have much experience with these, but they look like they might do the trick:

Gobby collaborative editor (has built-in chat features)

Or maybe:

LaTeX lab (for Google Docs)

2
  • I had a look at Gobby and thought it looked good. I haven't had the opportunity to try it out, though, but if I ever had to do this then Gobby would be the first I'd try. I believe that it has LaTeX syntax highlighting as well. Commented Sep 5, 2011 at 16:30
  • Does Gobby have Math support?
    – Royi
    Commented Aug 11, 2017 at 15:13
11

I'd say Authorea (full disclosure, I am a co-founder). Authorea is an online social word processor for the collaborative writing of research articles. It solves the problem that many scholars have when they tell their co-authors: "please do not touch the article, I am working on it". In Authorea, articles are modular (e.g. one module = one section). Only one article collaborator can check out and work on a module at any time, so that the entire article stays open for editing but individual elements are checked out and then checked back in with edits.

More information: Authorea's versioning control system is entirely based on Git (every article is a Git repository). But Git functions in the backend, so that users who are not familiar with (or do not care about) Git can just use it as an editor and still have all changes logged as commits. In other words, Authorea allows power users (who know Git) to easily write papers in collaboration with regular users (who don't know Git). Authorea's frontend allows you to enter text in LaTeX or Markdown, as well as figures, and equations (in LaTeX or MathML). Authorea renders and compiles everything to the web (HTML5), in addition to PDF (export to numerous journal formats is provided).

5
  • Nice to have co-founder in this thread. :) Anyway, this Git integration does not work - I set it but in "settings" it still asks me to set it up, and the only way to enter push/pull is to type link by hand. Commented Mar 30, 2014 at 15:52
  • Hi Piotr, mmm Github integration should work just fine. We have a lot of users using it successfully. If you click on settings it will ask you first to indicate your Github repo (and you will need the deploy key from Github) and then set up a webhook. It should take a few minutes at the most. If you have other problems, please contact us at [email protected] Commented Mar 31, 2014 at 16:29
  • The issue is here: authorea.com/issues/143 (I am not sure whether it is intended behaviour or not). Commented Mar 31, 2014 at 17:14
  • Great idea, however I was surprised to find out that article on this platforms are not private, seems like anything here is publicly available to any reader, unless you pay for the service, isn't it? (ok, one paper can be made public for free)
    – Rho Phi
    Commented Sep 18, 2015 at 21:31
  • Ciao Roberto- yes indeed. The platform is forever free for public content. We give one private article for free, plus you get extra free private articles if you invite your friends. Overall, we encourage researchers to write in the open, for we're passionate about Open Science. Commented Sep 20, 2015 at 10:03
7

Sagemath Cloud allows you to do all kind of stuff -- one of them is to have a two pane view of the source and a rendered view of the latex document. All edits can be done collaboratively in real-time; it uses the differential sync algorithm.

Bonus on top of similar solutions: You have a Linux environment, which allows you to not only store and process files, but also to write your own scripts to generate content and whatnot ...

It also have inverse and forward search, scales well to large documents (100+ pages), and takes frequent snapshots of all files.

Screenshot of the Sagemath Cloud latex editor

3
  • Welcome to TeX.SX! Commented Nov 4, 2013 at 20:57
  • @Harald Schilly is that a book that you are writing ? seems interesting !!!
    – Arkapravo
    Commented Feb 18, 2014 at 5:22
  • @Arkapravo: I got curious and poked around a bit. It seems it's "Prime Numbers and the Riemann Hypothesis" by Barry Mazur and William Stein. It's available here: modular.math.washington.edu/rh/rh.pdf
    – runejuhl
    Commented May 19, 2015 at 19:18
4

Collaborative editing has been implemented in various text editors. I believe I've seen it done with gedit, vim and emacs, but for a large LaTeX document, your best bet is probably to put everything in some kind of version control and split it into multiple files with a single master document that does \input or \include on the individual files.

2
  • floobits.com are a promising service with interoperating plugins for several editors (Vim, Sublime, upcoming emacs) AND web editor AND simply sync with a directory. Commented May 26, 2013 at 9:03
  • Does floobits support LaTeX editing? Commented Mar 16, 2023 at 12:35
4

You could all ssh to the same server and use screen or tmux in order for simultaneous access to the entire development environment, allowing you to switch among editors, control versions and run scripts to edit files.

This is different from the other answers (at the time of this writing) because it provides simultaneous access to the whole environment, whereas the other options are just editors (like Gobby) or distributed version control systems (like Mercurial).

If you do this, you'll want some way of viewing the output. One option is just using scp, since you'd be using ssh anyway. If the server is running a web server, you could also just move the files there. When I'm working like this, I tend to run this line a lot.

$ pdflatex foo; bibtex foo; pdflatex foo; pdflatex foo; sudo cp foo.pdf /var/www
1
  • cloud.sagemath.com now provides full shell access combined with a LaTeX editor, which is a powerful combination. Commented Nov 7, 2013 at 19:12
3

I like to use git combined with git-latexdiff to nicely visualize changes.

Everyone editing should just make a different branch. Finally the lead author can just merge branches and go ahead with the compiled document including all the changes.

2

For real simultaneous work, you might consider any of the etherpad clones (e.g. titanpad). It even has history replay so you can go back and see what you had before. You can even have your own installation. The downside is that it can only do text, and to see the TeX output you would have to compile it somewhere else.

I would definitely recommend some sort of version control. (Even if you were the only author.)

2

I’m the creator of Codr, a collaborative code editor for the web. I created Codr because I couldn’t find a “Google Docs for Code” product that met the following criteria:

  1. Built for code. Codr supports over 100 programming languages (including LaTex).

  2. 100% collaborative. Every cursor move and selection change as well as edits are instantly relayed to all users.

  3. Blindingly fast.

I'm hopeful that Codr is more or less what you are looking for. Codr has been in development for over a year and the core features are complete. I'm launching a Kickstarter campaign on Tuesday to bring it to the finish line.

Check out the campaign video at http://codr.io or follow on Twitter at https://twitter.com/CodrEditor.

4
  • 1
    It looks like the last tweet was 4.5 years ago, when it's Kickstarter didn't make it. Is it available to the public?
    – Teepeemm
    Commented Feb 3, 2020 at 20:29
  • Unfortunately, this project seems to be dead. Yet another good example why proprietary software can be a bad choice. Now, nobody can fork or update the codebase.
    – Hagbard
    Commented Oct 22, 2020 at 9:47
  • Hey, Alden here. I actually did open source Codr when I shut it down. But the reality is that a successful open source project, much like a commercial one, takes ongoing work. I’m not sure how the ability to fork the code really solves anything directly, esp. for a hosted project like this that needs ongoing maintenance and security patches.
    – alden
    Commented Oct 23, 2020 at 13:12
  • (Very old) code is here: github.com/aldendaniels/codr-io
    – alden
    Commented Oct 23, 2020 at 13:13
1

Another browser based solution can be found at Online LaTeX Editor which also provides a native Android application called VerbTeX. Both support collaboration and code merging in case of conflicts while working simultaneously on the same document.

1

If you have any concern about confidentiality, you may try to host an installation of https://github.com/geier/ethertex yourself (suggested by FSMaxB in his question Selfhosted collaborative webbased LaTeX editor).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .