commit 83c0d25f3aa78583f9882dac914f01f5a083193b Author: Kristofers Solo Date: Fri Jul 25 12:44:15 2025 +0300 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ + diff --git a/main.typ b/main.typ new file mode 100644 index 0000000..e69de29 diff --git a/template.typ b/template.typ new file mode 100644 index 0000000..7fcce91 --- /dev/null +++ b/template.typ @@ -0,0 +1,70 @@ +#let project( + title: "", + abstract: [], + authors: (), + date: none, + logo: none, + body, +) = { + // Set the document's basic properties. + set document(author: authors, title: title) + set page( + margin: (left: 30mm, right: 20mm, top: 20mm, bottom: 20mm), + numbering: "1", + number-align: center, + ) + set text(font: "Libertinus Serif", lang: "lv") + set heading(numbering: "1.1.") + + // Set run-in subheadings, starting at level 3. + show heading: it => { + if it.level > 2 { + parbreak() + text(11pt, style: "italic", weight: "regular", it.body + ".") + } else { + it + } + } + + + // Title page. + // The page can contain a logo if you pass one with `logo: "logo.png"`. + v(0.6fr) + if logo != none { + align(right, image(logo, width: 26%)) + } + v(9.6fr) + + text(1.1em, date) + v(1.2em, weak: true) + text(2em, weight: 700, title) + + // Author information. + pad(top: 0.7em, right: 20%, grid( + columns: (1fr,) * calc.min(3, authors.len()), + gutter: 1em, + ..authors.map(author => align(start, strong(author))), + )) + + v(2.4fr) + pagebreak() + + // Abstract page. + v(1fr) + align(center)[ + #heading(outlined: false, numbering: none, text(0.85em, smallcaps[Abstract])) + #abstract + ] + v(1.618fr) + pagebreak() + + // Table of contents. + outline(depth: 3, indent: true) + pagebreak() + + + // Main body. + set par(justify: true) + + body +}