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

38 releases

0.9.0 Apr 27, 2022
0.8.2 Mar 2, 2022
0.8.1 Feb 28, 2022
0.8.0 Oct 11, 2021
0.1.3 Mar 16, 2017

#151 in Parser implementations

Download history 219/week @ 2022-01-27 241/week @ 2022-02-03 156/week @ 2022-02-10 213/week @ 2022-02-17 348/week @ 2022-02-24 688/week @ 2022-03-03 225/week @ 2022-03-10 444/week @ 2022-03-17 207/week @ 2022-03-24 217/week @ 2022-03-31 168/week @ 2022-04-07 166/week @ 2022-04-14 253/week @ 2022-04-21 609/week @ 2022-04-28 529/week @ 2022-05-05 774/week @ 2022-05-12

2,202 downloads per month
Used in less than 8 crates

MIT license

3.5MB
60K SLoC

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

~20–33MB
~681K SLoC