TransWikia.com

Terminal (Console) client/server dedicated to real-time collaborative TeX editing

TeX - LaTeX Asked by linux786 on February 16, 2021

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.

8 Answers

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

Answered by Vincent Breton on February 16, 2021

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.

Answered by Yusuf N on February 16, 2021

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).

Answered by Marijn on February 16, 2021

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)

Answered by linux432532 on February 16, 2021

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.

Answered by BambOo on February 16, 2021

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.

Answered by Stephan Lukasczyk on February 16, 2021

@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

Answered by linux432532 on February 16, 2021

Not exactly like Gobby, but if you are comfortable with command line editors, then you could use tty-share, tmate open-source projects for real-time sharing/collaborating on your terminal application.

You create a shared terminal session, open vim or emacs and then share the URL with the remote participants which can collaborate with you in the same session and real-time.

Answered by Elis Popescu on February 16, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP