Live data from Hacker News

Finl is not LaTeX

finl.xyz

21–30 of 47 posts

Re: Finl is not LaTeX

#21
post #9
post #4

I think completing the rewrite[1] of Tectonic[2] (Rust-powered XeTeX) has bigger potential and it's already working in many cases. [1] https://github.com/crlf0710/tectonic [2] https://tectonic-typesetting.github.io/en-US/

My goal with finl is not to re-create TeX but to reimagine it. The macro-oriented programming language is a big pain point, as are the whole concept of category codes. In many instances, LaTeX is still hemmed in by the constraints of ca 1980 computing technology. If you look through tex.web, you'll see things like weird string concatenations that were done in order to save a handful of bytes of memory. It was a radic…

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?

Re: Finl is not LaTeX

#22
Sounds like attempt n+1.

There were so many before (SILE, Patoline, Rinohtype, ...)

Why not just use LuaTeX, either directly with Lua as a typesetting language, or with a custom language transpiling to Lua or compiling to Lua or LuaJIT bytecode?

Here is a solution based on LuaTeX: https://www.speedata.de/en/

Compiling to LuaJIT bytecode is not that difficult (see e.g. https://github.com/rochus-keller/Oberon and https://github.com/rochus-keller/LjTools).

If it's primarily about a better typesetting language based on TeX, then we already have e.g. https://en.wikipedia.org/wiki/ConTeXt.

Re: Finl is not LaTeX

#23
post #15
post #8

Earlier quoted context omitted.

Not exactly. Originally LaTeX3 was going to be a complete rewrite of LaTeX2e. In the last year or so, there was essentially a declaration of surrender and LaTeX2e+expl3/xparse is now LaTeX3 but still called LaTeX2e. There will never be a LaTeX3 exactly. Some issues with LaTeX development are essentially intractable. They're doable in theory (because TeX is Turing complete), but not in practice.

> Some issues with LaTeX development are essentially intractable. Could you perhaps open this claim a little? What's wrong with the L3 programming layer? ( https://www.alanshawn.com/latex3-tutorial/ - Already integrated to the format)

Thanks for sharing this link. Really helpful.

Re: Finl is not LaTeX

#24
post #4

I think completing the rewrite[1] of Tectonic[2] (Rust-powered XeTeX) has bigger potential and it's already working in many cases. [1] https://github.com/crlf0710/tectonic [2] https://tectonic-typesetting.github.io/en-US/

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

Re: Finl is not LaTeX

#26
post #10

Earlier quoted context omitted.

From the blog posts, it looks like they were still deciding what language to write this idea in.

I've decided on Rust. I'm in the midst of a "short story" exploration of Rust and PDF typesetting with a replacement for gftodvi (gftopdf) which, while it will have a potential userbase in the high single digits, gives me a low-risk way to experiment with typesetting to PDF. One of the sub libraries of finl (the charsub module) will be part of this code in the 1.0 release and potentially other sub libraries will be i…

Out of curiousity, did you look at nom at all for parsing?

Re: Finl is not LaTeX

#27
This reminds me of something I have been wondering. If my goal is to programmatically create beautifully typeset documents (on par with modern high quality books or magazines), are there any great options? I don't care about mathematical notation, which is a big focus in LaTeX. Every time I've started going down the LaTeX path, it has felt like I'm swimming upstream by not wanting it to look like a standard CS or math academic paper. There is a very distinct "LaTeX look" that I don't care for.

I want to be able to use any OpenType or Postscript font, tweak leading, kerning, and so on. Basically all of the controls that I could get in InDesign or Quark XPress, but generated by code. Is there a good way to do this?

Re: Finl is not LaTeX

#28
post #24
post #4

I think completing the rewrite[1] of Tectonic[2] (Rust-powered XeTeX) has bigger potential and it's already working in many cases. [1] https://github.com/crlf0710/tectonic [2] https://tectonic-typesetting.github.io/en-US/

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 j…

They have a forum but now discuss the switch to GitHub Discussions[1]. The issue about oxidizing everything is here[2]. If you want to help the project there is a number of issues[3] that can be done, in particular syncronization with the Tectonic mainline and XeTeX code update[4]

[1] https://github.com/tectonic-typesetting/tectonic/issues/766

[2] https://github.com/tectonic-typesetting/tectonic/issues/459

[3] https://github.com/crlf0710/tectonic/issues

[4] https://github.com/crlf0710/tectonic/issues/299

Re: Finl is not LaTeX

#29

> It’s time to separate out the language for formatting the document from the language for writing the document, so, docbook + XSLT? :)

Shudder. Haha. XSLT was actually conceptually a good idea. Just quite hard to read once written in lines and lines of XML. In the 2000s I wrote a web site in mod_perl/Axkit that used XSLT to translate pure XML files into readable XHTML 1.0 for web browsers and WAP (!) for phones.

Re: Finl is not LaTeX

#30
> Imagine if a user of Word could access a plugin that let her type \sum_{i=0}...

MS Word in Office 360 provides direct support for the LaTeX syntax in formulas.

Post reply on HN