Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Not to mention that when it fails to compile, at least in Overleaf you get an error log that is hopelessly useless and the only thing you can do is just remove your changes until it works again.

LaTeX is a cool idea, but the implementation? Absolutely horrid.



There are two big challenges: One is that TeX, the underlying executable behind LaTeX, is pushed to its limits¹ to run. The macro expansion paradigm behind LaTeX made sense in 1982 but there are a lot of decisions underlying the executable and TeX-the-language that were dictated by the computing technology of the 1970s (forget Unicode, standard ASCII wasn’t universally available when Knuth wrote TeX).

The other problem was the questionable decision by the LaTeX core team to, rather than release LaTeX3, they instead decided to evolve LaTeX2e which means that they are encumbered by backwards compatibility issues.

The noisy output from LaTeX is also not so great. One of the things I’m doing with finl is (a) assuming that there won’t be an attempt to fix errors mid-run (one of those 1982-era decisions that no longer makes sense) so a comprehensive list of errors can be presented to the user (or revealed programmatically) and (2) Adding indications in the output (which can be disabled) of errors in the input. I’m debating between errors being PDF annotations so users would click on an error or warning icon in the PDF to see the message and indication of where the issue was found, or just making it a big blot of overprinting (so many times on tex.stackexchange there are so many issues where a user—usually on Overleaf—ignored the error messages being output.

1. Actually beyond its limits. LaTeX will no longer run on a Knuth TeX executable but requires eTeX extensions to run.


> errors being PDF annotations so users would click on an error or warning icon in the PDF to see the message and indication of where the issue was found

This would be by far the best approach, no?


I haven’t seen any updates to your “finl is not LaTeX” page in a while. I’m glad to hear you’re still working on the project.


I should have an update when the next crate is ready for publication—I ended up writing some Unicode handling stuff because unicode-segmentation didn’t offer the interface I needed while unicode_categories is outdated and has a flawed implementation (my replacement code is 10x faster by my benchmarks). I need to do some additional work to verify that my segmentation algorithm is at least comparable in speed to unicode-segmentation and fix that if it’s not and I’ll have a 1.0 release of finl_unicode ready probably in the next month.




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

Search: