Our great sponsors
-
sartre-notes
Comprehensive notes on Jean-Paul Sartre's Being and Nothingness. 100 pages of explanation and guidance for a 800 page monograph.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
The screencast look good. For parallel/prior work in this sort of "live update" of the typeset document (and to learn from their experiences), you may also want to look at:
• SwiftLaTeX (https://github.com/SwiftLaTeX/SwiftLaTeX / https://www.swiftlatex.com/ — the cool demo that used to be on their site seems to be gone, but see HN discussion: https://news.ycombinator.com/item?id=21710105)
• BaKoMa TeX (http://www.bakoma-tex.com/) — its eponymous author Basil K. Malyshev passed away recently, but the product and page still exists for now
• VorTeX (see Pehong Chen's PhD thesis from 1988).
> This depends a lot. In most of the cases delay is only about 1 second on modern PCs. A bit more when you cite and build the document twice.
I agree that for many (or even most) documents, LaTeX's compilation delay is generally manageable. However, when it comes to documents with bibliography management, footnotes, margin-notes, and multiple figures, the compilation delay can get quite high.
In my own experience, I had a document of notes containing over a hundred citations managed by biblatex and bibmla. The compilation time on that document was well over several seconds on my laptop, especially when running from battery power.
> I finally ended up for just using vim and zathura. Optimised docker image with LuaLatex builds the document. Second favorite would be LaTeX plugin for Jetbrains products. Overleaf is only good for collaborating.
I'm very curious to hear about the docker image that you are using. What purpose does the docker image serve in the build pipeline? I know that for compiled software, sometimes having a build environment allows you to better define the environment variables, but to my understanding this is not a worry for LaTeX.
[1] https://github.com/ShenZhouHong/sartre-notes
> TeXmacs necessitates using its own interface (which lacks my vim keybindings and Emacs customizations)
TeXmacs's own interface is deeply customizable by the user via Scheme.
I think you can set it up to have vim keybindings---see experimental code at https://github.com/chxiaoxn/texmacs-vi-experiment and comments at http://forum.texmacs.cn/t/a-very-tiny-vim-in-texmacs/176 (I know that the lack of a block cursor has put off someone, but I did not find that comment in the brief search I did now).
I never got deep into TeX, but I browsed the code at one time and some of what I found seemed utterly insane to me. For example, it includes an IEEE floating point implementation, based entirely on TeX string expansion [1]. I don't know if it is widely used, but I'm not surprised by slow LaTeX compiles anymore.
You say "TeX is already heavily optimized", but that's only true for the layout engine. The input language is entirely based on macros and string expansion. That's fine if you're only going to use it for a bit of text substitution. But as a programming language it's inherently slow. (To be fair, I believe Knuth expected that large extensions, such as LaTeX, would be implemented in WEB.)
[1] https://github.com/latex3/latex3/blob/main/l3kernel/l3fp-bas...
I wrote my PhD in LaTex with the simplest template I could find online (luckily someone hat put one up formatted for my university's engineering department and I didn't have to mess with it almost at all).
But once I was done, I wanted to blow off some steam and started writing a silly little tabletop RPG. I decided the rulebook would be text-only for portability with box drawing borders and ASCII tables and stuff, so I spent the first week or so writing a small ASCII typesetting engine in Prolog (because logic programmer).
And then I spent more time writing a vim syntax file so I could read the glorious ASCII with syntax highlighting.
Here:
https://github.com/stassa/nests-and-insects
I'm still looking for ANSI/ ASCII art contributions btw.