Crates.io | latex |
lib.rs | latex |
version | 0.3.1 |
source | src |
created_at | 2017-05-16 13:38:47.398045 |
updated_at | 2019-05-20 14:14:33.074194 |
description | An ergonomic library for programatically generating LaTeX documents and reports. |
homepage | https://github.com/Michael-F-Bryan/latex-rs |
repository | https://github.com/Michael-F-Bryan/latex-rs |
max_upload_size | |
id | 14813 |
size | 53,172 |
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:
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
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.