Hacker News new | past | comments | ask | show | jobs | submit login
Web-assembly powered WYSIWYG LaTeX Editor, supporting nearly all LaTeX package (github.com/swiftlatex)
741 points by LegitGandalf on Dec 5, 2019 | hide | past | favorite | 114 comments



This is amazing.

• This seems to be their main page: https://www.swiftlatex.com/

• Not all the source code is on GitHub; crucially their modification of the TeX engine seems to be distributed only as the two `.wasm` binary files). Not sure if they plan to share more or not.

• As mentioned in the FAQ/docs page, this is the work of just two people from New Zealand (Gerald Weber and Elliott Wen), and they have a paper about it from 2018 (“SwiftLaTeX: Exploring Web-based True WYSIWYG Editing for Digital Publishing”, DOI: 10.1145/3209280.3209522). Based on a quick skim so far, the paper looks fantastic, looking forward to reading it in more detail.

• In the paper, Figure 5 and the surrounding text describe how TeX was modified (the part of most interest to me); it's really clever! To avoid modifying the data structures and introducing new bugs, they hook only into TeX's internal allocation functions for tokens. (TeX as originally written by Knuth does not use malloc() or equivalent; it does all its own allocation out of giant arrays called "mem" and "str".) They can then look up this bookkeeping when the token lists are being shipped out to PDF format.

• Looks like it has some limitations as far as PS/PDF specials goes (aka “drivers” in the TeX world), so TikZ or tcolorbox don't work too well for example. However my guess is that this is just an issue with their PDF rendering (per the paper they use something like Pdf2htmlEX rather than pdf.js, for speed), and not a fundamental issue.

• But otherwise most of the standard LaTeX features and packages seem to work (labels and cross-references, etc); you can \usepackage anything and it will download the corresponding files but no data leaves your system; everything happens in the browser. Heck I even pasted in xii.tex (without the final "jbye") and it works (can click on “partridge” in the PDF and go to the corresponding part of the source).

• This sort of WYSIWYG editing for LaTeX has been done in a couple of proprietary systems before (BaKoMa TeX / Texpad), and some ancient systems as well (VorTeX), but they've been buggy in my limited experience. There was also a very impressive demo at this year's TUG meeting, by David Fuchs (who Knuth described as his “right-hand man” on the TeX project). All these projects have had to grapple with the same issues (achieving quiescence etc). This one seems to have its share of minor bugs (some artefacts seem to be visible in their published paper too!), so e.g. a feature to fully update the PDF after a (very) long typing pause (or manual user request) seems desirable. Nevertheless it's very impressive as it is.

• I think some sort of engagement with the TeX community (the mailing lists at http://tug.org/texlive/lists.html etc) may help: it appears their code is currently based on pdfTeX; they should probably consider XeTeX / LuaTeX as well (given that the doc page at https://swiftlatex.readthedocs.io/en/latest/ mentions “Lack of Unicode Support”). There are experts there with some idea of corner cases, the weird things that users want, etc. Hope this becomes part of the TeX mainstream (what little there is of it) to benefit all users (good typesetting for everyone!) and not some sort of edge case that dies when/if the authors lose interest.

Overall, am really awestruck by all this. Congratulations and good luck to the authors!


This is indeed amazing.

I'm interested if it can be self hosted for using in a commercial environment. This would be a killer feature for increasing Latex adoption at corporations stuck with MS Word.


the open source license is AGPL-3.

Interestingly, their CLA specifies UK law, but they are based in New Zealand.


Even with AGPL-3 a corporation could still use it internally (which I think was the GP’s point). It can’t be used to start an Overleaf competitor though, since you’d have to release all of your changes.


> It can’t be used to start an Overleaf competitor though, since you’d have to release all of your changes.

Can you explain the logic of this argument? I don't understand it. That's the whole point of the AGPL, that you release your changes.


Iirc AGPL states that basically you must make the source to your entire application available to users, both the client and server side. I believe many misinterpret this to mean your entire application must be open sourced publicly, but this is not entirely true. If a corporation develops something using AGPL code and none of their users are external to the company, then they are under no obligation to distribute their source (or they must distribute it to themselves, which is effectively the same thing).

IANAL, however.


I think GP is saying that you could not use it as a basis for proprietary software but you could build on it it and sell it to people as long as you published your modifications.


On Windows, what’s wrong with MikTeX?


It seems that the source for the modified pdfTeX can be found here: https://github.com/SwiftLaTeX/PdfTeXLite


> • Not all the source code is on GitHub; crucially their modification of the TeX engine seems to be distributed only as the two `.wasm` binary files). Not sure if they plan to share more or not.

PdfTeX is GPL-licensed, so if this is derived from pdfTeX (is it?), I assume they'd be required to make their source available. (Note that the GPL says that "the source code for a work means the preferred form of the work for making modifications to it", which I don't think would be a .wasm binary file.)


Yes as some other people pointed out (and also one of the authors: https://github.com/SwiftLaTeX/SwiftLaTeX/issues/12), the source is available at https://github.com/SwiftLaTeX/PdfTeXLite -- just needs to be cleaned up a bit to make it clearer what the diffs are.



Their paper even won the Best Student Paper award at DocEng 2018.


How is this better than TeXmacs?


Not everybody uses Emacs?


TeXmacs is, weirdly, completely distinct from Emacs. Both are, er, macro bundles, in the sense that they’re an interpreter with an editor in it.

TeXmacs is fine, but one difference is I can imagine laying an etherpad style coordination layer over this and getting something new.


TeXmacs is also completely distinct from TeX! It does use TeX-inspired layout algorithms, with modifications to make them better fit real-time typesetting as you type. It's also striving to be an environment for interaction with other tools, (not unlike Jupyter Notebook).

If you want a structured scientific web editor with collaboration, check out also https://www.fiduswriter.org/. Built on top of ProseMirror.

But Fidus is closer to "WYSIWYM" like LyX — structured editing with "acceptable" typesetting, and TeX export for high-quality typesetting. TeXmacs shoots for true "what you get" high-quality typesetting as you edit. Mind you, the edited model is structured in "what you mean" spirit (with quite good UX to "see" the structure), not flat "slap formatting on characters" model typical of WYSIWYG editors.


It runs in a web browser, so runs on tablets, cell phones, etc. but Texmacs doesn't. Also, it very directly uses the native LaTeX file format.


>crucially their modification of the TeX engine seems to be distributed only as the two `.wasm` binary files

I thought one of the selling points of webassembly is that wasm files must have a textual format that anyone can read the source.


Technically, yes. It's possible to easily disassemble the wasm into wasm code. The good part is that now the target format is a standard instead of something like asm.js or minimized javascript.

We reached a point where everyone was distributing browser code as minimized javascript to the point where reading the source of web pages wasn't really meaningful anymore. At least this way you can technically read the webassembly in something that is standardized. Anything can still be obfuscated though. The idea of a pure, readable webpages is long gone, but if they made the code clean and didn't do any trickery then it's still possible to read if you know the format.


The binary format and the text format are completely interchangeable. https://www.webassemblyman.com/wat_webassembly_text_format.h... (As far as I can tell, comments are not preserved in the binary format though.)


It’s the same with regular assembly. When you compile/assemble a .S or .asm file, you get a binary file with none of the comments


Why you'd think that? It's assembly meant to run on a virtual machine in browsers. The textual representation is similar to your normal assembly code, albeit a bit more high-level.


I read it here:

https://webassembly.org/

Open and debuggable

WebAssembly is designed to be pretty-printed in a textual format for debugging, testing, experimenting, optimizing, learning, teaching, and writing programs by hand. The textual format will be used when viewing the source of Wasm modules on the web.

Will WebAssembly support View Source on the Web?

Yes! WebAssembly defines a text format to be rendered when developers view the source of a WebAssembly module in any developer tool. Also, a specific goal of the text format is to allow developers to write WebAssembly modules by hand for testing, experimenting, optimizing, learning and teaching purposes. In fact, by dropping all the coercions required by asm.js validation, the WebAssembly text format should be much more natural to read and write than asm.js. Outside the browser, command-line and online tools that convert between text and binary will also be made readily available. Lastly, a scalable form of source maps is also being considered as part of the WebAssembly tooling story.


One of the key aspects about LaTeX that made me very productive with it was that I could just dump lots and lots of text pretty much directly from my brain into the plaintext editor, without thinking much about the intricate details of the layout. I suspect that an important "feature" that enabled this was the fact that I didn't have the exact layout present and visible in front of me all the time, but just the semantic aspects of it - until I manually triggered a compilation to actually get everything laid out.

However, this is still an awesome editor, and I would probably have loved to use the near-instant WYSIWYG updates for more complex and layout-sensitive parts of papers, like tables and such. I'd just wish this editor would allow to disable the distracting layout rendering completely for "dump-text-from-brain" phases.


For me it was the reverse. Layout and content always went hand in hand, with both engaging and influencing each other.

I have noticed these different approaches, text as 'data' irrespective of presentation and text as an element part of a holistic piece of work, to be strongly preferred by different people and either of them struggling to be productive when mismatched.


This is a good observation. Interestingly, I'm quite a visual writer in that the final form of the piece influences my writing. However, I still prefer the latex workflow of entering the text in a raw form coupled with regular compilation into the final layout. Perhaps as a developer of just feels more like coding to isolate and iterate.


Exactly. My writing process is always sort of "two-phased". First get the content right, use semantic commands (section, theorem, keyword, algorithm listing, etc). For this the LaTeX plaintext is great, I define macros for everything that I'm going to use more than a couple of times that has a semantic meaning. Then, the second phase is adjusting the layout/typography to convey my meaning in the best way possible.


I think that this is because the source form is visual as well and an author in the process of writing has completely different formatting needs than a reader.


I’m currently working on a project where I’m using Pandoc which allows me to write and outline in Markdown with embedded LaTeX when necessary. When I have a new “style” I want to apply - indexable category, figures and summary information, etc. - I create a new macro and use that inline. My particular project has a lot of repeating elements, imagine a review of all Chevrolet’s, so one section has a significant number of pages that follow a similar structure - a table of common details, an image, a review.

So far, it’s working for me. Along with GNU make, Inkscape (for turning SVG to PDF), I’ve been happy with what I have with minimal embedded layout.


This sounds great.

Do you have an example or blog post? Very interested in seeing the macro part and everything pulled together.


I agree. Brain-dumping `\begin{float}[t]` while writing seems more natural than thinking "go to this menu, click this option, see if it inserted the float, and choose 'top' in its location properties dialog".


Personally I hate Tex/LaTeX and I think it should be replacted by something else long time ago. First of all syntax is horrible, if you don't work with it on daily basis try to figure out what macro you wrote one year ago is doing. Each time you have to jump to manual and learn almost everythig from very beginning. Next thing is lack of utf-8 and TrueType fonts supports (I know there is XeTeX and LuaTeX) but today such features such be in very core of text system no in some software branch. Extensibility is next thing and here again it is very poor unless you use something modern like LuaTeX or you are an expert in TeX macros. Packages dependency hell is next thing side by side with stupid compilation process with meaningless error messages. Am I the only one who think this way?


The problem with systems like Adobe Indesign is that they are “What You See Is All You Get”. For a company brochure with special typography and particular Pantone ink colors used in offset printing there may be nothing better. However, I’ve owned a license to Indesign for over a decade. I’ve done tutorials, bought half a dozen books on it and maybe produced one document using it.

In Indesign I wasted so much time figuring out how to get the layout, the formatting, the figures, code samples, mathematics, bibliography, even page numbering, index and footers I wanted that I had to give up.

The power of bibtex, TikZ, and other packages in the TeX ecosystem make it possible to use a system that produces just the sort of documents that I want—and the software is infinitely less expensive (it doesn’t cost anything).

TeX isn’t without its difficulties. I’ve been programming for over 50 years and still dread diving into the macro language based code for complex packages—but at least it’s available, something you can’t say about these other proprietary systems.

TeX was written by a Computer Scientist (perhaps the most eminent Computer Scientist) and it shows. Its real power is revealed only to those able to program. This is a shame, because using it has made me appreciate good typesetting—something I’ve found difficult to achieve in the kind of papers I write when I use other tools.

I use MS Word when my recipient needs it that way, I use Apple Pages or Google Docs for simple documents when I don’t care what they look like, and Markdown or Org mode for my own notes. For anything important or for something I want to have as archival source (TeX is a purposely frozen format) I use TeX and its related tools, LaTeX etc.

Give it some time, it may grow on you.


Your comment reminds me of the people who shit on C++. Some of the criticism may be true, but there simply isn't anything out there that could possibly be considered a feasible replacement.

Also:

>lack of utf-8 and TrueType fonts supports

There's UTF-8 support in the standard pdfLaTeX compiler and TrueType support in XeTeX (which is far far from a trivial issue, which is why there are two branches, if you don't need TT fonts you're better off with pdfLaTeX which has more support for e.g. microtypographical adjustments).


I don't think that's true. Both Latex and C++ were replaced. It's just that their best replacements were more specialized tools so that left a bit of space for both to survive.

It's just like that example of cars mostly replacing trucks in the US. Trucks aren't obsolete, but most don't need them so choose alternatives that fit their life better.

Latex was replaced by Microsoft Word, Adobe InDesign, and Markdown. Each one is different but for people who might have used Latex for a certain use case, one of those more specialized tools might be better. But there will always be a need for Latex itself.


That just proved my point. Saying markdown replaces LaTeX is like saying javascript replaces C++. They're not even in the same league, they're tools for completely different purposes.


C++ 98, 03, 11, 14, 17 or 20? They all seem to be in active use and are as different as some programming languages are from each other.


> Am I the only one who think this way?

No. But redoing it all from scratch and getting mindshare is difficult.

Substance.io is one project I've followed for years who aim to do this, and the time, false starts etc show just how tricky it is. https://twitter.com/_mql/status/1202200085288935430

One could argue that Adobe InDesign, Quark XPress et al are the replacement. They have the typesetting and layout capabilities that common software lacks.


> No. But redoing it all from scratch and getting mindshare is difficult.

i think it's more because it does not really matter for most people. not because it's too difficult.

there are companies today that can put the resources to the task. i am just going to assume that the priorities are elsewhere.


Check out SILE: https://sile-typesetter.org/ If you don't deal with math, it's pretty feature complete.


But does not run on Windows.


I feel like there isn't even a straightforward way to learn the principles of the syntax of LaTeX, in full. I've been an occasional user for years, I love the results, and I can do basic math typesetting off the top of my head. Anything more involved (diagrams especially), I really do need to start from scratch with some new package to get things working. Fortunately, stackoverflow tends to be a one-stop solution for me most of the time.

I don't believe I'll ever have a deep enough grasp to be able to do those more complex tasks on my own, and that really bothers me. I can imagine some syntax improvements, but like a sibling comment said, I don't see the mindshare shift happening any time soon.


Next thing is lack of utf-8 and TrueType fonts supports (I know there is XeTeX and LuaTeX)

UTF-8 is supported by all modern engines. It's just that it wasn't the default for pdfTeX so you had to add one line to enable it. But this has changed in 2018 [1], so UTF-8 is now th default LaTeX encoding even when using good old pdfTeX.

[1] https://www.texdev.net/2018/03/25/latex2e-utf-8-as-standard/


> Next thing is lack of utf-8 and TrueType fonts supports (I know there is XeTeX and LuaTeX)

The two halves of that sentence seem to be in conflict. Could you say more?


I consider XeTeX and LuaTeX as branch from main software line LaTeX. Ech of them have some extra features I would like to see merged into one software. To use unicode I have to switch to XeTeX but it is not such simple transition, to have bibliography with unicode I need to use some other tool (like Biber) because Bibtex it is not unicode aware. And there is a lot of other exceptions/hacks like this where such basic scenarious should just work out of the box in XXI century but they are not.


> XeTeX and LuaTeX as branch from main software line LaTeX

No, that is mistaken. As the FAQ says, "Development of pdfTeX has mostly stopped" https://texfaq.org/FAQ-enginedev, in favor of LuaTeX (and XeTeX maintanence). But users use what they use and the people who put together the distribution do not normally shut things down, so pdftex remains. (I admit I often use it.)

I'm not much of a biblio person myself but I find that biblatex and biber work for me. I think I remember someone saying that they could use more developers, but in any event I'm sure that someone who volunteered to pitch in would be welcome.

If a person would like to see some more development but does not have the energy or the skills then the best thing to do is to join a Users Group, such as TUG at https://www.tug.org/. Or you could simply make a contribution so that some developer could get funding.


Just fully switch to lualatex/biber/biblatex.

We are teaching this combination since 7 years now to physics students and I have been using it for nearly all documents I created. That includes bachelor and master thesis, dozens of beamer presentations and currently wip PhD thesis.

Our (German) material ca be found here:

https://toolbox.pep-dortmund.org

Direct link to slides: https://toolbox.pep-dortmund.org/files/archive/latest/latex....


> Just fully switch to lualatex/biber/biblatex.

Is pdfTex clearly labeled "do not use" and development has stopped completely? Also, do lualatex/biber/biblatex all have feature parity and are clearly documented as the "true" latex projects that are the only ones which should be used currently?

If there weren't two "yes"'s in response then OP's clear criticism will remain a problem. It cannot be escaped by advising the user to jump to a different branch based off the last downside they happened to describe about their chosen branch. (E.g., "I want unicode" -> "use lualatex", "I want WYSIWYG" -> "use SwiftLatex", "But what about unicode" -> "use lualatex", ad infinitum)


TeX/LaTeX is a rich ecosystem that has grown over a long time.

Over the last couple of years, pdftex, xetex and luatex have coexisted and pdftex was the stable choice and the other two were functional but in beta stage. In the last years, xe and luatex became stable and pdftex entered maintenance mode.

WYSIWYG is an antithesis to LaTeX, but I'm sure it's possible to base something like SwiftLaTeX on luatex instead of pdftex.

This has changed only in the last few years.

You listed a few requirements, and while many are achievable using pdftex, only lualatex tikz all the boxes.

* unicode out of the box * otf font support * unicode in bib via biber / biblatex * easy extensibility by writing lua instead of plain tex

there is more.

But only because luatex is out of beta, does not mean pdftex suddenly stops working or needs to be deprecated.


I think he does exactly that in the next part of the sentence (not in your quotation):

> […] but today such features [should] be in very core of text system no in some software branch


OK, maybe he means that, but XeTeX and LuaTeX do have them at the core. Users use what they use, but the developers have for a decade worked to provide utf8-native and system font-enabled engines.


Why don't you just design your own syntax and write a little compiler for it that uses TeX as its back end?


Have you tried LaTeX3? I find it to be a huge productivity booster compared to the old TeX ways that I never managed to grok.


I sat next to Prof. Knuth in 1982 at Stanford, while he did a demo of TeX on the university's DEC-10. I asked him what was next? He said: real-time, WYSYWIG display.

At the time, the idea struck me as utterly impossible.


Back in the 80’s I worked as an OS software architect. I used to do a mental exercise occasionally. I would imagine how I would design things if processors were infinitely fast. Back then we were still following Moore’s law, even for single processor machines. Processor speed, memory size, disk speed, and network speed all put hurdles up for what we could do.

I remember talking to a colleague about the possibility of a TeX system that would rerender a page as it was typed in one screen and viewed in another. Ok


The future is now.


Very nice. Used ShareLatex back in the days. Now it is Overleaf[0]. I guess this will help to bring in competition. One of the benchmark I use to test Latex Editor is my Bachelor paper [1] written in French with all the accents and math symbols. I used that to test this new Latex editor and it seems not produce the PDF. But Texmaker ( my favorite) would just produce the PDF even if there are errors.

[0]: https://www.overleaf.com/ [1]: https://bitbucket.org/iMitwe/my-thesis/src/master/inegalites...


Whaaaaaat. This is amazing! I know so many people who have difficulties collaborating on manuscripts the mismatch between skills document skills (life sciences vs. computer science), but thanks to WYSIWYG, they will now be able to collaborate.

The checkpointing thing is very impressive... typing + update is near instant. Never seen that before.


A web grandmaster see I. Office365/GoogleDocs should be very interested in this stuff and by "very" I mean 50 millions at least (they burn way more money on complete bs projects). It's very likely that the author knows more than I do, but it seems reasonable to work out some sort of dual-licensing deal: one for corps who want to take it and develop further and one for smaller businesses who are ok with saas-ish solution.


I'm a big fan of LaTex, having used it for my thesis, presentation (beamer) and a few peer reviewed articles/jounals.

With that disclaimer I can safely contend that Google/MSFT will not be interested in this. LaTex is for academic typesetting, with a special focus on math-y content. Even with WYSIWYG, every now and then one will need to get into the weeds of Tex syntax, which is simply not for the average computer user.

As for academia, they will not pay a Google/Microsoft for LaTex use when they might as well use Lyx/Kile or their favorite editor with some syntax highlighting support for Tex. And unlike regular note taking, academic writing isn't so spontaneous that you start editing your IEEE manuscript on the pot, while on your phone.

My guess is that the FAANG tribe have little incentive to commercialize this, and hence acquire it


Have you checked out Overleaf? I would say they are proof that there is definitely a market. My university (40k students, 8k employees) has a deal with them where all students and employees get access to premium features, and they probably pay a decent chunk of money for that.

They have published a list of institutions using Overleaf here: https://www.overleaf.com/for/universities


Single academics will likely not bother with Office365/Google, but University administrators are the ones buying enterprise software. In the past few years the trend has been for the central administration to push departments to give up their self-hosted mail servers and switch to Office365 (I have witnessed this at three different Universities). My guess is that something like SwiftLatex could sweeten the deal and convince the faculty to support some of these changes.


It would be a way to get all the techy academics onto some platform such as Office365. Once they are there they might start using other (paid) things on there.


I agree, word and powerpoint would gain a lot from having a side by side markup/WYSIWYG experience. My definition of good is the visual studio wpf editor where you can entirely live in markup or UI or do both at the same time.

But the reality is that outside of making office run on other platforms, there has been near zero innovation from Microsoft.


The typing update speed blows Overleaf out of the water. I've used Overleaf for the past 3 years. It's a great product, but one of my biggest complaints is slow LaTeX rendering. If this product were a bit more polished I would use it instead of Overleaf.


You should check out TexPad![0] It’s lovely and essentially real-time, with autocomplete, etc. I use it as my editor of choice for all of my papers (not that any of them have particularly challenging layouts).

Really cannot recommend it enough. :)

———

[0] https://www.texpad.com/


Shame it's Mac only as it looks exceptionally good. Would love to use on Windows.


LyX [0] eat your heart out.

It's good to see competition in this space as LyX's development has slowed the last few years. I still like it, but will be interested to try this alternative.

0. https://wiki.lyx.org


I use Lyx as my primary tool for writing. I know it's clunky but it's as reliable as the tides.


LyX is WYSIWYM (What You See Is What You Mean). So an entirely different sort of thing. I guess you could argue that there is really no point to doing a WYSIWYG editor on top of LaTex. If it entirely works then the LaTex is just a internal layer that adds nothing but pointless complexity. WYSIWYM is the primary reason that people bother with LaTex in the first place. It's for the people that want the computer to do the work of laying out the text.


The rendering happens in real-time when you type! Is this using pdflatex? Because I've never seen an editor with this low of a response time.

Only slight nit is the blue progress bar/page load bar that appears across the top of the screen while you're typing is annoying. And the baseline kerning of the fonts in math mode seem a bit off: $$x^2 + 2x + 1$$ has the x in 2x a bit raised


It appears to be using a heuristic to update the PDF directly when you type, and then it periodically runs LaTeX to do global layout. Try putting the cursor before \LaTeX in the example document and input a few spaces. For me, it shifted the first characters into the later ones, perhaps because their heuristic couldn't detect that they are on the same line due to the vertical offset.


Really nice, the speed is way better than e.g. Overleaf.

Is there any way to divide the screen horizontally instead of vertically for use with widescreens? Did not find an option at first glance.


This is incredible. I've never seen LaTeX render so fast; it almost feels like WYSIWYG editing.


With the development of pure Rust[1] TeX engine (based on XeTeX) it will be possible to compile into WebAssembly too.

[1] https://github.com/crlf0710/tectonic


While I don't doubt the utility of this at all, I am quite amused by the concept of WYSISYG LaTeX.


Some people I know literally share LaTeX math in emails and chats and assume my head has an internal LaTeX-compiler to understand it (usually I do). I guess this means people are really accustomed to writing maths in one go in LaTeX -- it's like the pseudo-code of maths.


Why? It is almost as old as LaTeX.

Not everyone enjoys programming their documents and visual editors for LateX written in Motif were the first ones to become available.


I'm getting this on ios Safari when creating document:

"Oops Error Detected! Looks like there was a problem when creating the project: DataCloneError: Failed to store record in an IDBObjectStore: BlobURLs are not yet supported."


It went very smoothly on Firefox.. Maybe this is a thing with iOS/Safari?


Fortunately, the WYSIWYG-bit is non-mandatory. You can also edit the source directly.

I assume Google Drive files can be simultaneously edited by multiple people? If so, then this represents a real competitor to Overleaf.


This is indeed amazing! But I was wondering if it's possible to compile the whole TeXmacs into WebAssembly and have it in the browser. That will be a totally different world.


This seems like an incredible tool to increase adoption of TeX systems. It solves the problem of: I want to try my hand at TeX but you’re saying I have to install what now?


Overleaf.com is another place to try out TeX without installing anything. (The free version is perfectly fine for almost anything other than collaborating with 3+ people on the same project.) The web interface isn't as nice as a proper text editor, but it's not too bad.


This tool is very cool - however it appears to be written in JavaScript. I can't see any evidence of the use of WebAssembly.




Google drive and dropbox are blocked at work for me...It would be nice if they had an option for if you don't want to save your work. Like just an in-browser editor without saving. Sometimes I just might want to write up some Latex and then copy it into something else. Nowadays I usually need to open up Lyx to do the same thing.


Ah, so the sandbox mode on github is what works for me. However, there is no link for it on the main page.

Regardless, I suppose I was mistaken on what the project was. I assumed it was like a WYSIWYG version of Lyx in the browser. You're still writing Latex with this.


I think it's really funny that swiftlatex is written in python!

Somebody should write an application called pythonlatex in swift!


This is interesting. I noticed that the first compilation is sort of slow (takes a couple seconds). But each subsequent small change is almost instant. How is this done? I'd imagine each tex->ps should take at least a few seconds.


Are there similar, "true WYSIWYG" LaTeX clients that are not web-based but native for one's platform? I know about Lyx but it's honestly quite disappointing in comparison to this project


This works surprisingly well on mobile. It’s not 100% usable, but it works


this is absolutely amazing!

Even though I prefer to write everything locally, I've been forced to use overleaf due to the fact that my collaborator forced me to do so.

But, with this speed, I will probably throw away overleaf. :)


Out of curiosity, and in the context of Latex, does anyone know of a good self-hosted collaborative web-based editor with preview? Or even something decentralized that works over WebRTC?


If you want one using latex, you can use open source self hosted overleaf variant. The worst part is the user management though, as they even keep somewhat sensible user management for the paid version.


Tried creating a resume using one of the provided templates. Failed because XeLaTeX was required.

Tried creating a Tufte-style book using the provided template. Failed because of a missing file.


One thing I'd really like to see is the ability to adjust line spacing. It's insanely painful in latex, and a WYSIWYG editor would be amazing.


This is great! It still needs some polishing (like autoscrolling the output to where I just made a change), but it FEELS really great!


This is incredible. The render speed is amazing!


Dissapointing that it requires a Google account.


Can someone enlighten me on the benefits of LaTeX? I've never run across it or someone who uses it.


It's a markup language with a long history I won't get into. But that means it at least aims at separating content and presentation. Relative to producing a document in something like Word, it has a few real strengths. It's very good at:typesetting mathematical notation, typesetting different languages properly in the same document, and pretty good managing large complicated documents. It tends to do hyphenation breaks and spacing better than word processors.

You can easily solve versioning and collaboration issues because the input is plain text (like source code, just version control it and use patches, PRs, etc.) This works better than "track changes" in practice, especially with multiple authors.

So those are the upsides. Downsides: it's a bit esoteric, and clunky for lots of documentation tasks. The implementation is complex and the package/module system can step all over itself. If you have output that is nearly but not quite right, it can be a real bear to fix it.

These days Markdown may be a better choice for a lot of simple documentation tasks where you don't care much about the final output presentation details. Any word processor can probably let you do some things more quickly.

When I was a grad student I knew multiple people in STEM fields who tried to do their thesis in Word (or equivalent) and gave up in frustration, moving it all to LaTeX. I never knew anyone who successfully went the other direction. I don't know if that is still the case.

If you use it a lot, you may find yourself wanting to use it for everything (letters, resumes, presentations, etc.) but many of those things aren't particularly strengths. If you don't use it a lot you will find it hard to come back to casually.

One other strength I should mention, especially for automated documentation. Knuth was very particular about stability in TeX, and LaTeX has mostly-kinda-sorta followed this philosophy. So unless you have used a lot of marginal packages or something, it's entirely reasonable to expect that processing a 20 year old input will work fine using current builds. This is not something you can say of most systems.


"When I was a grad student I knew multiple people in STEM fields who tried to do their thesis in Word (or equivalent) and gave up in frustration, moving it all to LaTeX. I never knew anyone who successfully went the other direction. I don't know if that is still the case."

Ha! I started my thesis in LaTeX but my adviser only wanted a word document for reading it, so I had to go the other way :)


You have my condolences :)

One person I knew gave up on word when it suddenly lost half a dozen figures they no longer had the originals for. Never did figure out what the mechanism was, but you bet they became more disciplined about backups.

I'm sure it's much more reliable today, but once you had a long document with a bunch of figures, tables, and equations in it, Word started doing odd things. Including just refusing input for a couple of minutes with no message, then crashing. Good times.


Some people use it for everything, but I think it really shines in writing documents with heavy mathematical content due to the straightforward math syntax.

There was a paper posted here a couple months ago that claimed that even expert LaTeX users wrote documents slower than novice Word users, but the interesting caveat is that LaTeX users were far faster across the board when the text included a lot of math.


this is excellent! My main reason for a web-based Latex editor is multi user editing. Overleaf/ShareLatex had it, but now they are closing it down and charging for it. An open source competitor, even if with less features than the commercial ones, is a great piece of news.


i don't see anyone outside of math/csci/physics folks using latex. Almost all profs in chemistry, biology, pharmaceuticals, etc field just use word.


From the referenced document :

> Known bug lists

> 1. WYSIWYG

I agree. The first bug is that it is WYSIWYG. ;-)

Oh that's not what they meant. Or is it a clever innuendo ?

/Joke

## Praise of WYSIWYM (WYM for "what you mean")

Seriously, I wrote my Ph.D. as LaTeX source code with the help of LaTeX-mode in Emacs, including colored syntax highlighting, and was/am very happy.

As explained in a number of places, the point is to write for content without diluting your brainpower with appearance issues.

Moreover it is a common experience that proofreading a rendered copy allows the brain to more easily find typos without the filtering effect that cause one to miss them in a document being edited WYSIWYG fashion.

Also, editing source code has the nice property that there is no hidden state. Ever been annoyed in Word or Google Docs by undesired formatting conflict on a copy-paste? (yes I know "paste as plain text") Also, bullet list with some bullets having mysteriously different appearance from their siblings and you can't fix it. With sane source document editing these issues cannot happen.

## What next

That said, imagine a hybrid future from assertions below:

* I now use asciidoc as it is simpler to edit (much simpler for things like tables), and have a toolchain that renders it to PDF via LaTeX (the xsl-fo path was never near as visually clean). I wrote a LaTeX style for my personal freelancing company (quotes, invoices, reports, technical documentation) and the fact that one cannot deviate from the style is a feature.

* Side-by-side source+rendered editing somehow can make sense.

* There is practical educational value to let newcomers benefit from LaTeX power and rendering quality with the WYSIWYG they still perceive as comfortable, some will migrate to source editing.

* This project could spawn some variants with other rendering engines.

* Did they solve all the problems with cursor positioning (see "text editing hates you" mentioned here on HN recently) ? In many cases, several visual positions correspond to same source position and vice versa.

* What will happen in practice is the tech will be applied to some other places, which is the very point of public research. That reminds me the project Boomerang. https://www.seas.upenn.edu/~harmony/ there is probably some common ground between those projects.


I'm getting a giant pink screen, this is broken.


Getting the same issue on the Master Thesis template in Firefox 71.0


Even works on my iPhone 11. Very cool.


thanks to WYSIWYG




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: