#tex #latex #typesetting #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.

35 releases (7 breaking)

0.8.0 Oct 11, 2021
0.7.1 Jul 4, 2021
0.7.0 Jun 19, 2021
0.4.1 Jan 3, 2021
0.1.3 Mar 16, 2017

#66 in Parser implementations

Download history 1083/week @ 2021-07-02 242/week @ 2021-07-09 247/week @ 2021-07-16 259/week @ 2021-07-23 314/week @ 2021-07-30 238/week @ 2021-08-06 331/week @ 2021-08-13 202/week @ 2021-08-20 224/week @ 2021-08-27 253/week @ 2021-09-03 531/week @ 2021-09-10 358/week @ 2021-09-17 304/week @ 2021-09-24 402/week @ 2021-10-01 572/week @ 2021-10-08 245/week @ 2021-10-15

1,290 downloads per month
Used in 5 crates

MIT license

3.5MB
59K SLoC

C 46K SLoC // 0.0% comments Rust 8K 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

~17–25MB
~548K SLoC