latex

Crates.iolatex
lib.rslatex
version0.3.1
sourcesrc
created_at2017-05-16 13:38:47.398045
updated_at2019-05-20 14:14:33.074194
descriptionAn ergonomic library for programatically generating LaTeX documents and reports.
homepagehttps://github.com/Michael-F-Bryan/latex-rs
repositoryhttps://github.com/Michael-F-Bryan/latex-rs
max_upload_size
id14813
size53,172
rust-devs (github:intility:rust-devs)

documentation

https://docs.rs/latex

README

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:

  • 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.

Commit count: 68

cargo fmt