I’m currently writing a report in using Overleaf. As I’m getting the premium version for free through my Uni, I’ve had no problems so far. Now I’m working in a place with unstable internet and using Overleaf has become very annoying.
Are there some good FOSS alternatives out there, preferably where I can just upload my Project.zip and continue working offline? I have no need to collaborate with anyone or anything like that.
Currently I’m looking at LyX, but I’d be happy to hear about your experiences with that or other programs.
I’m writing a thesis using https://typst.app
I was hesitant to use it at the beginning but in the end, it’s one of the best choice I made so far.
“Select where you heard about typst”
-> FediverseFinally somewhere that actually has Fediverse as an option, this must be a good app.
You’ll thank me later…
This, I also used to create a CV in typist, after a really frustrating experience with LaTeX and the difference is night and day.
And the best part is that errors are actually understandable, so you can actually fix them
Out of curiosity, what program are you using to write? I think I saw they have a web editor, but I there’s a neovim plugin (and maybe an LSP) as well I think.
Vscode with typst-preview plugin. A wonderful combo.
I use VScodium with some plugins. But writing in any editor and running the typst executable with the “watch” argument is also an option. That way as soon as you overwrite the source file a new PDF is generated. In that case I use Okular which auto refreshes when the open document changes.
Combine with git and you now have a good way of keeping track of changes as well of you have to collaborate with others.
Geez you really can use git for everything
Jabref is so great, but do read the documentation when you start. Its easy to use without reading any of it, but there’s so much functionality beyond the basics that I just found out recently, and makes it so much easier to use!
This is probably not the solution for most, but if you care, overleaf can be selfhosted.
More info here: https://github.com/overleaf/overleaf
Edit: note->not
Just FYI, I’ve done this, and if you’re not super familiar with Docker network permissions it can be more than a bit funky, especially if you’re on Windows. I’m sure it’s trivial for folks who’re used to docker, but getting the right ports configured is a bit of a pain.
Idk when you did it, but with the overleaf toolkit, at least the docker networking seems to be no problem. I had quite some problems with updating though. I run an outdated version at the moment because texlive gets updated faster than overleaf, which produces errors when installing the texlive full package. Overall, also can’t recommend.
Oh I got it running eventually. If you were on Linux, it’d be fine, but since on Windows the docker engine runs inside WSL, the ports exposed to a browser in Windows are not the same as what Overleaf is trying to expose in WSL.
I see, you probably had to change the overleaf config file? I feel it’s too much work to keep it updated and running, on my Linux server. But the official overleaf is just too slow. It struggles to compile 30 page documents, and i have several that are longer. How does it run for you on your windows computer, with the local installation? What are the specs of your machine?
LaTeX is just fundamentally not that fast, especially when pulling in lots of packages. I’m running it on a server with a i7-12700K and 64 GB of RAM, but I didn’t really notice a slowdown when running it on an old laptop, they’re both about the same speed as the official overleaf. With longer or more complex documents, I usually split it into multiple files and edit them on their own, then use
\include{}
to being them into the final file with proper formatting and the right preamble. Of course, thats using a local MikTeX install, so YMMV.To be honest, I’ve always wondered why you can’t like “pre-compile” a bunch of packages into a binary and
include
that to speed things up. I’m sure there are good reasons, I just don’t know them.You are correct, LaTeX isn’t very fast in general, but my 8 core ryzen server with 8GB of ram assigned to the vm running overleaf is usually twice as fast as the official overleaf unpaid tier. The specs you listed should produce much better results than the official overleaf. This seems weird to me.
As an example, I just compiled my thesis, which is about 60 pages, lots of references, pictures, and generally a heavy document. On my server it takes about 35 seconds, the official overleaf just times out (pay or we won’t compile your document).
Hmmm I guess I haven’t really compared them on documents over about 20 pages, and even then it was just a qualitative judgment.
I’ve tried, but it was not easy at all and I sadly finally gave up because it uses Redis and that Redis needs some specific instructions that are not available for old/low end CPUs like the one I have in my homelab. The best self-hosted alternative I found at the time was FidusWriter. Probably not the best solution for OP, but still an OK self-hosted alternative to Overleaf.
Before overleaf, most people installed Latex locally (see e.g. texlive on Linux, miktex on Windows, etc), and then used their editor of choice (dozen of options here, ranging from dedicated Latex IDE like textudio, texmaker, etc. to more general editors like emacs, etc). LyX is nice too, essentially it’s just a particular IDE (i.e. a nice way to edit a latex file without looking directly at the source file). To collaborate (or just backup), they used a cloud provider (e.g. Dropbox is pretty popular in academia); these days, some ppl use private github repo to work collectively on a paper (but you can do that even if you are the only one editing the file, of course).
Would one of these options that work for you? or do you specifically need something that does not rely on a local installation?
You can always self host overleaf yourself
What?!?
I looked it up and you can. I’ll have that fired up with their docker image in no time. Thank you for the pointer.
No problem. Figured you might appreciate something that’s exactly the same
If you’re on Linux, I found Gummy to be the closest to Overleaf’s constant recompilation. My default has always been TexStudio, it has a good UI, but you can also use a VSCode extension. These are all just editors, though. You’d also need to download LaTeX locally. On Windows, that’s MikTeX, on Mac it’s MacTeX, and on Linux texlive is usually already installed, but you may need to install packages. On Debian-based distros, they’re grouped into collections like
texlive-science
.I will say that I’ve helped friends who were very used to overleaf to a local editor, and they were quite frustrated that TeXStudio wasn’t exactly 1:1 with the overleaf UI. Please know beforehand that if you’re expecting to be able to do things like open images in the TeX editor to check on them before inserting them, that’s not gonna happen.
Happy writing!
Also LyX will not seamlessly interconvert with a TeX file, even though it seems like it ought to. Pandoc conversion between TeX and markdown seems to be less fixing each time, but is also not 1:1. For writing where I care about being able to draft quickly, I’ve settled on writing markdown with embedded LaTeX with something like Zettlr, then converting to a LaTeX with Pandoc for final formatting. You can also convert to Word better from md than from TeX, for those collaborators who refuse to comment on a PDF.
You can use overleaf for sharing only, and write your document locally. I am currently writing my thesis using the git integration, using neovim/vimtex/jabref, and then doing git add/commit/push to sync to Overleaf.
Is using a TeX distribution locally not an option? Then just use VS code
Something to consider but not for anyone: if youre thinking of using latex, why don’t just learn how to use raw latex packages. Download the packages and use your own editor and PDF viewer. It you’re using Linux, maybe something like [(neo)vim+vimtex]+zathura. Anyway you can still use LyX to easily create math formula by copy pasting. And for backup, you can use github (plus Dropbox) etc.
I use Lyx with a local Texlive install, and it works great (openSUSE tumbleweed)
Before I switched to Overleaf for the collaboration features, I used tectonic-typesetting (non gui) with VSCode