A library to make simple auto-generated LaTeX files in Rust.
To use RusTeX
, add the crate to your Cargo.toml
.
toml
[dependencies]
rustex = "0.1.0"
The documentation is accessible here.
A full example with the resulting PDF file is accessible in the example folder.
Start by creating a base Document
```rust const DOCUMENTNAME: &str = "generatedtex/main.tex"; const DOCUMENTCLASS: ClassType = ClassType::Report; const FONTSIZE: &str = "12pt";
let docfile: File = File::create(DOCUMENTNAME).unwrap();
let docclass: DocumentClass = DocumentClass::new( DOCUMENTCLASS, vec![FONT_SIZE] );
let mut doc: Document = Document::new(docfile, docclass); ```
Add some Packages
```rust let packages = vec![ Package::new( "babel", vec!["english"] ), Package::new( "geometry", vec!["margin=2.5cm"] ), Package::new( "fontenc", vec!["T1"] ) ];
doc.add_packages(packages); ```
Add some global Commands
```rust let commands = vec![ Command::new(r"\title{Title}"), Command::new(r"\author{Author}"), Command::new(r"\date{YYYY / MM / DD}"), Command::new(r"\setlength{\tabcolsep}{18pt}") ];
doc.addglobalcommands(commands); ```
Then you can add different Items
Item
can be added to a Document
Item
can be added to a Container
Container
is an Item
, so they can be nestedItems
are displayed by order that they have been added
```rust let mut section1: Section = Section::new( "Section", // Section name SectionType::Section, // Section type true, // Display section number "sec1" // Label );
let paragraph1 = Text::new( "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer congue nisi condimentum lacus vulputate cursus. _Curabitur bibendum orci ac nibh vestibulum ultrices. Aenean pulvinar mattis lectus, sed vehicula leo pellentesque eget. Sed sed quam sit amet nulla lacinia mollis. Maecenas dignissim, augue quis suscipit pellentesque, ipsum turpis facilisis eros, eu aliquam erat massa sit amet ex." );
section1.additem(paragraph1); doc.additem(section_1); ```