#typesetting #tex #latex #font

bin+lib tectonic

A modernized, complete, embeddable TeX/LaTeX engine. Tectonic is forked from the XeTeX extension to the classic “Web2C” implementation of TeX and uses the TeXLive distribution of support files.

46 releases

0.15.0 Feb 5, 2024
0.14.1 Jun 15, 2023
0.13.1 May 22, 2023
0.12.0 Oct 27, 2022
0.1.3 Mar 16, 2017

#282 in Parser implementations

Download history 71/week @ 2023-12-22 61/week @ 2023-12-29 87/week @ 2024-01-05 98/week @ 2024-01-12 74/week @ 2024-01-19 194/week @ 2024-01-26 270/week @ 2024-02-02 157/week @ 2024-02-09 245/week @ 2024-02-16 378/week @ 2024-02-23 241/week @ 2024-03-01 186/week @ 2024-03-08 185/week @ 2024-03-15 208/week @ 2024-03-22 364/week @ 2024-03-29 239/week @ 2024-04-05

1,020 downloads per month
Used in 20 crates (19 directly)

MIT license

4MB
63K SLoC

C 39K SLoC // 0.0% comments Rust 20K SLoC // 0.1% comments C++ 4.5K SLoC // 0.1% comments Objective-C++ 181 SLoC // 0.2% comments

The Tectonic Typesetting System

The tectonic crate delivers a modernized, complete, self-contained TeX/LaTeX engine, powered by XeTeX and TeXLive. It provides a CLI and ties together the functionality of a large collection of sub-crates.

Building Tectonic

The Tectonic crates collectively depend on a relatively large number of third-party libraries. See the Book’s build instructions for a listing and guidance on setting up the build.

The crate build can be customized with the following Cargo features:

  • external-harfbuzz: build against an external version of the Harfbuzz text shaping library, rather than a vendored version (the default)
  • geturl-curl: use the curl crate to implement HTTP requests. In order for this to take effect, you must use --no-default-features because geturl-reqwest is a default feature and it takes precedence
  • geturl-reqwest: use the reqwest crate to implement HTTP requests (enabled by default)
  • native-tls-vendored: if using reqwest, activate the vendored option in the native-tls crate, causing OpenSSL to be vendored

The Book describes some less-used features and provides a bit more detail.

Sub-crates

The main tectonic crate ties together the functionality of a number of sub-crates:

Dependencies

~34–75MB
~1.5M SLoC