2 ms·
> I hate this language with the intensity of a thousand suns Interesting. What's the main reason? Do you already have representative experience with Typst? Doe
by Rochus 10mo ago
> I hate this language with the intensity of a thousand suns
Interesting. What's the main reason? Do you already have representative experience with Typst? Does it really solve the issues you perceived with Latex? Are you satisfied with the typographic quality of Typst? (why I'm interested: https://github.com/rochus-keller/typos/ https://github.com/rochus-keller/typos/)
- gucci-on-fleek 10mo ago> https://github.com/rochus-keller/typos/ https://github.com/rochus-keller/typos/ The following projects have somewhat similar goals, so they might be worth looking into: https://github.com/vlasakm/mmtex https://github.com/vlasakm/mmtex https://github.com/speedata/publisher https://github.com/speedata/publisher https://github.com/contextgarden/luametatex https://github.com/contextgarden/luametatex
- Rochus 10mo agoThanks for the hints. The projects have different goals. My goal is to use a stand-alone luatex engine and integrate it with my new typesetting language, completely replacing TeX. MMTeX still uses TeX, but make an easier to install package using the OpTeX format; that's a very good approach for people who want to use OpTeX and don't care about the whole TexLive machinery. Speedata is closest to what I intend, but their language is XML based and optimized for catalogues, and they depend on a pre-existing luatex installation (so they could use mine instead). LuaMetaTeX is the successor of LuaTeX which essentially moves more implementation to Lua. To my surprise, I actually didn't find a pre-existing project so far which shares my goals.
- patrickg 10mo ago(Author of speedata Publisher here) Just a small note: the speedata Publisher ships with a LuaTeX, so you don't need it pre-installed.
- Rochus 10mo agoCool, good to know. But I assume you use a standard version, part of TexLive or a subset thereof? What libraries in addition to the luatex executable to you need? I'm currently integrating the fontloader into the executable binary so that I don't have to deploy a directory structure.
- patrickg 10mo agoI use the standard binary from TeX-live and use the integrated harfbuzz loader, which works like a charm. The downloadable ZIP is ready to run and does not need any additional libraries. (That said, I include some helpers, for example for https access. )
- Rochus 10mo agoThanks for the info. I now have a pretty lean stand-alone build of luatex 1.10.0 without all the autotools fuzz. Currently I'm testing on Linux.
- gucci-on-fleek 10mo ago> stand-alone build of luatex 1.10.0 Why such an old version? The latest version is 1.24.0, which should have lots of new features and fixes relative to v1.10. And if you're starting from scratch and not planning on using any of the TeX stuff, I'd really recommend using LuaMetaTeX since it cleans lots of stuff up, and doesn't use autotools at all.
- Rochus 10mo agoThe idea was to use the version which was officially declared as "complete" and also the last before the development of the HB integration started. My focus is on stability. The idea was to go with a minimal system and even integrate luatex-fonts-merged.lua as part of the binary, so there are no external dependencies. The problem seems rather to be, that luatex-fonts-merged.lua is not really usable outside of the ConTeXt or TexLive tree, because it makes a lot of assumptions which are not met in my environment, and finding such dependencies in ~40kLOC of a dynamic language is nearly impossible. There was e.g. the assumption that the global utf variable pointed to unicode.utf8 (at least that's what I assume). So I had to set that before loading luatex-fonts-merged.lua. I assume there are many more such "tricks". After two days of experimenting, not even a "Hello World" is properly typeset. First the two words were apart half a page, and now they are set on two lines and I don't find out why. These experiments brought me to the conclusion, that implementing so fundamental and complex logic in Lua is a very bad idea. So I'm currently evaluating LuaHBTex in the stable version 1.18.0. I like that it is still in C99 and C++ <= 11 (at least that's what I understood so far). I also had an intense look at LuaMetaTeX but don't like the architectural decision to do even more stuff in Lua. I'm using and integrating this language since 25 years and think it is good for a bit of glue code (max. 1-2 kLOC), but larger code bases pass the limit of practicability of a dynamic language. I even implemented a few statically typed languages which generate Lua source and bytecode to reuse the technology without this disadvantage.
- gucci-on-fleek 10mo agoHave you considered using ConTeXt's CLD [0]? It's still uses TeX underneath, but that's pretty well insulated from the end user. Here are some random examples that I've written [1] [2] [3]. [0]: https://www.pragma-ade.nl/general/manuals/cld-mkiv.pdf https://www.pragma-ade.nl/general/manuals/cld-mkiv.pdf [1]: https://github.com/gucci-on-fleek/unnamed-emoji/blob/master/documentation/unemoji-specimens.cld https://github.com/gucci-on-fleek/unnamed-emoji/blob/master/... [2]: https://github.com/TikZlings/Extravaganza2025/blob/main/max/commercial/commercial.cld https://github.com/TikZlings/Extravaganza2025/blob/main/max/... [3]: https://tex.stackexchange.com/a/715598/270600 https://tex.stackexchange.com/a/715598/270600
- Rochus 10mo agoI'm successfully using ConTeXt in a radar data evaluation and reporting project for more than ten years where a C++ based generator reads data from binary Matlab files and combines/formats them into perfectly layouted reports automatically. It's an impressive technology and if the users don't mind to have an extra ConTeXt installation on their system (which grows pretty large), the solution is perfect. For my present project, I would like to start "from first principles" and not just add layers on top of things I don't fully understand. Thanks for the CLD document. I have read it when I started the mentioned project. I have no doubt from my own experience that the typesetting quality is excellent. But I consider using Lua for such large-scale achievements a mistake for architectural, maintainability und eventually performance reasons. The "flexibility" of this approach is payed with a high price.
- gucci-on-fleek 10mo ago> I'm successfully using ConTeXt […] Ah, nice! ConTeXt certainly isn't the solution to every problem, but it solves lots of the common complaints about LaTeX, and most people have never heard about it, so I always try and advertise it when I see a problem that seems like a good fit. > if the users don't mind to have an extra ConTeXt installation on their system (which grows pretty large) > For my present project, I would like to start "from first principles" > But I consider using Lua for such large-scale achievements a mistake for architectural, maintainability und eventually performance reasons. Well I personally disagree regarding Lua :), but all your points are very fair. Most people who say "I'm going to write my own typesetting system" severely underestimate the difficulty, but it sounds like you have a pretty good handle on the situation, so I'm rather hopeful that you'll accomplish your goal. Once you're able to typeset something, we'd gladly accept a progress report at TUGboat [0], since this is a topic that lots of people are interested in but very few have accomplished. [0]: https://tug.org/TUGboat/ https://tug.org/TUGboat/