10

I am looking for a Terminal (Console) client/server, which is really dedicated to collaborative TeX editing. It should be in real time like Gobby for instance. You may see what colleagues typing over the network (intranet). A server and several clients for collaborative work.

The console or terminal means that it must be working under a classical unix terminal (Linux or NetBSD, or FreeBSD).

There is vim or emacs, but they are aimed really at many things, but not really directly dedicated to TeX. There are many posts about graphical applications such as gobby or even web server platforms, such as sharedlatex...

I could really find no client for terminal that can do single. No single application do exist today. That's quite sad since TeX is so cool and important for publishing.

A sort of nano for collab editing would be perfect. It should have a key binding (example F5) to compile a pdf using pdflatex and bibtex... Then, everyone on the network, could open himself the way he wants the created pdf. Complete freedom and no slow, bloated, high pricing, Web Share TeX websites ;) The solution should be free, opensource, and for everyone.

Here please fell free to give ideas if a dedicated server/client for terminal interests for collab editing for TeX may be existing one day? Who really knows.

9

Besides what @Marijn already mentioned, I want to suggest another possibility.

I think it is the best to stick to tools like vim or emacs as they natively live on the terminal. What I already did for a remote pair-programming session (I know, that's quite against the concept of sitting next to each other, but sometimes it's impossible and one has to work from remote) is, that one opened vim in a tmux session and the other one logged in on the first guy's machine via ssh and connected to the same tmux session. Using this setup, both are able to see the code at the same time.

For collaborative document editing I additionally would suggest to have the generated PDFs on a shared file system, e.g., NFS or SSHFS. Then both of you have also the result shared.

Nevertheless, if you do not have to have this pair-programming-like scenario, I would stick to hold the document's files in some kind of version control, e.g., git, which enables you to work both on the same document. Furthermore, each of you is able to have his/her own tool chain, thus nobody needs to learn, e.g., emacs if she's a vim user.

5

If you want to work on a file with multiple people simultaneously (i.e., two people having the file open at the same time, editing, saving and/or compiling) then a version control system is recommended, such as git or svn.

If you just want to edit a LaTeX file remotely, then Vim with an extension such as vim-latex (http://vim-latex.sourceforge.net/) or emacs with AUCTeX (https://www.gnu.org/software/auctex/) is suitable. The extensions contain many LaTeX-specific (o.e., dedicated) tools and commands, including compilation from within the editor.

When using nano you can't compile directly from the editor. However, in Linux you can watch a file with a second process and execute a command, such as a LaTeX compiler, when the file changes (e.g., https://superuser.com/questions/181517/how-to-execute-a-command-whenever-a-file-changes).

4

You could use the Atom software with the brand-new teletype package https://teletype.atom.io/

Since Atom is highly customizeable, i you can tweak it to be aimed at tex editing only (multiple packages exist for this purpose) and teletype allows to share documents in real time between contributors.

It is not a console software, so that's one big drawback, but maybe you could have a look at it, just in case, since this solution seems to cover all other points of your demand.

3

Visibly user trying to help do not have notions about sockets and networking ;) Your answers aren't replying at all the user OP.

vim --servername testserver

is the solution.

Alternative, more difficult to find on LINUX, it is HERMES: https://docs.google.com/presentation/d/1d8FbXWBz2Ih0aPLtJc6MTJq6t6tbwiN2zyQtFPKGazA/edit#slide=id.g19c1bcbab8_0_0 Hermes is a multiuser collaborative text editor for ncurses.

Unfortunately, there is only VIM that is by default on Linux and that does this in a console or terminal, and has this feature of collaborative edition.

Just go for gobby with graphical apps, is the only way you can still edit together with colleagues.

(sorry for bad answers above. I hope that I could improve significantly quality of answers)

  • 2
    FYI, in general there is no unique answer to a given question, so IMHO comments like "is the solution", "only" or others are quite overstated. Who knows, you may learn something here ;) – BambOo Mar 29 '18 at 22:40
  • 2
    @linux432532 +1 for the answer but do yourself (and us) a favour and get rid of the patronising and condescending language – DG' Mar 30 '18 at 7:47
0

I wrote articles with 10s to 100s of pages using emacs, with its latex-mode and syntax coloring in pure text console.

For collaborative work, I use version control such as subversion, with the documents stored in a server repository, such as through svn+ssh.

Emacs has shell tool, build/compile tool, version control tool, and many others already included as part of the system. You can play games inside emacs in console.

I'm not sure why you say emacs is not a good choice for tex, unless you want graphical display in text. I never had trouble understanding tex syntax that I wrote in emacs, and what I wrote is exactly what will be processed and rendered, so I never had to worry about the format, and only worry about the content.

0

@Marijn: few important basics that you may need to know: 1) GIT and SVN have nothing to do with real-time collaborative edition. GIT is based on commits (pull). SVN has a relatively similar approach. 2) Using Screen or Tmux allows viewing only!!

Real time collaborative as the user mentioned is based on a server (socket open) that deals with several clients (over the network).

More reading is here: https://en.wikipedia.org/wiki/Network_socket

A very simple to understand presentation that explains this is the above mentioned slides about HERMES. You may have a look really.

See Vim for a better understanding: http://vim.wikia.com/wiki/Enable_servername_capability_in_vim/xterm

I hope that it helps !

Thank you

  • 2
    Note that the original post didn't say anything about real-time collaborative editing, remote pair programming or such concepts. For regular (asynchronous) collaborative editing a version control system like git/svn is preferred. I agree that the original post may have been intended to ask about real-time collaboration, the reference to Gobby is a clue - I admit that I missed that. However, the post is not very clear on that, and there is no need to tell me I got it all wrong and to explain to me how a network works. – Marijn Mar 29 '18 at 21:48
  • Other than that, the information you provide on vim etc. is indeed useful, thanks for sharing :) I upvoted your answer above. – Marijn Mar 29 '18 at 21:49
  • (1) Collaborative edition has today a clear meaning. (2) Furthermore, gobby + sharelatex.com makes it very obvious. (3) Client and server deal with networking/socket. - I hope it helps! – linux432532 Mar 29 '18 at 22:08
  • I appreciate the comment, despite your note. I think that I received many comments or answers that absolutely nothing to do with my thread title. What's the point with Tmux, screen,... I hope to receive better answers. I will post on Ubuntu forum similar question to have more inputs and maybe better solutions. Thank you everyone anyhow. Thank you for the post HERMES, it looks great. Hermes is however not in Debian repositories. I did not find a way to compile it. :( – linux786 Mar 30 '18 at 10:24
0

You can start with a Linux server on a RaspberryPi with Raspbian and access to remote bash commands (nano, emacs, vi) with putty software.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.