Michael-F-Bryan / latex-rs

An ergonomic library for programatically generating LaTeX documents and reports.
MIT License
54 stars 16 forks source link

LaTeX-rs

Build Status Crates.io Docs.rs latex-rs on Crates.io Build
status

An ergonomic library for programatically generating LaTeX documents and reports.

This originally came from a desire to create an alternate renderer for mdbook which saves to PDF. I quickly found that I needed a library for programatically generating LaTeX documents from an AST and because there wasn't anything out there which suited my use case, I made my own.

Getting Started

Most of the types used to construct a Document have examples showing how they can be used and roughly what they'll generate, however for a more in-depth example check out the complex example in the examples/ directory.

This is what your typical "Hello World" would look like:

use latex::{Document, DocumentClass, Element};

let mut doc = Document::new(DocumentClass::Article);
doc.push("Hello World");

Features

The crate is still incomplete, but the following features are available when generating your LaTeX documents:

Contributing

This crate is still very young so pull requests and issues are welcome! If you there's something you want then create an issue and I'll try to implement it.