lahcim8's comments

lahcim8 | 4 years ago | on: Finl is not LaTeX

Thank you for the pointers.

I will try to get involved, unfortunately I won't have much time for it in the near future.

lahcim8 | 4 years ago | on: Finl is not LaTeX

While I think that Tectonic can have benefits for those coming to "TeX", ConTeXt is by all means superior to all other TeXs and even Tectonic.

While at the core there is always a TeX engine (original TeX, pdfTeX, XeTeX, LuaTeX) that provides typesetting primitives, almost everyone uses a macro package on top of that (plain TeX, LaTeX, ConTeXt) and there usually are many extending packages that are either targeted for one format or more of them (e.g. TikZ works in all three, while e.g. beamer is LaTeX specific). For many documents there can also be other external programs involved, e.g. BibTeX for bibliographies.

The idea of LaTeX is that it is a core that provides basic facilities and programmer interface. A lot of essential functionality is then implemented by external packages. Hence, one doesn't usually get away by only installing engine (e.g. XeTeX) and format (LaTeX) to get e.g. XeLaTeX, but needs many other packages, like fontspec (for macro interface of XeTeX's OpenType support). That is why people install distributions, like TeX Live or MikTeX, which provide a way for installing all engines, formats and packages (and other software like BibTeX and specialized TeX editors). Because of the single pass nature of TeX, to get things like forward references in documents right, one needs to process the document multiple times, there are scripts like "latexmk", which can do this automatically (it can even run BibTeX and other external software, the right number of times and in the right order).

In ConTeXt the situation is different. It is not a "minimal" format like LaTeX, but instead has all of the interesting functionality built in and nicely thought out. Also it has its own "distribution" that contains everything needed - the engine, format and even some fonts. While even ConTeXt has to be run multiple times to get references right, normally user doesn't even know about it, because "context" is a symlink to a script that does this automatically. Apart from that ConTeXt is vastly superior to any other TeX (both in engine and format).

Tectonic solves many pain points of XeLaTeX specifically: - no need to install a distribution, all necessary files are downloaded when needed (from standard TeX Live), - runs LaTeX / external programs the right number of times, - nicer command line interface, - AFAIK can be somewhat used programmatically,

But these problems are not present in ConTeXt. And even when comparing Tectonic to full TeX distrbutions, it obviously misses other engines / formats.

All in all: comparing Tectonic and ConTeXt is not straightforward. Both make it easy for users to compile (different kind of) TeX documents. My opinion: If you can use ConTeXt, do it. If you have to use LaTeX and can use modern variant of it, perhaps Tectonic is an easy way that lets you get away from knowing too much about all the internals of TeX, that you don't want to know anyways. (Installing "LaTeX" (and the size of it) is one of the biggest problems I see people have with it, so this easy way of getting started is not to be neglected.)

lahcim8 | 4 years ago | on: Finl is not LaTeX

I too have recently been interested in TeX and Rust. Apart from Tectonic (wrapper around XeTeX and dvipdfmx) and the attempt to rewrite it in Rust (your first link), I also found [1], an attempt to rewrite TeX itself in Rust. I also understand that you are a supporter of the Tectonic in Rust effort, so hopefully you can fill me in on the current progress.

At first I though that just rewriting XeTeX/dvipdfmx in Rust just for sake of being written in Rust was foolish, because of TeX's untypical memory model. Also because of the manual translation using c2rust (also on C code generated from Pascal code that uses a lot of macros).

But after lookin at it now it seems that the rewrite progressed and the result are parts looking very Rusty, which is nice.

I too had ideas about TeX in Rust, but I think that starting with LuaTeX would be much more beneficial. Apart from LuaTeX having obvious support of scripting in Lua and being very extensible, XeTeX has other disadvantages. See for example [2], which still in my opinion misses many internal differences, where LuaTeX is much superior.

Do you have any tips on how to join the Tectonic / TeX in Rust community? Where can I potentially discuss my foolish TeX/Rust ideas, being very new to Rust?

[1] https://github.com/crlf0710/tex-rs [2] https://tex.stackexchange.com/a/593217/125126

lahcim8 | 4 years ago | on: Finl is not LaTeX

Recently I have been also thinking about TeX's internals, also because I feel the pain points you describe in at https://www.finl.xyz/. I have too thought about experimenting with TeX rewrites/alternatives and particularly in Rust.

I don't know if you are aware, but finl has been also submitted to Lobsters (https://lobste.rs/s/udu5oe/finl_is_not_latex_reinventing_lat...). One of the comments mentions SILE (https://sile-typesetter.org/). I looked into it (https://www.youtube.com/watch?v=5BIP_N9qQm4 was nice introduction, although I don't know how up to date it is). It seems to me that SILE replaces many pain points in TeX, while being somewhat close to LuaTeX (and TeX in general), due to use of similiar components (Lua, alogorithms, hyphenation patters, libraries). It even supports "LaTeX" like input syntax, but frankly I don't think that is the part of LaTeX I would keep :).

Can you share your opinion on SILE?

page 1