UnTeX - Parsing and formatting TeX documents with Rust - Looking for help

This page summarizes the projects mentioned and recommended in the original post on /r/rust

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • untex

    Understand and manipulate TeX files with ease

  • Currently, UnTeX is still in beta, and only few commands are implemented. I recommend you read the README or the docs if you are interested in knowing more :-) I think the core foundations are already there.

  • opendetex

    Improved version of Detex - tool for extracting plain text from TeX and LaTeX sources

  • Nonetheless, it lacks a lot of nice tools such as "linters", "formatters", "grammar-checker", "syntax-checker", and so on. I know some tools exist (e.g., opendetex, ChkTeX, ...), but most are very old, or do not provide an API for easily interfacing with other programs.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • tectonic

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

  • How does it compare with Tectonic?

  • texlab

    An implementation of the Language Server Protocol for LaTeX

  • I have a very limited understanding of Parsing but I would assume that Latex Language Servers have to implement similar parsing too? So maybe check out TexLab. It’s implemented in Rust so maybe it’s an interesting reference.

  • tree-sitter-latex

    LaTeX grammar for tree-sitter

  • Another thing that comes to my mind is Tree-sitter. In my understanding it generates syntax trees that can not only be used for syntax highlighting but also for building advanced text manipulation in plug-ins. Maybe it can save you from implementing the parsing in the first place. There is already a Latex-Grammar and a rust create to use treesitter.

  • tree-sitter

    An incremental parsing system for programming tools

  • Another thing that comes to my mind is Tree-sitter. In my understanding it generates syntax trees that can not only be used for syntax highlighting but also for building advanced text manipulation in plug-ins. Maybe it can save you from implementing the parsing in the first place. There is already a Latex-Grammar and a rust create to use treesitter.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts