I’ve been working on this under the radar for a while, but I think it’s progressed far enough where it’s time to start advertising it a bit more widely.
Right now, Tectonic primarily delivers a command-line client that replaces standard TeX engines. Unlike other TeX engines, Tectonic:
- Downloads resource files from the internet on-the-fly, preventing the need for a massive install tree of TeX files
- Automatically and intelligently loops TeX and BibTeX to produce finished documents repeatably
- Has a command-line program that is quiet and never stops to ask for input
- Supports modern OpenType fonts and Unicode
It is delivered as a Rust crate that can be embedded in a variety of other contexts; the Rust API wraps ~120,000 lines of C/C++ code. Tectonic is derived from the XeTeX extension of the standard WEB2C TeX engines. The pre-built bundles of support files are from TeXLive and hosted by JFrog Bintray.
Current areas of work are:
- Reducing the dependence on system libraries to make the code easier to install and more portable
- Gradual refactoring of the backing code to not be such a mess (seriously, you don’t even want to know)
- Adding support for modern HTML output
This last item is something I’ve been working towards for several years. When the pieces come together, I believe that Tectonic will be able to reproducibly typeset technical documents with best-in-the-world output to both PDF and web-browser formats. It will take some time to get there, though.
Here’s the GitHub repo:
Questions and contributions are welcome! I’d love to recruit folks who might be able to contribute to the project in any of a variety of ways. The GitHub issues page is the place to start.