1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
use std::io::Error;
use std::path::PathBuf;

use texcore::Elements;
use texcore::*;

fn main() -> Result<(), Error> {
    let metadata = Metadata::new("Author", "date", "title", 11, "book", true);
    let mut list = ElementList::new(&metadata);
    let part = Part::new("part");
    let chapter = Chapter::new("chapter");
    let header1 = Header::new("header1", 1);
    let header2 = Header::new("header2", 2);
    let text = Text::new("text", TextType::Normal);
    let pkg = Package::new("dramatist");
    list.push_array(Elements![part, chapter, header1, header2, text, pkg]);
    /*
        To compile, use the `compile` feature
        list.compile(PathBuf::from("test.pdf");
        To write to single tex file:
        list.write(PathBuf::from("test.tex"))?;
        To split write Packages and Main file:
        list.write_split(PathBuf::from("main.tex"), PathBuf::from("structure.tex"))?;
        To print:
        list.print_tex();
    */
    Ok(())
}