Awesome
LaTeX-rs
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:
- Preamble
- Sections
- Paragraphs
- Align environment and Equations
- Lists (both numbered and not)
- Table of contents, title page, and the
\clearpage
command - Figures
- Tables
- Appendices
- Included PDF files
-
\include{...}
-
\input{...}
- Partial documents
- References and Bibliography
- labels, plus
\ref{...}
for referencing them
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.