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.
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");
The crate is still incomplete, but the following features are available when
generating your LaTeX
documents:
\clearpage
command\include{...}
\input{...}
\ref{...}
for referencing themThis 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.