latex 0.3.1

An ergonomic library for programatically generating LaTeX documents and reports.
Documentation
extern crate latex;

use latex::{print, Document, DocumentClass, Element, Section};

fn create_document() -> Document {
    let mut doc = Document::new(DocumentClass::Article);
    doc.preamble.title("Template document");
    doc.preamble.author("Henrik");

    doc.push(Element::TitlePage).push(Element::ClearPage);
    doc
}

fn create_part_document() -> Document {
    let mut doc = Document::new(DocumentClass::Part);

    let mut section = Section::new("Section 1");
    section.push("Some text which gets included into the main document.");
    doc.push(section);
    doc
}

fn main() {
    let mut template = create_document();
    let mut template2 = template.clone();

    let part = create_part_document();
    println!("{}", print(&part).unwrap());

    template.push(Element::Input("part.tex".into()));
    println!("{}", print(&template).unwrap());

    template2.push_doc(&part);
    println!("{}", print(&template2).unwrap());
}