Texas

Purpose

This crate does not, in any way, even remotely cover the vast variety of things you can do with latex. Instead, it attempts to provide a friendly API for some of the most basic functions. Furthermore, it does not catch most latex errors.

It's also my first foray into the open-source world, so constructive criticism is welcome and appreciated. https://github.com/Abhay478/Texas/issues

Basics

rust let mut q = File::create("file.tex")?; let doc = document!("book"); write!(q, "{}", doc.to_string())? - The document can be filled with Components, Packages and Commands. They can be created using both functions and macros. - Component is an enum, with each variant containing a separate struct. If a component impls the Populate trait, you can fill it with more Components, then install it in the Document like so:

```rust let mut p1 = part!("one"); p1.attach(chapter!("c1"))? .attach(chapter!("c2"))?; // and so on.

p1.attach_vec(vec![chapter!("c3"); 2])?;

doc.newcomponent(p1); - `Command`s can be created and installed like so: rust doc.newcommand(Command::new("brak", 1, "\ensuremath{\left(#1\right)}")); - And commands can be called in-text like so: rust let mut p1 = section!("one"); p1.attach(command!(doc, "brak", "hello there"))?; - Will add ability to generate stuff like `ensuremath` from code eventually. - Packages can be created and installed like so: rust doc.new_package(package!("parskip", "parfill")); `` - Also has traitOpt, which allows for adding options to a command (likeusepackageanddocumentclass`, for now).

Log