Tectonic Documentation

repository·master·Indexed 26 days ago

https://github.com/tectonic-typesetting/tectonic

A modernized, self-contained TeX/LaTeX engine powered by XeTeX and TeXLive that automatically manages dependencies. This documentation covers the creation and configuration of Tectonic bundles via bundle.toml, including directory and tarball inputs, patch application, and search order rules. It also provides integration guides for various bridge crates (tectonic_bridge_core, flate, fontconfig, freetype2, graphite2, and harfbuzz) used to expose C APIs within the Rust/Cargo build framework.

Tokens
39.5K
Snippets
93
Records
306
Agent score
87%

What's inside Tectonic

  1. Overview of the Tectonic typesetting system

    master

    Tectonic is a modernized, self-contained typesetting system designed to empower users to create high-quality technical documents (such as scientific papers, software manuals, and analytical reports).

    At its core, Tectonic uses a complete engine powered by XeTeX and TeXLive, providing unparalleled mathematical typesetting, rich content support (figures, tables, code), and deep cross-referencing capabilities. Unlike traditional TeX distributions that rely on a complex tree of thousands of local support files, Tectonic is designed to be self-contained and reproducible.

  2. Overview of the `tectonic_dep_support` crate

    master

    The tectonic_dep_support crate provides build-time utilities for locating external library dependencies. It is designed to facilitate the Tectonic build process by supporting two primary backends for dependency discovery:

    • pkg-config: Used for finding libraries on Unix-like systems.
    • vcpkg: Used for finding libraries on Windows or via the vcpkg package manager.

    This crate abstracts the complexities of dependency detection to enable a consistent build environment for Tectonic.

  3. Key features and goals of Tectonic

    master

    Tectonic aims to improve upon the classic TeX ecosystem through four primary focus areas:

    • User Experience (UX): Improving error messages and diagnostic output to be more intuitive for modern users, even if it requires breaking compatibility with classic TeX.
    • Embeddability: Providing the engine as a reusable software library that is easy to embed within other software systems, moving away from the traditional suite of interacting command-line programs.
    • Reproducibility: Enabling easy, byte-for-byte reproducible document builds.
    • Web Output: Optimizing the core engine to produce high-quality technical documents for modern Web browsers and displays.