use deckmint::objects::text::{TextOptionsBuilder, TextRunBuilder};
use deckmint::{AlignH, Presentation};
fn main() {
let mut pres = Presentation::new();
pres.title = "Equations Demo".to_string();
let s = pres.add_slide();
s.add_text(
"LaTeX Equations",
TextOptionsBuilder::new()
.bounds(0.5, 0.3, 9.0, 0.8)
.font_size(28.0).bold()
.build(),
);
s.add_equation(
r"x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}",
TextOptionsBuilder::new()
.bounds(1.0, 1.5, 8.0, 1.2)
.font_size(24.0)
.align(AlignH::Center)
.build(),
).unwrap();
s.add_equation(
r"e^{i\pi} + 1 = 0",
TextOptionsBuilder::new()
.bounds(1.0, 3.0, 8.0, 1.0)
.font_size(28.0)
.align(AlignH::Center)
.build(),
).unwrap();
s.add_equation(
r"\sum_{n=1}^{\infty} \frac{1}{n^2} = \frac{\pi^2}{6}",
TextOptionsBuilder::new()
.bounds(1.0, 4.2, 8.0, 1.2)
.font_size(24.0)
.align(AlignH::Center)
.build(),
).unwrap();
let s = pres.add_slide();
s.add_text(
"Inline Equations",
TextOptionsBuilder::new()
.bounds(0.5, 0.3, 9.0, 0.8)
.font_size(28.0).bold()
.build(),
);
s.add_text_with_math(
r"The area of a circle is $A = \pi r^2$ where $r$ is the radius.",
TextOptionsBuilder::new()
.bounds(0.5, 1.5, 9.0, 1.0)
.font_size(18.0)
.build(),
).unwrap();
s.add_text_with_math(
r"Einstein showed that $E = mc^2$, relating energy and mass.",
TextOptionsBuilder::new()
.bounds(0.5, 2.8, 9.0, 1.0)
.font_size(18.0)
.build(),
).unwrap();
s.add_text_with_math(
r"If $a = 5$ and $b = 3$, then $a^2 + b^2 = 34$.",
TextOptionsBuilder::new()
.bounds(0.5, 4.0, 9.0, 1.0)
.font_size(18.0)
.build(),
).unwrap();
let s = pres.add_slide();
s.add_text(
"Equation Runs via Builder",
TextOptionsBuilder::new()
.bounds(0.5, 0.3, 9.0, 0.8)
.font_size(28.0).bold()
.build(),
);
s.add_text_runs(
vec![
TextRunBuilder::new("The integral ").font_size(18.0).build(),
TextRunBuilder::equation(r"\int_0^1 x^2 \, dx = \frac{1}{3}").unwrap().build(),
TextRunBuilder::new(" is a classic result.").font_size(18.0).build(),
],
TextOptionsBuilder::new()
.bounds(0.5, 1.5, 9.0, 1.0)
.build(),
);
s.add_equation(
r"A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}",
TextOptionsBuilder::new()
.bounds(1.0, 3.0, 8.0, 1.5)
.font_size(24.0)
.align(AlignH::Center)
.build(),
).unwrap();
pres.write_to_file("11_equations.pptx").unwrap();
println!("Wrote 11_equations.pptx");
}