Crate tectonic [] [src]

Tectonic is a complete TeX/LaTeX engine converted into a standalone library. It is derived from the XeTeX variant of TeX and uses the support files packages by the TeX Live project. Tectonic would not be possible without the hard work that has gone into these projects.

Because Tectonic is based on the XeTeX engine, it can take advantage of the features of modern fonts (TrueType, OpenType, etc.), outputs directly to the PDF file format, and supports Unicode inputs. Tectonic differs from other TeX engines in the following ways:

  • Dependencies on environment variables and configuration files have been eliminated.
  • All I/O is routed through pluggable backends. Support data can be fetched from a single “bundle” file, and the engine’s (copious) output can be hidden or postprocessed.
  • The command-line frontend, tectonic, has a modernized user interface that never asks for user input.
  • The frontend is just a thin shim over the Tectonic Rust crate, so that the full engine can be embedded anywhere you can run Rust code.

Rust API documentation for Tectonic is currently very incomplete. As a stopgap, please see the source to the CLI frontend for a demonstration of how to run the engine.

Reexports

pub use engines::tex::TexEngine;
pub use engines::tex::TexResult;
pub use engines::xdvipdfmx::XdvipdfmxEngine;
pub use engines::bibtex::BibtexEngine;
pub use errors::Error;
pub use errors::ErrorKind;
pub use errors::Result;

Modules

config
digest

This module just have a few helpers to tidy up the computation of digests in various places.

engines

The Engines module provides access to the various processing backends used by Tectonic: bibtex, TeX, and xdvipdfmx. The API for each of these is defined in a sub-module with the corresponding name.

errors
io
status

Macros

ctry
tt_error
tt_error_styled
tt_note
tt_note_styled
tt_warning