[][src]Module tectonic::engines

Access to Tectonic’s processing backends.

These backends subsume the functionality of programs such as bibtex, xetex, and xdvipdfmx. The API for each of these is defined in a sub-module with the corresponding name.

Due to the way Rust's visibility rules work, this module contains a substantial private API that defines the interface between Tectonic's Rust code and the C/C++ code that the backends are (currently) implemented in.

Re-exports

pub use self::bibtex::BibtexEngine;
pub use self::spx2html::Spx2HtmlEngine;
pub use self::tex::TexEngine;
pub use self::xdvipdfmx::XdvipdfmxEngine;

Modules

bibtex
spx2html

Convert Tectonic’s SPX format to HTML

tex
xdvipdfmx

Structs

Diagnostic
ExecutionState

During the execution of a C/C++ engine, an ExecutionState structure holds all of the state relevant on the Rust side of things: I/O, essentially. The methods on ExecutionState pretty much all work to implement for the "bridge" API (C/C++ => Rust) defined below.

NoopIoEventBackend

This struct implements the IoEventBackend trait but does nothing.

TectonicBridgeApi

Traits

IoEventBackend

The IoEventBackend trait allows the program driving the TeX engines to track its input and output access patterns. The CLI program uses this information to intelligently decide when to rerun the TeX engine, to choose which files to actually save to disk, and to emit Makefile rules describing the dependency of the outputs on the inputs.

Functions

diag_append
diag_error_begin
diag_finish
diag_warn_begin
get_data_md5
get_file_md5
input_close
input_get_mtime
input_get_size
input_getc
input_open
input_open_primary
input_read
input_seek
input_ungetc
issue_error
issue_warning
output_close
output_flush
output_open
output_open_stdout
output_putc
output_write