Go to page:

Search:   Help

Developers' side bar

Selected categories


Shared groups



Categories: Development, Misc
<< | Page list | >>

This page is a collection of opinions, feature requests and ideas for improved collaboration between LyX users and non-/other LyX users.

Ideas, Proposals or Features

LyX Chat

Turn LyX into a powerful, rich-text, interactive chatting tool:

  • a fully working QXMPP-based implementation, also interoperating with text-only clients (e.g., Pidgin), is available, was just rebased on Oct 2016, and is being discussed at:
  • current status summarized in dedicated page: LyX Chat

Interactive LyX

Turn LyX into a peer-to-peer distributed & interactive on-line document editor. Key elements of the idea are:

  • one user shares a LyX document with one or more users
  • then, any editing action (LFUN) dispatched by any of the users is serialized, transmitted & replicated on the LyX document replica of the other users
  • a basic proof of concepts (very unstable) was sketched out as lyx-collaborate-* attachments to: http://www.lyx.org/trac/ticket/7964 (but beware, the ticket focused on the chat concept, the one just above in this wiki page)

Several technical issues:

  • how to make users see each other and connect, in presence of firewalls & NATs
    • a server sounds reasonable, e.g., a XMPP server, solving also the issue of letting users name & find each other
  • how to ensure that all users see and apply the same order of edits
    • there's PAXOS for such things, but probably too complex
    • simpler thing is letting the user sharing the doc act as a master
  • what to do when one of the editors goes off-line, namely how to allow for a re-sync on re-connect

This was somewhat discussed on the mailing list in preparation of a GSoC proposal for 2013 that wasn't selected in the end:


Content-only collaboration:

Usually only one author governs the layout, so when you share your document with a co-author, you only want him or her to edit the content. Ideally: you save your document as plain text, your co-authors can open this plain text in their own editor, edit the text, give back another plain text file and you now want to merge this plain text file with your LyX file and accept/reject the changes.
  • the plain text format is a problem at its own,
  • this requires your collaborators to save their documents as plain text, or save it in a format you are able to convert to plain text yourself,
  • you'll need structure in your plain text document.

Lightweight LyX?

Develop a parallel ultra-light-weight full-view LyX version with these features:
  • able to edit text (and structure) of conventional LyX docs
  • unable to edit/delete/copy ERT or items explicitly banned by original author
  • no LaTeX installation, no need of compiling features (WYSIAYNTK: what you see is all you need to know)
  • full version control system activated
  • some very simple alternate output feature to print (or save) a simple representation of the content
  • can enable citation dialogs and any other stuff which do not need LaTeX
  • should handle bibtex and external files if possible
  • very fast installation (or no installation at all?)
  • still need to have people using a new application
  • possibly hard to develop and maintain
  • no chance for collaborator to know if something goes wrong with the file
  • Only as useful and effective as the degree of LaTeX (or external features) support in LyX view
  • LyX itself is pretty light-weight, but:
    • it might be helpful to make an even simpler installer (for those who want) such that it feels light,
    • LyX should operate well without a LateX distribution.

Merging/Diffing(?) of two LyX files:

Diff two LyX files and show the differences which can be accepted or rejected.

Right now, we have 2-way merge in the form of Tools-Compare.

This can be done

PDF-based Collaboration

There was a large correspondence on the Users' list about the use of the PDF format with annotations for collaboration.


Etherpad (http://etherpad.org) is now open sourced (and packaged for debian). It allows realtime collaboration between multiple users. thinking out loud here but... Ideally, LyX could use etherpad as a backend or perhaps push/pull updates

Some early scripted syncing with Ruby http://jdleesmiller.blogspot.com/2009/05/amazing-ruby-rake-etherpad-latex.html

Web Based Options

There have emerged a number of online LaTeX collaboration tools that are useful for collaboration. Two of particular mention are:

FidusWriter http://fiduswriter.com(approve sites)
ShareLaTeX https://www.sharelatex.com/(approve sites)

Fiduswriter is in beta but has full source code available. It aims to create an easy to use WYSIWYG interface with a LaTeX back end. It certainly doesn't support all the features of LyX files bust may be a useful means of getting feedback on documents in process and then embedding these back into a LyX document. Further custom style support would be good and is a requested feature. ShareLateX is a more complete implementation together with file manager and template/image support. It allows for real-time collaborative editing. It uses TeX files, so one means of interacting is to export TeX from LyX and then edit online before re-importing. ShareLaTeX is partially open source, see https://github.com/sharelatex/sharelatex These software help address some of the issues of editing docs collaboratively but arguably involve more file transfers than using a version management backend. Where they may be useful however is in getting users who are unfamiliar with LaTeX or unwilling/unable to install a LyX to edit files in a format that can still be merged back relatively easily.

Wiki based collaboration

See also:

Related Issues

  • When sharing your document with other LyX-users calls for the related issue of bundling your LyX file with the external files like images, .bib etc.:
  • Version control also plays an important task in the process of sharing your document:
  • Improvements wrt exchange:
    • Detect possible conflict, before merging happens.
    • Add file locking mechanism for svn
  • Change tracking and visualization


Category: Development, Misc

Edit - History - Print - Recent Changes - All Recent Changes - Search
Page last modified on 2016-10-09 23:45 CEST