Code Monkey home page Code Monkey logo

tectonic's Introduction

Tectonic

Tectonic is a modernized, complete, self-contained TeX/LaTeX engine, powered by XeTeX and TeXLive.

Read this first

You should probably click through to the main Tectonic website. This page is just a quick reference for Tectonic developers.

Developer dashboard

Build Status codecov Packaging status

The “reference sources”

Much of the core code of Tectonic is derived from XeTeX, and we strive to track and maintain compatibility with upstream as much as possible. However, the nature of the Tectonic project is such that its source code is going to diverge from that of XeTeX over time. We can do our best to track the semantics of changes to XeTeX, but the expression of those changes in source form may well change greatly over time.

In this repository, the Git submodule reference_sources links to the “staging repository” that tracks the XeTeX source code that we use as a reference. In particular, the version of the reference code in the submodule is the most recent code whose semantics are guaranteed to be expressed in Tectonic, to the best of our efforts. You don’t need to clone reference_sources to build Tectonic (which is good because everyone is always super confused by how Git submodules work!). It just provides a convenient way for Git to track the exact reference code that we are using at any given time.

Please see the tectonic-staging README for more information. (Or at least, more words on the topic.)

Features

The Tectonic build can be customized with the following features:

serialization (enabled by default)

This feature enables (de)serialization using the serde crate. At the moment, this is only used to read per-user configuration from a TOML file. If this feature is disabled, the per-user configuration file will be silently ignored.

This functionality is optional because it requires the serde_derive crate, which in turn uses Rust’s proc_macro feature. The proc_macro functionality is not available on musl targets, and so must be turned off if you wish to build a completely static Tectonic executable.

tectonic's People

Contributors

pkgw avatar mrmaxmeier avatar dependabot-support avatar ronnychevalier avatar spl avatar rekka avatar dependabot-preview[bot] avatar alexander-bauer avatar eflanagan0 avatar h4llow3en avatar mrshu avatar malbarbo avatar jneem avatar crlf0710 avatar ratmice avatar jtojnar avatar mcgoo avatar das-g avatar tani avatar newpavlov avatar cyplo avatar polyzen avatar musoke avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.