Sile: A Modern Rewrite of TeX

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • KaTeX

    Fast math typesetting for the web.

  • HTML/CSS, with KaTeX loaded to render mathematics using the same notation as (La)TeX.

    https://katex.org

  • MathJax

    Beautiful and accessible math in all browsers

  • 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.

    WorkOS logo
  • sile

    The SILE Typesetter — Simon’s Improved Layout Engine

  • This is the most exciting feature of Sile to me -- since I currently rely on a slow and memory hungry Java toolchain to convert docbook to pdf with fop -- but I just tried it on two docbook documents (a book and also a short article) and it failed to convert both. Apparently the docbook support is currently very incomplete:

    https://github.com/sile-typesetter/sile/issues/1338

  • SATySFi

    A statically-typed, functional typesetting system

  • https://github.com/gfngfn/SATySFi

    SATySFi (pronounced in the same way as the verb “satisfy” in English) is a new typesetting system equipped with a statically-typed, functional programming language. It consists mainly of two “layers” ― the text layer and the program layer. The former is for writing documents in LaTeX-like syntax. The latter, which has OCaml-like syntax, is for defining functions and commands. SATySFi enables you to write documents markuped with flexible commands of your own making. In addition, its informative type error reporting will be a good help to your writing.

    The main problem is that a lot of the documentation is in japanese.

  • axiom

    Axiom is a free, open source computer algebra system (by daly)

  • The literate macro is just standard latex. The command line extraction functions are:

    Lisp program to extract latex chunks: https://github.com/daly/axiom/blob/master/books/tangle.lisp

    C program to extract latex chunks: https://github.com/daly/axiom/blob/master/books/tanglec.c

    Note that the C program is just a hand translation of the Lisp code.

    The lisp code has an explanation and the necessary latex macros. The idea is to scan the latex, find each named code 'chunk', and add each one to a hash table. Then the hash table is scanned to dump the requested chunk to stdout. For example:

    \begin{chunk}{part1}

  • literate-lisp

    Load Common Lisp code blocks from Org files

  • literate-elisp

    Load Emacs Lisp code blocks from Org files

  • 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.

    InfluxDB logo
  • github-orgmode-tests

    This is a test project where you can explore how github interprets Org-mode files

  • You may be interested in using Org [1], in conjunction with literate-lisp [2] (for Common Lisp) and literate-elisp [3] (for Emacs Lisp). Org provides various outlining commands (among other things), letting you view your program at different levels of granularity. literate-lisp/elisp advise the Lisp reader so the Org file can be loaded and/or compiled directly, without requiring tangling. Consequently, tools like xref will jump to the source block in your Org file, rather than the tangled source. I wrote a little hack/guide to extend this to errors raised in Emacs' compilation-mode. [4]

    (Unfortunately, the package that lets each Org source block behave as though it was using the corresponding language's Emacs major mode - poly-org-mode - has a ton of bugs. It was part of why I stopped using literate programming entirely for later projects.)

    [1] https://orgmode.org/

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts